插件窝 干货文章 如何使用Linux进行用户权限管理和访问控制

如何使用Linux进行用户权限管理和访问控制

权限 username 用户 sudo 182    来源:    2025-04-13

Linux用户权限管理与访问控制指南

作为Linux系统管理员,有效管理用户权限和访问控制是核心职责之一。以下是Linux权限管理的全面指南:

一、用户和组管理

1. 用户管理

  • 创建用户sudo useradd -m username (创建用户并建立家目录)
  • 设置密码sudo passwd username
  • 删除用户sudo userdel -r username (-r选项删除家目录)
  • 修改用户属性sudo usermod [options] username
    • 修改登录名:sudo usermod -l newname oldname
    • 修改用户组:sudo usermod -g groupname username

2. 组管理

  • 创建组sudo groupadd groupname
  • 将用户加入组sudo usermod -aG groupname username
  • 删除组sudo groupdel groupname
  • 查看用户所属组groups username

二、文件权限管理

1. 基本权限

Linux文件有三种权限: - r (read):读取权限 - w (write):写入权限 - x (execute):执行权限

权限分为三组: - 所有者(user) - 所属组(group) - 其他用户(other)

查看权限:ls -l 显示如 -rwxr-xr--

2. 修改权限

  • chmod命令

    • 数字模式:chmod 755 filename (7=rwx, 5=r-x, 5=r-x)
    • 符号模式:chmod u+x,g-w,o=r filename
  • chown命令(修改所有者):

    • sudo chown user:group filename
    • sudo chown -R user:group directory/ (递归修改)

三、高级访问控制

1. ACL (访问控制列表)

允许更细粒度的权限控制: - 查看ACL:getfacl filename - 设置ACL: - setfacl -m u:username:rwx filename (为用户设置权限) - setfacl -m g:groupname:r-x filename (为组设置权限) - setfacl -R -m u:username:rwx directory/ (递归设置) - 删除ACL条目:setfacl -x u:username filename

2. SUID/SGID/sticky位

  • SUIDchmod u+s file (执行时以所有者身份运行)
  • SGIDchmod g+s file (执行时以所属组身份运行)
  • Sticky位chmod +t directory (只有文件所有者能删除)

四、sudo权限管理

1. 配置sudoers文件

使用visudo命令编辑/etc/sudoers

username ALL=(ALL) ALL       # 授予所有权限
%groupname ALL=(ALL) ALL     # 授予组所有权限
username ALL=(ALL) NOPASSWD: ALL  # 无需密码

2. 常用sudo配置

  • 允许特定命令:username ALL=(ALL) /usr/bin/apt
  • 限制命令参数:username ALL=(ALL) /usr/bin/apt install *

五、安全最佳实践

  1. 最小权限原则:只授予必要的权限
  2. 定期审计:使用auditd监控系统活动
  3. 密码策略:配置/etc/login.defs和PAM模块
  4. SSH安全
    • 禁用root登录:PermitRootLogin no
    • 使用密钥认证
    • 修改默认端口
  5. 定期检查
    • 异常用户:cat /etc/passwd
    • 异常sudo权限:sudo -l
    • 异常SUID文件:find / -perm -4000 -type f

六、实用命令

  • 查看用户登录记录:last
  • 查看当前登录用户:who
  • 查看用户活动:w
  • 检查文件修改:stat filename
  • 查找全局可写文件:find / -perm -2 -type f

通过合理组合这些工具和技术,您可以构建一个既安全又高效的Linux权限管理系统。