LINUX帐号管理命令简介


###/etc/passwd
##root:x:0:0:root:/root:/bin/bash
##帐号名称:密码:UID:GID:使用者信息说明栏:用户主目录:Shell
###/etc/shadow
##root:$1%……:15123:0:99999:7:::
##帐号名称:密码:最近更改密码的日期:密码不可被更动的天数:密码需要重新变更的天数:密码需要变更期限前的警告天数(1:密码过期后的帐号宽限时间(2:帐号失效日期(3:保留
##1):与第5字段相比,当几帐号的密码有效期限快要到的时候(第5字段),系统会依据这个字段的设定,发出警告给这个帐号,提醒他再过n天你的密码就要过期了,请尽快得新设定上你的密码!
##2):与第5字段相比,密码有效日期为[更新日期]+[重新变更日期],过了该期限后使用者依旧没有更新密码,那么该密码就算过期了。虽然密码过期但是该帐号还是可以用来进行其它工作的,包括登入系统取得bash。不过如果密码过期了,那当你登入系统时,系统会强制要求你必须要重新设定密码才能登入继续使用。如果在密码过期几天后,如果使用者还是没有登入更改密码,那么这个帐号的密码将会失效,变取出该帐号再也无不支使用该密码登入了。
##3):帐号失效日期:这个日期跟第三个字段一样,都是使用1970年以来的总日数设定,这个字段表示,这个帐号在此字段规定的日期之后,就无法再使用。
###/etc/group
##root:x:0:root
##群组名称:群组密码:GID:此群组支持的帐号名称
###有效群组(effective group)与初始群组(initial group)
##groups->查看用记所属的组,并且最先输出的为有效群组
##有效群组的切换--newgrp
##newgrp 所要切换并且支持的群组
###/etc/gshadow(群组管理员)
##root:::root
##群组名称:密码栏:群组管理员的帐号:该群组的所属帐号
###useradd
##useradd [-u UID] [-g 初始群组] [-G 次要群组] [-mM] [-c 说明栏] [-d 家目录绝对路径] [-s shell] 使用者几点号名
#* -M:强制!不要建立使用者家目录!(一般系统帐事号默认值)
#* -m:强制!要建立使用者家目录!(一般帐号默认值)
#* -r:建立一个系统的帐号,这个几点号的UID 会用限制
#* -e:后面接一个日期,格式为[YYYY-MM-DD]此项目可写入shadow第八字段,亦即帐号失效日的设定项目啰
#* -f:后面接shadow的第七字段项目,指定密码是否会失效。0为立刻失效
#* -D:显示useradd使用的默认值(保存在/etc/default/useradd下)
 内容如下:GROUP=100 <=预设的群组
  HOME=/home <=预设的家目录所在目录
  INACTIVE=-1 <=密码失效日,在shadow内的第七栏
  EXPIRE= <=账号失效日,在shadow内的第八栏
  SHELL=/bin/bash
  SKEL=/etc/skel <=使用者家目录的内容数据参考目录
  CREATE MAIL_SPOOL=yes <=是否主动帮使用者建立邮件信箱
 注:INACTIVE:如果是0代表密码过期立刻失效,如果是-1则代表密码永远不会失效,如果是数字,如30,则代表过期30天后夫失效
     SKEL=/etc/skel使用者目录参考基准目录
#* /etc/login.defs
###passwd
##passwd [-l] [-u] [--sdtin] [-S] [-n 日数] [-x 日数] [-w 日数] [-i 日期]  帐号
##* --stdin:可以透过来自前一个管线的数据,作为密码输入,对shell script  有帮助!
##* -l:是Lock的意思,会将/etc/shadow第二栏最前面加上!使密码失效
##* -u:与-l相对,是Unlock的意思!
##* -S:列出密码相关参数,变即shadow档案内的大部们信息
##* -n:后面接天数,shadow的第4字段,多久不可修改密码天数
##* -x:后面接天数,shadow的第5字段,多久内必须要更动密码
##* -w:后面接天数,shadow的第6字段,密码过期前的警告天数
##* -i:后面接日期,shadow的第7字段,密码换效日期
##*  echo "abc543CC" | passwd --stdin vbird2
 这个动作会直接更新使用者的密码而不用再次的手动输入!好处是方便处理,缺点是这个密码会保留在指令中,未来若系统被攻破,就可以在/root/.bash_history找到这个密码!所以这个动作通常公用在shell script的大量建立使用者帐号当中!
