用户账户管理:
账户创建
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的起始群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
/bin/false是最严格的禁止login选项,一切服务都不能用,而/sbin/nologin只是不允许系统login,可以使用其他ftp等服务
如果想要用false在禁止login的同时允许ftp,则必须在/etc/shells里增加一行/bin/false。
使用-d参数指定用户家目录时该路径需事先存在且只能指定到其上一级目录,否则无法拷贝skel模版,
系统添加用户的标准步骤
1.编辑/etc/passwd与/etc/group
2.创建用户主目录
3.从/etc/skel拷贝文件与目录
4.让新用户获得其主目录与文件的拥有权限
5.给新用户一个密码
[root@justin ~]# cat /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes [root@justin ~]# ls -a /etc/skel/ . .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla [root@justin ~]#
[root@justin ~]# useradd -d /usr/home/ jerry useradd: warning: the home directory already exists. Not copying any file from skel directory into it. [root@justin ~]# cd /etc/skel/ [root@justin skel]# cp bash_logout .bash_profile .bashrc /usr/home/jerry
用户密码设定:
说明:通过useradd命令新添加的用户账号,还必须为其设置一个密码才能用来登录Linux系统。Linux系统对密码要求非常严格,要求密码应符合下列规则:
a.密码不能与用户账号相同
b.密码长度最好在8位以上
c.密码最好不要使用字典里面出现的单词或一些相近的词汇,如Passw0rd等。
d.密码最好要包含英文大小写、数字、符号这些字符。
当以root用户的身份为普通用户设置密码时,密码即使不符合规则要求,也可以设置成功。但如果是普通用户修改自己的密码,则必须要符合规则要求。
密码时效管理-----修改帐号和密码的有效期限
chage命令是用来修改帐号和密码的有效期限
语法:chage [选项] 用户名
选项:
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
[root@Super ~]# chage -l justin Last password change : May 26, 2018 #最近一次密码修改时间 Password expires : never #密码过期时间 Password inactive : never #密码失效时间 Account expires : never #帐户过期时间 Minimum number of days between password change : 0 #两次改变密码之间相距的最小天数 Maximum number of days between password change : 99999 #两次改变密码之间相距的最大天数 Number of days of warning before password expires : 7 #在密码过期之前警告的天数 [root@Super ~]#
用户帐号删除
一般情况下,普通用户只对自己的主目录拥有写权限,所以用户的相关文件一般也都是存放在主目录里。多数情况下,我们都希望在删除一个用户账号时,能将他的所有相关文件一并删除,这时就需要使用-r选项,将用户账号连同主目录一起删除。
账户属性修改
对于系统中已经存在的用户账号,可以使用usermod命令重新设置各种属性。
上图首列错误,应该为usermod
改变我们也可以通过
[root@localhost ~]# chsh jack -s /sbin/nologin
添加多个附加组需要添加参数-a,否则替换原来的组加组:[root@justin ~]# usermod -aG Jerry study3
newgrp--普通用户临时修改默认组
[Tom@justin ~]$ id uid=503(Tom) gid=503(Tom) groups=503(Tom),504(Jerry),505(Marry) [Tom@justin ~]$ newgrp Jerry [Tom@justin ~]$ id uid=503(Tom) gid=504(Jerry) groups=503(Tom),504(Jerry),505(Marry) [Tom@justin ~]$
只能在所属组间切换,无法修改为其他组
用户组管理
创建组帐号
删除组帐号
若删除群组为某些用户的基本组,则必须先删除这些用户后,方能删除群组。
[root@justin ~]# id study uid=520(study) gid=520(study) 组=520(study) [root@justin ~]# gpasswd -a study g1 Adding user study to group g1 [root@justin ~]# grep g1 /etc/group g1:x:526:study [root@justin ~]# groupdel g1 [root@justin ~]# grep g1 /etc/group [root@justin ~]# groupadd g1 [root@justin ~]# usermod -g g1 study [root@justin ~]# id study uid=520(study) gid=524(g1) 组=524(g1) [root@justin ~]# groupdel g1 groupdel: cannot remove the primary group of user 'study' [root@justin ~]#
添加、删除组成员
组帐号属性更改
[root@justin ~]# groupmod --help Usage: groupmod [options] GROUP Options: -g, --gid GID change the group ID to GID -h, --help display this help message and exit -n, --new-name NEW_GROUP change the name to NEW_GROUP -o, --non-unique allow to use a duplicate (non-unique) GID -p, --password PASSWORD change the password to this (encrypted) PASSWORD
用户账号所属的组查看
[root@justin ~]# groups root [root@justin ~]# usermod -G g1 study [root@justin ~]# groups study study : study g1 [root@justin ~]# usermod -G g2 study [root@justin ~]# groups study study : study g2 [root@justin ~]# usermod -a -G g1 study [root@justin ~]# groups study study : study g1 g2