5. 访问控制
November 26, 2022About 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 访问控制机制:
用户和组权限:
- Linux 使用文件和目录的所有者、组和其他用户的权限位来控制对文件和目录的访问。
chmod
命令用于更改文件和目录的权限。chown
和chgrp
命令用于更改文件和目录的所有者和组。
文件系统权限:
- Linux 文件系统(如 ext4)支持权限控制,可以设置文件和目录的访问权限。
chmod
命令用于更改文件和目录的权限。chown
和chgrp
命令用于更改文件和目录的所有者和组。
访问控制列表(ACL):
- ACL 是一种高级权限机制,允许更细粒度地控制文件和目录的访问。
- 使用
setfacl
命令可以为文件和目录设置 ACL。
sudo:
sudo
(superuser do)允许普通用户以特权用户(通常是 root)的身份执行特定的命令。- 系统管理员可以配置
sudo
以授予或限制用户的特权访问。
SELinux:
- SELinux(Security-Enhanced Linux)是 Linux 内核的一个安全子系统,提供了强制访问控制(MAC)机制。
- SELinux 通过为每个进程和文件分配安全上下文来实施访问策略。
防火墙:
- Linux 中的防火墙(如 iptables 或 nftables)可用于控制网络访问。
- 配置防火墙规则可以限制特定端口、IP 地址或协议的访问。
这些是 Linux 中常见的访问控制机制,它们可以根据需求和安全要求进行配置和使用。
用户和组权限
在 Linux 系统中,用户和组权限是一种基本的访问控制机制,用于控制对文件和目录的访问。每个文件和目录都有一个所有者和一个所属组,并且可以为所有者、所属组和其他用户分别设置不同的权限。
以下是用户和组权限的基本概念和常用命令:
文件和目录权限:
- Linux 中的文件和目录权限分为三个类别:所有者(user)、所属组(group)和其他用户(others)。
- 权限位包括读取(r)、写入(w)和执行(x)权限。
ls -l
命令可以显示文件和目录的权限。
更改权限:
chmod
命令用于更改文件和目录的权限。- 使用数字表示法或符号表示法来指定权限的变更。
- 例如,
chmod u+r file.txt
将给文件所有者添加读取权限,chmod g-w file.txt
将从文件所属组中移除写入权限。
更改所有者和组:
chown
命令用于更改文件和目录的所有者。chgrp
命令用于更改文件和目录的所属组。- 例如,
chown user1 file.txt
将文件的所有者更改为 user1,chgrp group1 file.txt
将文件的所属组更改为 group1。
默认权限和 umask:
- 默认情况下,新创建的文件和目录会继承创建者的默认权限。
umask
命令用于设置默认权限掩码,以确定新创建的文件和目录的默认权限。umask 022
将设置默认权限掩码为 022,这意味着新创建的文件所有者具有读写权限,而所属组和其他用户只有读权限。
通过适当设置用户和组权限,可以控制谁可以读取、写入和执行文件,以及限制对敏感数据和系统文件的访问。