一、分类
1、按账户身份的访问控制进行分类
①用户账号(用 UID 来识别)
②组账号(用 GID 来识别)
2、按用户账号分类
①超级用户 root
②系统用户
③普通用户
3、按组账号分类(组账号用来区分权限,不用于登录)
基本组 (私有组)
附加组 (从属组)
二、账号文件与密码文件
1、本地账号数据的存放在本地磁盘中,包括用户账号数据文件和组账号数据文件
1)用户账号数据文件
/etc/passwd(用户账号文件)
/etc/shadow (用户密码文件)
2)组账号数据文件
/etc/group(组账号文件)
/etc/gshadow(组密码文件)
2、用户初始配置文件
1)配置文件来源
新建用户时,根据 /etc/skel 模板目录复制
2)主要的初始配置文件
~/.bash profile: 每次登录时执行
~/.bashrc: 每次进入新的 Bash 环境时执行
全局配置文件:/etc/bashrc、/etc/profile
3、用户账号文件
1)/etc/passwd 保存用户帐号的基本信息
2)实例
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
... ... ...
每个用户记录一行,以: 分割为 7 个字段
字段 1: 用户帐号的名称
字段 2: 密码字串或占位符 x
字段 3: 用户帐号的 UID 号
字段 4: 所属基本组的 GID 号
字段 5: 用户全名
字段 6: 家目录
字段 7: 登录使用的解释器
4、用户密码文件
1) /etc/shadow 保存密码字串 / 有效期等信息
2)实例
[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: 保留字段 (未使用)
5、组账号文件
1)/etc/group 保存组号的基本信息
2)实例
[root@localhost ~]# cat /etc/group
root:x:0:
... ... ...
每个组记录一行,以: 分割为 4 个字段
字段 1: 组帐号的名称
字段 2: 密码占位符 x
字段 3: 组帐号的 GID 号
字段 4: 本组的成员用户列表
6、组密码文件
1)/etc/gshadow 保存组帐号的管理信息
2)实例
[root@localhost ~]# cat /etc/gshadow
root:::
... ... ...
每个组记录一行,以: 分割为 4 个字段
字段 1: 组帐号的名称
字段 2: 加密后的密码字符串
字段 3: 本组的管理员列表
字段 4: 本组的成员用户列表
三、相关命令
1、useradd 命令
1)功能
useradd 添加用户
2)格式
useradd [选项] … 用户名
3)常用命令选项
-u: 指定 UID
-d: 指定家目录,缺省为 / home / 用户名
-G: 指定所属的附加组
-s: 指定用户的登录解释器
4)实例
[root@localhost ~]# useradd -u 10010 -d /opt/wangwu -s /bin/bash -G zhaolu wangwu
#添加wangwu用户,指定UID为10010,家目录设置为/opt/wangwu,指定登录解释器为/bin/bash,指定所属附加组为zhaolu
2、usermod 命令
1)功能
usermod 修改用户
2)格式
usermod d[选项] … 用户名
3)常用命令选项
-l: 更改用户帐号的登录名称
-u: 用户 id
-d: 家目录
-s: 登录解释器
-G: 附加组(重置附加组)
4)实例
[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(该解释器不用于登录)
3、passwd 命令
1)功能
设置用户密码
2)格式
passwd [选项] … 用户名
3)常用命令选项
–stdin: 从标准输入 (例如管道操作) 读入密码
4)实例
[root@localhost ~]# echo 123456 | passwd --stdin wangwu
#通过 --stdin选项设置密码为123456,免除交互过程
4、userdel 命令
1)功能
userdel 删除用户
2)格式
userdel [选项] 用户名
3)常用命令选项
-r : 连同家目录 / 用户邮件一起删除
4)实例
[root@localhost ~]# userdel -r wangwu
#删除用户wangwu
5、id 命令
1)功能
查询账号 id
2)格式
id [选项] … 用户名
3)实例
[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)
6、groupadd 命令
1)功能
groupadd 添加组账号
2)格式
groupadd [选项] 组名
3)常用命令选项
-g: 指定 GID
4)实例
[root@localhost ~]# groupadd -g 1234 wangwu
[root@localhost ~]# grep wangwu /etc/group
wangwu:x:1234:wangwu
7、gpasswd 命令
1)功能
gpasswd 管理组成员
2)格式
gpasswd [选项] … 组名
3)常用命令选项
-A: 定义组管理员列表
-a: 添加组成员(每次只能加一个)
-d: 删除组成员(每次只能删一个)
-M: 定义组成员用户列表(可设置多个)
4)实例
[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组
8、groupdel 命令
1)功能
groupdel 删除组(删除的目标组不能是用户的基本组)
2)格式
groupdel 组名
3)实例
[root@localhost ~]# grep wangwu /etc/gshadow
wangwu:!:wuqi:zhangsan,lisi
[root@localhost ~]# groupdel wangwu
[root@localhost ~]# grep wangwu /etc/gshadow
#删除wangwu组,再次搜索发现没有输出,证明成功
本篇文章来源于微信公众号: 入门小站