温馨提示×

Linux Context如何管理用户权限

小樊
49
2025-09-17 14:34:02
栏目: 智能运维

在Linux系统中,管理用户权限主要涉及到以下几个方面:

1. 用户账户管理

  • 创建用户:使用useradd命令创建新用户。
    sudo useradd username
    
  • 设置密码:使用passwd命令为新用户设置密码。
    sudo passwd username
    
  • 删除用户:使用userdel命令删除用户。
    sudo userdel username
    

2. 用户组管理

  • 创建用户组:使用groupadd命令创建新用户组。
    sudo groupadd groupname
    
  • 将用户添加到组:使用usermod命令将用户添加到指定组。
    sudo usermod -aG groupname username
    
  • 删除用户组:使用groupdel命令删除用户组。
    sudo groupdel groupname
    

3. 文件和目录权限管理

  • 查看权限:使用ls -l命令查看文件或目录的权限。

    ls -l /path/to/file_or_directory
    
  • 修改权限:使用chmod命令修改文件或目录的权限。

    sudo chmod 755 /path/to/file_or_directory
    

    权限模式755表示:

    • 7(所有者):读、写、执行
    • 5(组用户):读、执行
    • 5(其他用户):读、执行
  • 修改所有权:使用chown命令修改文件或目录的所有者和组。

    sudo chown username:groupname /path/to/file_or_directory
    

4. 特殊权限

  • SUID/SGID:设置文件或目录的特殊权限。
    • SUID(Set User ID):使文件在执行时以文件所有者的权限运行。
      sudo chmod u+s /path/to/executable
      
    • SGID(Set Group ID):使文件在执行时以文件所属组的权限运行,或使目录中的新文件继承目录的组。
      sudo chmod g+s /path/to/directory
      

5. 访问控制列表(ACL)

  • 启用ACL:确保文件系统支持ACL,并在挂载时启用。
    sudo tune2fs -o acl /dev/sdXn
    sudo mount -o remount /mount_point
    
  • 设置ACL:使用setfacl命令设置文件或目录的ACL。
    sudo setfacl -m u:username:rwx /path/to/file_or_directory
    sudo setfacl -m g:groupname:rwx /path/to/file_or_directory
    

6. SELinux/AppArmor

  • SELinux:一种强制访问控制(MAC)系统,提供更细粒度的安全控制。

    • 查看SELinux状态:
      sestatus
      
    • 设置SELinux模式(enforcing、permissive、disabled):
      sudo setenforce 0  # 临时设置为permissive模式
      sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  # 永久禁用
      
  • AppArmor:另一种MAC系统,通过配置文件定义程序的访问权限。

    • 查看AppArmor状态:
      sudo aa-status
      
    • 启用或禁用AppArmor:
      sudo systemctl enable apparmor
      sudo systemctl start apparmor
      

通过以上方法,可以有效地管理Linux系统中的用户权限,确保系统的安全性和稳定性。

0