目录
用户
种类
- 超级管理员: 拥有最高权限的账户(默认叫做root)
- 普通用户: 权限受限的用户 可以正常登录
- 系统用户:系统账号默认不允许登录
用户组
种类
- 基本组: 一个用户一定要有一个基本组 ,且只有一个
- 附加组: 一个用户可以没有附加组,一个用户可以有多个附加组
用户账号管理
用户账号的管理工作主要涉及到用户账号的添加、修改和删除。
/etc/passwd
存放用户信息
行内字段含义:
[root@localhost ~]# head -n1 /etc/passwd //查看passwd文件头1行
root:x:0:0:root:/root:/bin/bash
复制代码
冒号(:)作为分隔符,将每行分为了7段
- 第一字段:用户名
- 第二字段:密码占位符
- 第三字段:uid
- 第四字段:组id
- 第五字段:备注信息
- 第六字段:家目录位置
- 第七字段:默认shell程序
添加用户 useradd
格式:
useradd [选项].... 用户名
选项
选项 | 说明 |
---|---|
-u | 指定用户的UID,要求该UID未被其他用户使用 |
-d | 指定用户的家目录 |
-e | 指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式 |
-g | 指定用户的基本组 |
-G | 指定用户的附加组 |
-M | 不建立家目录 |
-s | 指定用户的登录shell |
-r | 建立系统用户 |
示例
-u 指定用户的UID
[root@localhost ~]# useradd -u 2000 pp //添加pp用户,并指定UID为2000
[root@localhost ~]# tail -n1 /etc/passwd //查看passwd中pp的信息
pp:x:2000:2000::/home/pp:/bin/bash
-d 指定用户的家目录
[root@localhost ~]# useradd -d /home/test/ 111 //创建用户,并指定家目录
[root@localhost ~]# tail -n1 /etc/passwd
111:x:2001:2001::/home/test/:/bin/bash
-g 指定用户基本组
[root@localhost ~]# useradd -g cs 333 //创建用户并指定用户基本组为cs组
[root@localhost ~]# id 333 //查看用户信息,基本组为cs组
uid=2003(333) gid=1000(cs) 组=1000(cs)
-G 指定用户附加组
[root@localhost ~]# useradd -G cs 444 //创建用户并指定用户附加组为cs组
[root@localhost ~]# id 444 //查看用户信息,附加组为cs组
uid=2004(444) gid=2004(444) 组=2004(444),1000(cs)
-M 不建立家目录
[root@localhost ~]# useradd -M 555 //创建用户且不建立家目录
[root@localhost ~]# ls /home/ //查看/home下没有user08的目录
222 333 444 cs pp test
-s 指定用户的登录shell
[root@localhost ~]# useradd -s /sbin/nologin apache //创建用户并指定登录shell为/sbin/nologin,该用户无法登录系统
[root@localhost ~]# tail -n1 /etc/passwd
apache:x:2006:2006::/home/apache:/sbin/nologin
修改密码 passwd
root用户可以指定用户名作为参数,对指定账号的密码进行管理。不指定用户名时,修改当前账号的密码。
普通用户只能执行单独的passwd命令修改自己的密码。
格式
passwd 用户名
选项
选项 | 作用 |
---|---|
-d | 清空指定用户的密码,无需使用密码直接登录 |
-l | 锁定用户密码, 不让登录 |
-u | 解锁用户密码 |
-S | 查看用户账户的状态(是否被锁定) |
示例:
设置或修改用户密码
[root@localhost ~]# passwd pp
更改用户 pp 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
-d 清除用户密码,使用用户名可直接登录
[root@localhost ~]# passwd -d pp //清除nancy用户的密码
清除用户的密码 pp。
passwd: 操作成功
锁定和解锁用户
[root@localhost ~]# passwd -l pp //锁定用户密码,锁定后用户无法登陆
锁定用户 pp 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -u pp //解锁用户,因pp无密码,系统提示不安全,必须使用-f才能解锁
解锁用户 pp 的密码。
passwd: 警告:未锁定的密码将是空的。
passwd: 不安全的操作(使用 -f 参数强制进行该操作)
[root@localhost ~]# passwd -S pp //查看pp用户状态,仍为锁定状态
pp LK 2022-07-31 0 99999 7 -1 (密码已被锁定。)
usermod 修改已有用户的属性
格式
usermod [选项]... 用户名
选项:
选项 | 作用 |
---|---|
-l | 更改用户的登录名称 |
-L | 锁定用户 |
-U | 解锁用户 |
-u | 指定的UID号 |
-d | 指定家目录 |
-e | 指定用户失效时间,可使用YYYY–MM-DD的日期格式 |
-g | 指定基本组 |
-G | 指定附加组 |
-s | 指定默认的登录Shell |
M | 不建立家目录 |
示例
[root@localhost ~]# usermod -l lisi pp //将pp的用户名改成lisi
[root@localhost ~]# usermod -L lisi //锁定用户lisi
[root@localhost ~]# passwd -S lisi //查看lisi状态,已被锁定
lisi LK 2022-07-31 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# usermod -U lisi //解锁用户lisi
usermod:解锁用户密码将产生没有密码的账户。
您应该使用 usermod -p 设置密码并解锁用户密码。
删除用户 userdel
格式
userdel [-r] 用户名(-r 连家目录一起删除)
示例
[root@localhost ~]# userdel 333 //删除用户333,不加-r会保留家目录
[root@localhost ~]# ls /home/ //查看/home下333的家目录仍存在
222 333 444 apache cs pp test
[root@localhost ~]# userdel -r 222 //删除用户222及其家目录
[root@localhost ~]# ls /home/ //查看/home下222的家目录不存在
333 444 apache cs pp test