目录
1. 文件权限的基本控制
使用chmod
命令可以修改文件或目录的权限。权限由数字或字母表示:
数字权限:如rwx
对应可读、可写和可执行,分别用0或1表示。
示例:chmod 755 file.txt
将文件 file.txt
的权限设置为 rwx rwxrwxw
(对所有人来说都是读、写、执行)。
扩展权限:通过 -o
选项可以增加某些权限。
例如:chmod +w file.txt
给文件添加可写权限。
chmod +r file.txt
给文件添加可读权限。
目录权限
使用 -d
或 --default
选项,可以将目录的默认权限设置为对所有用户(755
),并继承父目录的所有者和组权限。
2. 文件和目录的所有者与所属组
使用chown
命令可以更改文件或目录的拥有者和所属组:
chown username:group file.txt
将文件 file.txt
的所有者改为 username
,所属组改为 group
。
示例:如果文件的当前所有者是 user1
且所属组为 group1
,则:
可以同时更改所有者和所属组,并对整个目录树中的文件应用新的权限。
3. 高级访问控制策略 (ACL)
ACL(Attributes Control List)允许基于用户或组的细粒度权限管理。使用setfacl
命令可以设置文件的ACL策略:
基本语法:
setfacl [-m] [-x <选项>] [-b] [<路径>...]
-m
:修改或设置ACL策略。
-x
:删除特定用户的组权限。
-b
:删除文件的所有ACL策略。<路径>
:指定文件的路径。
示例
为单个用户添加权限:
给文件 file.txt
添加可读和可写权限,仅对 user01
用户有效。
为组成员添加权限:
给文件 file.txt
添加可读和可写权限,仅对 sysadmin
组的成员有效。
删除特定用户的组权限(针对某个文件):
去掉 user01
用户对文件 /home/user1/file.txt
的所有ACL策略。
递归删除文件下的所有子目录和文件的ACL策略:
4.ACL访问控制策略(扩展)
ACL可以应用于多个用户、组或用户组的组合。通过组合不同的ACL策略,可以实现复杂的权限管理。
示例
为用户组中的所有成员添加权限:
给文件 file.txt
添加可读和可写权限,仅对属于 user
用户的组成员有效。
组合多个ACL策略:通过逻辑与(AND)或逻辑或(OR)组合不同的ACL策略。
示例:
给文件 file.txt
添加权限,使其对 user
用户(仅读)和 admin
组(读、写、执行)有效。
5. uminix系统的文件属性
uminix 系统的文件属性包括:
- 访问控制列表 (ACL):描述文件在不同用户或组下的权限。
- 文件类型:如普通文件、符号链接、目录等。
- 文件大小、修改时间等元数据。
总结
-
基本权限控制:
- 使用
chmod
改变文件/目录的权限。 - 使用
chown
改变文件/目录的所有者和所属组。
- 使用
-
高级访问控制策略 (ACL):
- 使用
setfacl
设置基于用户或组的细粒度权限。 - 通过组合不同的 ACL 策略实现复杂的权限管理。
- 使用
-
uminix系统的文件属性:
- 包括ACL、文件类型等元数据。
通过合理使用这些命令,可以有效管理和控制文件和目录的访问权限。