用户账户管理

1. 用户信息

查看当前用户

whoami

查看用户信息

id username

查看当前登录用户和系统负载

w

查看当前登录用户

who

查看用户登录历史

last

查看指定用户登录历史

last username

2. 用户配置文件

查看用户配置文件

cat /etc/passwd

查看用户密码信息

cat /etc/shadow

查看用户组配置

cat /etc/group

3. 切换用户

切换用户

su - username

以其他用户身份执行命令

sudo -u username command

用户组管理

1. 查看组信息

查看当前用户所属组

groups

查看指定用户所属组

groups username

查看组成员

getent group groupname

2. 组操作

将用户添加到组

gpasswd -a username groupname

从组中删除用户

gpasswd -d username groupname

修改用户主组

newgrp groupname

文件权限管理

1. 查看文件权限

查看文件详细信息

ls -l filename

查看目录及内容权限

ls -lR directory

查看文件ACL权限

getfacl filename

2. 修改文件权限

修改文件权限(数字方式)

chmod 644 filename

给所有者添加执行权限

chmod u+x filename

移除组写权限

chmod g-w filename

设置其他用户只读权限

chmod o=r filename

递归修改目录权限

chmod -R 755 directory/

3. 修改文件所有者

修改文件所有者

chown username filename

同时修改所有者和组

chown username:groupname filename

递归修改目录所有者

chown -R username:groupname directory/

4. 特殊权限

设置SUID权限

chmod u+s filename

设置SGID权限

chmod g+s directory

设置粘滞位

chmod +t directory

ACL权限管理

1. 设置ACL权限

为用户设置ACL权限

setfacl -m u:username:rwx filename

为组设置ACL权限

setfacl -m g:groupname:rx filename

递归设置ACL权限

setfacl -R -m u:username:rwx directory/

2. 查看和删除ACL

查看ACL权限

getfacl filename

删除指定ACL权限

setfacl -x u:username filename

删除所有ACL权限

setfacl -b filename

实用技巧

1. 批量修改权限

查找并修改文件权限

find /path -type f -exec chmod 644 {} \;

查找并修改目录权限

find /path -type d -exec chmod 755 {} \;

保持目录权限一致

chmod --reference=source_file target_file

2. 默认权限设置

查看默认权限掩码

umask

修改默认权限掩码

umask 022

设置目录默认ACL

setfacl -d -m u:username:rwx directory/

安全建议

  1. 定期审查用户权限

    查看特权用户

    grep -E "^sudo|^admin" /etc/group
    

    检查空密码账户

    awk -F: '($2 == "") {print $1}' /etc/shadow
    
  2. 文件权限检查

    查找具有SUID权限的文件

    find / -perm -4000 -type f
    

    查找世界可写的文件

    find / -perm -2 -type f
    
  3. 日志监控

    查看认证日志

    tail -f /var/log/auth.log
    

    查看sudo使用记录

    grep sudo /var/log/auth.log
    

注意事项

  1. 谨慎使用root权限,必要时才使用sudo
  2. 定期检查系统中的特权用户和组
  3. 重要文件设置适当的权限限制
  4. 及时删除不再使用的用户账户
  5. 定期审查系统权限配置