一、基本概念
用户(User):
超级用户:root,UID 为 0,拥有系统最高权限。
系统用户:UID 通常为 1~999,用于运行系统服务,一般不能用于登录。
普通用户:UID 通常从 1000 开始,用于日常操作。
用户组(Group):组主要用于简化权限管理
主组:用户创建时默认所属的组。
附加组:用户可以额外加入的其他组,用于获取更多访问权限。
二、用户和组相关的配置文件
| 文件 | 用途 |
|---|---|
/etc/passwd | 存储用户账户信息(用户名、UID、GID、家目录、Shell 等) |
/etc/shadow | 存储用户密码的加密信息及密码策略(仅 root 可读) |
/etc/group | 存储组信息(组名、GID、组成员列表) |
/etc/gshadow | 存储组密码及组管理员信息(较少使用) |
/etc/profile | 系统全局环境配置,对所有用户有效 |
三、用户管理
1、添加用户
useradd:创建用户
2、设置密码
passwd:修改用户密码
3、修改用户属性
usermod:修改用户信息
4、删除用户
userdel:删除用户
四、组 管理
1、添加组
groupadd
2、修改组
groupmod
3、删除组
groupdel:删除组(组不能是任何用户的主组)
4、管理 组成员
gpasswd:管理组
五、查看用户和组信息
| 命令 | 用途 | 示例 |
|---|---|---|
id | 显示当前用户或指定用户的 UID、GID 及所属组 | id username |
who | 显示当前登录系统的用户 | who、who -b(最近启动时间) |
w | 显示登录用户及其正在执行的命令 | w |
users | 列出当前登录的用户名 | users |
finger | 显示用户详细信息(可能需安装) | finger username |
groups | 显示用户所属的组 | groups username |
getent | 从系统数据库(passwd、group)查询条目 | getent passwd username、getent group groupname |
六、用户切换和提权
1、切换用户
su:切换用户
2、以其他用户执行命令
sudo:以 root 或其他用户身份执行命令(需在/etc/sudoers中配置权限)