Skip to main content

5. 访问控制

David LiuAbout 3 min

5. 访问控制

文件权限:rwx

  • r: read
  • w: write
  • x: executable

每 3 位是一个组的权限:所有者(user)、所属组(group)和其他用户(others) 三个组的控制权限

RBAC:role based access control

SELinux:安全强化,模型:least-privilege,什么都改不了就安全

access control list (ACL) 访问控制列表

Real-World Access Control

sudo

sudo

visudo 指令可以做检查,语法错了不给存

Vi sudo 来给用户配置一些命令超级用户权限

Linux 提供了多种访问控制机制来保护系统和数据的安全。以下是一些常见的 Linux 访问控制机制:

  1. 用户和组权限:

    • Linux 使用文件和目录的所有者、组和其他用户的权限位来控制对文件和目录的访问。
    • chmod命令用于更改文件和目录的权限。
    • chownchgrp命令用于更改文件和目录的所有者和组。
  2. 文件系统权限:

    • Linux 文件系统(如 ext4)支持权限控制,可以设置文件和目录的访问权限。
    • chmod命令用于更改文件和目录的权限。
    • chownchgrp命令用于更改文件和目录的所有者和组。
  3. 访问控制列表(ACL):

    • ACL 是一种高级权限机制,允许更细粒度地控制文件和目录的访问。
    • 使用setfacl命令可以为文件和目录设置 ACL。
  4. sudo:

    • sudo(superuser do)允许普通用户以特权用户(通常是 root)的身份执行特定的命令。
    • 系统管理员可以配置sudo以授予或限制用户的特权访问。
  5. SELinux:

    • SELinux(Security-Enhanced Linux)是 Linux 内核的一个安全子系统,提供了强制访问控制(MAC)机制。
    • SELinux 通过为每个进程和文件分配安全上下文来实施访问策略。
  6. 防火墙:

    • Linux 中的防火墙(如 iptables 或 nftables)可用于控制网络访问。
    • 配置防火墙规则可以限制特定端口、IP 地址或协议的访问。

这些是 Linux 中常见的访问控制机制,它们可以根据需求和安全要求进行配置和使用。

用户和组权限

在 Linux 系统中,用户和组权限是一种基本的访问控制机制,用于控制对文件和目录的访问。每个文件和目录都有一个所有者和一个所属组,并且可以为所有者、所属组和其他用户分别设置不同的权限。

以下是用户和组权限的基本概念和常用命令:

  1. 文件和目录权限:

    • Linux 中的文件和目录权限分为三个类别:所有者(user)、所属组(group)和其他用户(others)。
    • 权限位包括读取(r)、写入(w)和执行(x)权限。
    • ls -l命令可以显示文件和目录的权限。
  2. 更改权限:

    • chmod命令用于更改文件和目录的权限。
    • 使用数字表示法或符号表示法来指定权限的变更。
    • 例如,chmod u+r file.txt将给文件所有者添加读取权限,chmod g-w file.txt将从文件所属组中移除写入权限。
  3. 更改所有者和组:

    • chown命令用于更改文件和目录的所有者。
    • chgrp命令用于更改文件和目录的所属组。
    • 例如,chown user1 file.txt将文件的所有者更改为 user1,chgrp group1 file.txt将文件的所属组更改为 group1。
  4. 默认权限和 umask:

    • 默认情况下,新创建的文件和目录会继承创建者的默认权限。
    • umask命令用于设置默认权限掩码,以确定新创建的文件和目录的默认权限。
    • umask 022将设置默认权限掩码为 022,这意味着新创建的文件所有者具有读写权限,而所属组和其他用户只有读权限。

通过适当设置用户和组权限,可以控制谁可以读取、写入和执行文件,以及限制对敏感数据和系统文件的访问。