Lesson13 Linux 账号与群组
一、UID 与 GID:
1. UID:即 UserID,使用者 ID, 记录于/etc/passwd 文件。
2. GID:即 GroupID,群组 ID,记录于/etc/group 文件。
每个 Linux 用户都有这两个 ID。
需要显示文属性时,系统会根据 ID 查找指定文件中对应的账号与组群名进行显示。
登陆系统时,系统会在 /etc/passwd 中查找账号,读取 UID 与 GID, 之后核对 /etc/shadow 中的密码,完成后进入shell。
二、 相关系统配置文件:
1. /etc/passwd :文件内容结构如下
账号:密码:UID:GID:用户信息说明:家目录:Shell
- 密码:记录于 /etc/shadow
- 家目录:root 用户为 /root,其它用户为 /home/用户名 。
- UID:系统管理员为 0 ,其它 UID 的权限与特性没有区别。
- Shell:默认的 shell 管理用 bash,值为 /sbin/nologin 无法进入交互式环境。
2. /etc/shadow:文件内容结构如下
账号:密码:最近更改日期:密码不可被更改的天数:密码需要变更的天数:密码需要变更前的警告天数:
密码过期后账号宽限时间:账号失效日期:保留字段
- 密码:已用加密算法加密。
- 最近更改日期:自 1970/01/01 起的天数。
- 密码不可被更改的天数:为 0 则可以随时更改。
- 密码需要变更的天数:经常改密码是一个好习惯。
3. /etc/group:文件内容结构如下
组名:组群密码:GID:群组支持的账号
- 组群密码:存于 /etc/gshadow,已不常用
- 群组支持的账号:多个账号用逗号, 分隔
三、 账号管理命令:
1. useradd:新建用户 useradd 用户名,useradd -D 可查看新建用户的默认配置信息。
2. passwd:设置密码,passwd 用户名, 加参数 S 可以查看密码的详细信息(使用的算法)。
3. userdel:删除用户 userdel 用户名。
4. chage、usermode:修改更新账号信息。
四、 使用者身份管理:
1. 切换用户:su 用户名,root 用户切换到其它用户不用输入密码,切换到其它用户后输入 exit 可以切回 root 用户。
加参数 l 切换用户后会重新读取环境变量。
2. sudo : 切换 root 身份执行某项命令。
对于 nologin 的用户,可以用 sudo -u 用户名 命令, 执行某项操作。
运行 sudo 时,系统会在 /etc/sudoers 中查找该使用者是否具有运行 sudo 的权限,有则需输入当前用户密码确认。
给用户添加 sudo 权限:
注意严格按照格式,建议复制 root 行后修改用户名。
all 的三个项分别为 允许登陆者来源的主机名,可切换的身份,可下达的命令集合。
五、 用户信息查询:
1. w/who:查看已经登录的用户,前者会显示占用资源情况,后者显示详细登录时间。
2. last/lastlog:查看登录记录,前者以时间排列,后者以用户名排列。