①用户账号(用 UID 来识别)
②组账号(用 GID 来识别)
①超级用户 root
②系统用户
③普通用户
基本组 (私有组)
附加组 (从属组)
/etc/passwd(用户账号文件)
/etc/shadow (用户密码文件)
/etc/group(组账号文件)
/etc/gshadow(组密码文件)
新建用户时,根据 /etc/skel 模板目录复制
~/.bash profile: 每次登录时执行
~/.bashrc: 每次进入新的 Bash 环境时执行
全局配置文件:/etc/bashrc、/etc/profile
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
... ... ...
每个用户记录一行,以: 分割为 7 个字段 字段 1: 用户帐号的名称 字段 2: 密码字串或占位符 x 字段 3: 用户帐号的 UID 号 字段 4: 所属基本组的 GID 号 字段 5: 用户全名 字段 6: 家目录 字段 7: 登录使用的解释器
[root@localhost ~]# cat /etc/shadow
root:$6$Jjo9h9zNw... ...J/:264:0:99999:7:::
... ... ...
每个用户记录一行,以: 分割为 9 个字段 字段 1: 用户帐号的名称 字段 2: 加密后的密码字符串 字段 3: 上次修改密码的时间 字段 4: 密码的最短有效天数,默认 0 字段 5: 密码的最长有效天数,默认 99999 字段 6: 密码过期前的警告天数,默认 7 字段 7: 密码过期后多少天禁用此用户账号 字段 8: 帐号失效时间,默认值为空 字段 9: 保留字段 (未使用)
[root@localhost ~]# cat /etc/group
root:x:0:
... ... ...
每个组记录一行,以: 分割为 4 个字段 字段 1: 组帐号的名称 字段 2: 密码占位符 x 字段 3: 组帐号的 GID 号 字段 4: 本组的成员用户列表
[root@localhost ~]# cat /etc/gshadow
root:::
... ... ...
每个组记录一行,以: 分割为 4 个字段 字段 1: 组帐号的名称 字段 2: 加密后的密码字符串 字段 3: 本组的管理员列表 字段 4: 本组的成员用户列表
useradd 添加用户
useradd [选项] ... 用户名
-u: 指定 UID
-d: 指定家目录,缺省为 / home / 用户名
-G: 指定所属的附加组
-s: 指定用户的登录解释器
[root@localhost ~]# useradd -u 10010 -d /opt/wangwu -s /bin/bash -G zhaolu wangwu
#添加wangwu用户,指定UID为10010,家目录设置为/opt/wangwu,指定登录解释器为/bin/bash,指定所属附加组为zhaolu
usermod 修改用户
usermod d[选项] ... 用户名
-l: 更改用户帐号的登录名称
-u: 用户 id
-d: 家目录
-s: 登录解释器
-G: 附加组(重置附加组)
[root@localhost ~]# usermod -l wuqi -u 123456 -d /home/wangwu -s /sbin/nologin -G wangwu wangwu
#将用户wangwu更改登录名称为wuqi,用户id改为123456,家目录改为/home/wangwu,附加组改为wangwu,登录解释器改为/sbin/nologin(该解释器不用于登录)
设置用户密码
passwd [选项] ... 用户名
--stdin: 从标准输入 (例如管道操作) 读入密码
[root@localhost ~]# echo 123456 | passwd --stdin wangwu
#通过 --stdin选项设置密码为123456,免除交互过程
userdel 删除用户
userdel [选项] 用户名
-r : 连同家目录 / 用户邮件一起删除
[root@localhost ~]# userdel -r wangwu
#删除用户wangwu
查询账号 id
id [选项] ... 用户名
[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)
groupadd 添加组账号
groupadd [选项] 组名
-g: 指定 GID
[root@localhost ~]# groupadd -g 1234 wangwu
[root@localhost ~]# grep wangwu /etc/group
wangwu:x:1234:wangwu
gpasswd 管理组成员
gpasswd [选项] ... 组名
-A: 定义组管理员列表
-a: 添加组成员(每次只能加一个)
-d: 删除组成员(每次只能删一个)
-M: 定义组成员用户列表(可设置多个)
[root@localhost ~]# gpasswd -A wuqi wangwu
[root@localhost ~]# grep wangwu /etc/gshadow
wangwu:!:wuqi:
#wuqi设置为wangwu组管理员
[root@localhost ~]# gpasswd -M wuqi,zhangsan,lisi wangwu
[root@localhost ~]# grep wangwu /etc/gshadow
wangwu:!:wuqi:zhangsan,lisi
#wuqi,zhangsan,lisi设置为wangwu组的组成员
[root@localhost ~]# gpasswd -d lisi wangwu
Removing user lisi from group wangwu
[root@localhost ~]# grep wangwu /etc/gshadow
wangwu:!:wuqi:zhangsan
#将用户删除lisi从wangwu组删除
[root@localhost ~]# gpasswd -a lisi wangwu
Adding user lisi to group wangwu
[root@localhost ~]# grep wangwu /etc/gshadow
wangwu:!:wuqi:zhangsan,lisi
#将用户lisi加入wangwu组
groupdel 删除组(删除的目标组不能是用户的基本组)
groupdel 组名
[root@localhost ~]# grep wangwu /etc/gshadow
wangwu:!:wuqi:zhangsan,lisi
[root@localhost ~]# groupdel wangwu
[root@localhost ~]# grep wangwu /etc/gshadow
#删除wangwu组,再次搜索发现没有输出,证明成功