王荣才 发表于 2024-4-30 06:03:32

Linux基础之权限管理

目录

[*]通用权限的管理
[*]扩展权限的管理
[*]特殊权限的管理
[*]权限掩码

在Linux中,权限管理是通过文件系统中的权限位来实现的。
通用权限的管理

每个文件或目录都有一个所有者、一个用户组和其他用户的权限设置。主要的权限包括读取、写入和执行。
文件权限包括读、写和执行权限:

[*]读权限(r):允许用户读取文件的内容或列出目录的内容
[*]写权限(w):允许用户修改文件的内容或在目录中创建、删除和重命名文件
[*]执行权限(x):允许用户执行文件,或允许用户进入目录
文件权限共有九个位,分为三组,每组三个位,分别为:

[*]所有者权限:指定文件所有者的权限
[*]所属组权限:指定文件所属组的权限
[*]其他用户权限:指定除所有者和所属组以外的其他用户的权限
数字权限表示法
---                000                0
--x                001                1
-w-                010                2
-wx                011                3
r--                100                4
r-x                101                5
rw-                110                6
rwx                111                7三位二进制所对应的10进制数。
修改权限chmod

[*]使用数字权限表示法:
chmod 755 filename

# 将文件的权限设置为755即所有者具有读、写、执行权限,组用户和其他用户只有读和执行权限。

[*]使用符号权限表示法:
使用 u g o a 分别代表 user group other all
使用 + - = 进行权限赋值
比如:
chmod u+x filename

# 将文件的所有者权限设置为可执行chmod g-r filename

# 将文件的组用户权限设置为不可读chmod o=rwx filename

# 将文件的其他用户权限设置为读、写、执行扩展权限的管理

FACL (File Access Control List) 文件访问控制列表,更细粒度地管理文件和目录的权限。
ACL 权限分配:给指定的用户指定目录分配指定的权限
当设置扩展权限之后 . 会变成 +
setfacl 设定ACL权限
    -m 添加扩展权限        u:用户名 g:用户组名:权限字(rwx) 文件名
    -x 取消扩展权限        u:用户名 g:用户组名 文件名
    -b 还原扩展权限

getfacl 获取扩展权限列表
    getfacl 文件名比如:
要为文件example.txt设置用户smileleooo的读取和写入权限
setfacl -m u:smileleooo:rw example.txt特殊权限的管理


[*]Setuid(SUID): 当执行文件时,该文件将以所有者的身份而不是执行者的身份运行。
chmod u+s filename
[*]Setgid(SGID): 当执行文件时,该文件将以组的身份而不是执行者的身份运行。
chmod g+s filename
[*]Sticky Bit: 当应用于目录时,只有目录的所有者、文件的所有者和root用户才能删除目录中的文件。
chmod +t directory权限掩码

umask 是一个位掩码,用于确定新建文件的默认权限。它指定了在创建新文件或目录时,系统将从权限中掩码掉的位。
umask 值是一个八进制数,表示为三位数字,每个数字代表了用户、组和其他用户的权限位掩码,其中 1 表示屏蔽,0 表示保留。
例如,如果umask值为022,则新建文件的默认权限为666(rw-rw-rw-)减去022,得到644(rw-r--r--)。
umask的设置会影响新建文件的默认权限,但不会影响现有文件的权限。 umask值越低,新文件的默认权限越高。
若有错误,欢迎指正!o( ̄▽ ̄)ブ

来源:https://www.cnblogs.com/smileleooo/p/18162333
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Linux基础之权限管理