Linux用户管理

系统用户账号的管理

添加用户

1
# useradd <选项> 用户名  	#添加新的用户账号

-c comment 指定一段用户注释性描述。
-d 目录,指定用户主目录,如果此目录不存在,则同时配合使用
-m 选项,可以自动创建主目录。
-g 用户组,指定用户所属的用户组(主组)。
-G 用户组,指定用户所属的附加组(可指定多个,当然并不建议太多个)。
-s Shell 文件,指定用户的登录 Shell。默认是 /bin/bash,注意 /bin/bash 不等于是 /bin/sh。
-u 用户号,指定用户的用户号,如果同时有
-o 选项,则可以重复使用其它用户的标识

删除用户

1
2
# userdel 用户名		#删除用户
# userdel -r 用户名 #把用户的主目录一起删除

修改账号

1
# usermod <选项> 用户名 		#修改已有用户的信息

修改用户口令

1
# passwd <选项> 用户名

-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令,即清除密码(设置空密码)
-f 强迫用户下次登录时修改口令

系统用户组的管理

增加用户组

1
# groupadd <选项> 用户组

-g GID 指定新用户组的组标识号(GID)。
-o 一般与 -g 选项同时使用,表示新用户组的 GID 可以与系统已有用户组的 GID相同。

删除用户组

1
# groupdel 用户组

修改用户组

1
# groupmod <选项> 用户组

-g GID 为用户组指定新的组标识号。
-o 与 -g 选项同时使用,用户组的新 GID 可以与系统已有用户组的 GID 相同。
-n 新用户组,将用户组的名字改为新名字

切换用户组

1
# newgrp 用户组

与用户账号有关的系统文件

/etc/passwd

1
2
# cat /etc/passwd
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell

/etc/shadow

/etc/shadow 中的记录行与 /etc/passwd 中的一一对应,它由 pwconv 命令根据/etc/passwd 中的数据自动产生。它的文件格式与 /etc/passwd 类似,由若干个字段组成,字段之间用”:”隔开。这些字
段是:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
“口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合 { ./0-9A-Za-z }中的字符,则对应的用户不能登录。
“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCO Linux 中,这个时间起点是1970年1月1日。
“最小时间间隔”指的是两次修改口令之间所需的最小天数。
“最大时间间隔”指的是口令保持有效的最大天数。
“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了

/etc/group

用户组的所有信息都存放在 /etc/group 文件中。此文件的格式也类似于 /etc/passwd文件,由冒号(:)隔开若干个字段,这些字段有:
组名:口令:组标识号:组内用户列表

“组名”是用户组的名称,由字母或数字构成。与 /etc/passwd 中的登录名一样,组名不应重复。
“口令”字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。”组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组。
“组内用户列表”是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组

Knowledge is priceless, thanks for your support !