Linux 用户管理
2025-02-17
1. 用户基础
1.1 用户类型
超级用户 (root)
- UID 0
- 完全控制权限
- 系统管理员
系统用户
- UID 1-999
- 系统服务运行
- 无法登录
普通用户
- UID 1000+
- 日常使用
- 有限权限
1.2 用户相关文件
# 用户信息
cat /etc/passwd
# 密码信息
cat /etc/shadow
# 组信息
cat /etc/group2. 用户管理命令
2.1 创建用户
# 创建新用户
useradd username
# 创建用户并指定参数
useradd -m -s /bin/bash -G sudo username
# 设置密码
passwd username2.2 修改用户
# 修改用户信息
usermod -c "Full Name" username
# 修改用户组
usermod -G newgroup username
# 修改用户 shell
usermod -s /bin/bash username2.3 删除用户
# 删除用户
userdel username
# 删除用户及主目录
userdel -r username3. 组管理
3.1 创建和删除组
# 创建新组
groupadd groupname
# 删除组
groupdel groupname3.2 组成员管理
# 添加用户到组
usermod -a -G groupname username
# 从组中删除用户
gpasswd -d username groupname
# 查看组成员
getent group groupname4. 权限管理
4.1 基本文件权限
# 修改文件所有者
chown user:group file
# 修改文件权限
chmod 755 file
# 修改默认权限
umask 0224.2 特殊权限
# 设置 SUID
chmod u+s file
# 设置 SGID
chmod g+s directory
# 设置粘滞位
chmod +t directory5. sudo 配置
5.1 基本配置
# 编辑 sudo 配置
visudo
# 添加用户权限
username ALL=(ALL) ALL
# 免密码配置
username ALL=(ALL) NOPASSWD: ALL5.2 命令限制
# 限制特定命令
username ALL=(ALL) /bin/ls, /bin/cat
# 限制特定目录
username ALL=(ALL) /usr/bin/6. 安全建议
密码策略
# 设置密码策略 vim /etc/security/pwquality.conf # 强制密码更改 chage -d 0 username访问控制
# 限制 SSH 访问 vim /etc/ssh/sshd_config # 设置登录失败限制 vim /etc/pam.d/common-auth审计日志
# 查看登录日志 last # 查看用户活动 w who