#####更详细的密码参数显示功能chage [-ldEImMW] 帐号名
## -l:列出该帐号的详细密码参数
## -d:后面接日期,修改shadow第三字段(最近一次更改密码的日期),格式YYYY-MM-DD
## -E:后面接日期,修改shadow第八字段(帐号失效日),格式YYYY-MMM-DD
## -I:后面接天数,修改shadow第七字段(密码失效日期)
## -m:后面接天数,修改shadow第四字段(密码最短保留天数)
## -M:后面接天数,修改shadow第五字段(密码多久需要进行变更)
## -W:后面接天数,修改shadow第六字段(密码过期前警告日期)
####usermod [-cdegGlsuLU] username
## -c:后面接帐号的说明,即/etc/passwd第五栏的说明栏,可以加入一些帐号的说明
## -d:后面接帐号的家目录,即修改/etc/passwd的第六栏
## -e:后面接日期,格式是YYYY-MM-DD也就是在/etc/shadow内的第八个字段数据啦!
## -f:后面接天数,为shadow的第七字段
## -g:后面接初始群组
## -G:后面接次要群组,修改这个使用者能够支持的群组,修改的是/etc/group啰
## -a:与-G合用,可[增加次要群组的支持]而非[设定]喔!
## -l:后面接帐号名称,变即是修改帐号的名称
## -s:后面接Shell的实际档案,使如/bin/bash或/bin/csh
## -u:后面接UID数字啦!即/etc/passwd第三栏的资料
## -L:暂时将使用者的密码冻结,让他无法登入。
## -U:恢复使用者的密码
***chown -R 是使边同目录下的所有文件的使用者/群组属性都一起变更的意思
####userdel
#使用者的数据有:使用者帐号/密码相关参数:/etc/passwd,/etc/shadow
         使用者群组相关参数:/etc/group,/etc/gshadow
  使用者个人档案数据:/home/username,/var/spool/mail/username
## userdel [-r] username
## -r:连同使用者的家目录也一起删除
###############普通用户使用的帐号指令
###finger可以查阅很多使用者相关的信息,大部分是在/etc/passwd这个档案里的
##finger [-s] username
#* -s:仅列出使用者的帐号、全名、终端机代号与登入时间等等
#* -m:列出与后面接的几点号相同者,而不是得用部分比对
###chfn 有点像 change finger的意思!
##chfn [-foph] [帐号名]
#* -f:后面接完整的大名
#* -o:你办公室的房间号码
#* -p:办公室的电话号话
#* -h:家里的电话号码
###chsh 也就是change shell的简写
##chsh [-ls]
#* -l:列出目前系统上面可用的shell,其实就是/etc/shells的内容
#* —s:设定修改自己的Shell
########群组
###groupadd
##groupadd [-g gid] [-r] 群组名称
#* -g:后面接某个特定的GID,用来直接给予某个GID
#* -r:建立系统群组与/etc/login.defs内的GID_MIN有关
#* 修改/etc/group;/etc/gshadow
###groupmod
##groupmod [-g gid] [-n group_name] 群组名
###groupdel 群组名
###gpasswd群组管理员功能
#如果系统管理员太忙碌了,导致某些帐号想要加入某个项目时找不到人帮忙!这个时候可以建立[群组管理员]!群组管理员就是让某个群组具有一个管理员,这个群级管理员可以管理哪些号可以加入/移出该群组!
##gpasswd groupname:表示给予groupname一个密码/etc/gshadow
##gpasswd [-A user……][-M user3,……] groupname
#* -A:将groupname的主控权交由后面的使用者管理
#* -M:将某些几点号加入这个群组当中!
##gpasswd [-rR] groupname
#* -r:将groupname的密码移除
#* -R:将groupname的密码失效,所以newgrp就不能使用了
##群组管理员可以如下使用
##gpasswd [-ad] user groupname
#* -a:将某位使用者加入到groupname这个群组当中
#* -d:将某位使用者移除出groupname这个群组当中
###########使用者身分切换
### su [-lm] [-c 指令] [username]
#* - :单纯使用 - 代表使用login-shell的变量档案读取方式来登入系统;若使用者名称没有加上去,则代表切换为root的身份
#* -l:与-类似,但后面需要加欲切换的使用者帐号!也是login-shell的方式
#* -m:-m与-p是一样的, 表示[使用目前的环境设定,而不读取新使用者的设定档]
#* -c:仅进行一次指令,所以-c后面可以加上指令
###sudo [-b] [-u 新使用者帐号]
#* -b:将后续的指令放到背景中让系统自行执行,而不与目录的shell产生影响
#* -u:后面可以接欲切换的使用者,或无此项则代表切换身份为root
###########visudo 与/etc/sudoers
## root ALL=(ALL) ALL
##使用者帐号 登入者的来源主机名称=(可切换的身份) 可下达的指令
##%wheel ALL=(ALL) ALL
##在最左边加上%,代表后面接的一个[群组之意]
##%wheel ALL=(ALL) NOPASSWD:ALL
##表示在使用sudo时不需要输入密码
####/sbin/nologin
###通过编辑/etc/nologin.txt来设置当/sbin/nologin用户登陆时的提示

