用于用户管理的命令主要有:
useradd、usermod、userdel、passwd、su、whoami和id等。
Linux管理员管理用户帐号时主要完成三种基本工作,即合理、有效、安全地新建、删除和管理用户。本节着重讲述命令行的shell操作。
1.useradd命令
格式: useradd [选项] <用户名>
功能:新建用户账号,只有超级用户才有使用此命令的权限。
选项:
-u 用户ID 指定用户UID
-g 组ID或组名 指定新用户的主组
-G 组ID或组名 指定新用户的附加组
-d 主目录 指定新用户的主目录
-s 登录shell 指定新用户使用的shell,默认为/bin/bash
-e 有效期限 指定用户的登录失效时间,例如:11/30/2012
-f 缓冲天数:设置在密码过期后多少天关闭该帐号
-c 备注 为账户加上备注
-m 默认主目录 自动创建与用户名同名目录
-n 取消建立以用户名称为名的组
-r 建立系统帐号
注意:由于新增加的用户还未设置密码,因此还不能使用该用户的帐号登录系统。
2. passwd命令
格式: passwd [选项] [用户名]
功能:设置、修改用户的口令以及口令的属性
选项:
-d (delete) 删除用户的口令,则该用户账号无需口令即可登录。
-l (lock) 锁住口令。
-u (unlock) 恢复禁用用户账号。
-S (status) 显示指定用户账号的状态
注意:系统管理员可以设置所有用户的密码,普通用户只能修改自己的密码。
3.usermod命令
格式:usermod [选项] <用户名>
功能:修改用户的属性信息,只有超级用户才可以使用该命令。
选项:
-g 组ID或组名 指定新用户的主组
-G 组ID或组名 指定新用户的附加组
-d 主目录 指定新用户的主目录
-s 登录shell 指定新用户使用的shell,默认为bash
-e 有效期限 指定用户的登录失效时间
-u 用户ID 指定用户UID
-c 全名 指定用户全称
-f 缓冲天数 指定口令过期后多久将关闭此账号
-l 用户名 指定用户的新名称
-L 用户名 锁定用户密码,使密码无效
-U 用户名 解除密码锁定。
注意:usermod命令与useradd命令的区别在于 usermod命令可以修改用户名且在禁用和恢复账号功能上,命令usermod不等同于 passwd。
4.userdel命令
格式:userdel [选项] <用户名>
功能:删除指定的用户账号,只有超级用户才能使用该命令。
选项:
-r 用于删除用户的Home目录和邮件
-f 强制删除用户登录目录及目录中的所有文件
注意:正在使用系统的用户不能被删除,必须先终 止该用户的所有进程才能删除该用户。
5.成批添加用户:newusers
第一步:先建立文本文件:n_user.txt
201200824101:student:1101:1101:lining:/home/201200824101:/bin/bash
201200824102:student:1102:1102:chenmeng:/home/201200824102:/bin/bash
201200824103:student:1103:1103:niuliyue:/home/201800824103:/bin/bash
201200824104:student:1104:1104:zhengzhenzhen:/home/201200824104:/bin/bash
第二步:执行命令newusers n_user.txt
6.成批修改口令:chpasswd(该命令在CentOS 7.3下不生效,在CentOS 8.1下生效)
第一步:先建立文本文件:n_uspw.txt
201200824101:824101
201200824102:824102
201200824103:824103
201200824104:824104
第二步:执行命令chpasswd<n_uspw.txt
7.其他的shell命令
1)id命令
格式:id [选项] [用户名]
功能:查看一个用户的UID和GID
选项:
-g 显示用户的主组的GID
-G 显示用户所有组的GID
-u 只显示UID
2 )whoami命令
格式:whoami
功能:用于显示当前用户的名称。
3)su命令
格式:su [-] [用户名]
功能:转换当前用户到指定的用户账号。
选项:
- 在转换当前用户的同时转换用户工作环境;
用户名 若不指定用户名则转换当前用户到 root。