一、用户管理
1. 用户配置文件
/etc/passwd:存储用户基本信息(用户名、UID、GID、家目录、默认Shell)
格式:username:x:UID:GID:comment:/home/username:/bin/bash/etc/shadow:存储用户密码及过期策略(仅root可读)
格式:username:加密密码:最后修改天数:最小间隔:最大有效期:警告期:禁用期
2. 用户操作命令
创建用户
useradd -m -s /bin/bash -c "Test User" testuser # -m创建家目录,-c注释修改用户
usermod -l newname oldname # 重命名 usermod -d /new/home -m testuser # 迁移家目录删除用户
userdel -r testuser # -r同时删除家目录和邮件密码管理
passwd testuser # 设置密码 chage -E 2025-12-31 testuser # 设置账户过期时间
二、用户组管理
1. 组配置文件
/etc/group:存储组信息(组名、GID、成员列表)
格式:groupname:x:GID:member1,member2
2. 组操作命令
创建组
groupadd developers修改组
groupmod -n devs developers # 重命名组删除组
groupdel devs管理组成员
gpasswd -a user1 devs # 添加用户到组 gpasswd -d user1 devs # 从组移除用户
三、权限管理
1. 文件权限基础
权限类型
r(读):4w(写):2x(执行):1
权限表示
-rw-r--r-- 1 user group 1024 Jan 1 10:00 file.txt ↑ ↑ │ └── 所属组权限 └── 所有者权限数字表示:
chmod 644 file.txt→-rw-r--r--
2. 修改权限
符号模式
chmod u+x file.sh # 所有者添加执行权限 chmod g-w file.txt # 组移除写权限 chmod o=--- secret.txt # 其他人无权限数字模式
chmod 750 script.sh # rwxr-x---(所有者7,组5,其他人0)
3. 特殊权限
SUID (4):以所有者身份执行
chmod u+s /usr/bin/someapp # 设置SUID(显示为rws)SGID (2):目录中新文件继承组
chmod g+s /shared_dir # 设置SGID(显示为r-s)Sticky Bit (1):仅文件所有者可删除
chmod +t /tmp # 粘滞位(显示为rwt)
四、高级权限控制
1. ACL(访问控制列表)
查看ACL
getfacl /project设置ACL
setfacl -m u:user1:rwx /project # 添加用户权限 setfacl -x u:user2 /project # 移除用户权限
2. Sudo权限配置
编辑sudoers文件
visudo # 安全编辑/etc/sudoers授权示例
user1 ALL=(root) /usr/bin/apt # 允许user1以root执行apt %devs ALL=(ALL) NOPASSWD:ALL # 组devs无需密码执行所有命令
五、关键命令速查
| 命令 | 功能 | 示例 |
|---|---|---|
id username | 查看用户UID/GID | id alice |
groups | 查看当前用户所属组 | groups |
chown | 修改文件所有者 | chown user:group file |
chgrp | 修改文件所属组 | chgrp devs project/ |
umask | 设置默认权限掩码 | umask 027(新文件默认750) |
六、最佳实践
- 最小权限原则:用户仅获必要权限(如通过组管理共享目录)
- 定期审计:使用
auditd监控敏感操作(如/etc/sudoers修改) - 密码策略:通过
/etc/login.defs设置密码复杂度与有效期 - 备份配置:备份
/etc/passwd、/etc/shadow、/etc/group
通过合理管理用户、组及权限,可显著提升系统安全性与运维效率。
评论 (0)