############PAM模块
###/etc/pam.d/passwd
# auth  include  system-auth
# account include system-auth
# password include system-auth
# 验证类别 控制标准 PAM模块与该模块的参数
###include 表示请呼叫后面的档案来作为这个类别的难证,所以上述的每一行都要重复呼叫/etc/pam.d/system-auth那个档案来进行验证
###难证类别:
#auth是authentication的缩写,所以这种类虽主要用来检验使用者的身份验证,这种类别通常是需要密码来检验的,所以后续接的模块是用来检验使用者的身份
#account则大部分是在进行authorization(授权),这种类虽则主要在检验使用者是否具有正确的命名用权限
#session是会议期间的意思,所以session管理的就是使用者在这次登入期间,PAM所给予的环境设定。这个类别通常用在记录使用者登入与注销时的信息!
#password!这种类别主要在提供验证的修订工作,举例来说,就是修改/变更密码啦
####第二字段验证的控制旗标(control flag)
#reuqired:此验证若成功则带有success的标志,若失败则带有failure的标志,但不论成功或失败都会继续后续的验证流程。由于后续的难流程可以继续进行,因此相当有得于资料的登录,这也是PAM最常用required的原因
#requisite:若验证失败则立刻回报原程序failure的标志,并终止后续的验证流程。若验证成功则带有success的标志并继续后续的验证流程。这个项目与required最大的差异,就在于失败的时候还要不要继续验证下去。由于##requisite是失败就终止,因此失败时所产生的PAM信息就无法透过后续的模块来记录
#sufficient:若验证成功就立刻回传success给原程序,并终止后续的验证流程:若验证失败则带有failure标志并继续后续的验证流程。这与requisits刚好相反
#optional:这个模块控件大多是在显示讯息而已,并不是用在验证方面的
#####查询使用者
##w who
##last
##lastlog查看每个几点号的最近登入的时音/var/log/lastlog
#####使用者对谈
#write 使用者帐号 [使用者所在终端接口]
#mesg n拒绝接受信息,但不能拒绝root
#mesg y允许接受信息
#wall "string" 对所有系统上面的使用者传送简讯
#####帐号检查工具
##pwck:这个指令在检查/etc/passwd这个帐号设定文件内的信息,与实际的家目录是否存在等信处,还可以比对/etc/passwd /etc/shadow的信息是否一致
##grpck:相应的群组检查命
本文出自 “lopnxrp” 博客

相关内容

    暂无相关文章