欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Linux学习笔记】之【文件目录权限与文件系统属性管理命令】

程序员文章站 2022-06-19 16:54:26
...

文件目录权限管理命令

chmod

更改文件权限。

chmod +w,g+rwx,o-rwx 1.txt
# g:文件属组  o:其他用户  a:所有用户
chmod +730 1.txt
# 4:读  2:写  1:执行

# 特殊权限:
chmod 4755 files
# 赋予 SUID(u+s) 权限(二进制文件)
# 执行者对于该程序需要具有x的可执行权限;
# 本权限仅在执行程序过程中有效;
# 执行者将具有该程序所有者的权限;
# 通俗讲就是给他所有者的执行权限
chmod 2755 files
# 赋予 SGID(g+s) 权限(都可以)

# 如果针对文件:
# 只有可执行的二进制程序才能设置 SGID 权限;
# 命令执行者要对该程序拥有 x(执行)权限;
# 命令执行在执行程序的时候,组身份升级为该程序文件的属组;
# SetGID权限同样只在该程序执行过程中有效,也就是组身份改变只在程序执行过程中有效。

# 如果 SGID 针对目录:
# 普通用户必须对此目录拥有 r 和 x 权限,才能进入此目录
# 普通用户在此目录中的有效组会变成此目录的属组
# 若普通用户对此目录拥有 w 权限时,新建的文件的默认属组是这个目录的属组

chmod 1755 files
# 赋予 SBIT(o+t) 权限(目录)
# 当用户对于此目录具有 w, x 权限时;
# 当用户在该目录下创建文件或目录时,仅有自己与root 才有权利删除该文件;
# 通俗讲就是不允许别人删除

chown

更改文件所有者。

chown stu1 1.txt
# 修改文件所有者为stu1

chown :groupA 1.txt
# 更改其所属组为groupA

chown stu1:groupA 1.txt
# 同时修改其所有者与所属组

setfacl

ACL权限管理。

setfacl -m u:stu1:rwx /mnt/test
# 给 test 目录赋予 stu1 读写执行的 ACL 权限

setfacl -m u:stu1:rx -R /mnt/test
# 赋予递归 ACL 权限,只能赋予目录

setfacl -m d:u:aa:rwx -R /mnt/test
# ACL 默认权限,只能赋予目录,用于新建目录添加子目录后生成默认ACL

setfacl -x u:stu1 /mnt/test
# 删除指定用户和用户组的 ACL 权限

setfacl -b /mnt/test
# 删除文件的所有的 ACL 权限

getfacl

查看文件ACL权限。

getfacl a.txt
# 查看文件acl

文件系统属性

chattr

更改文件属性。
chattr [±=] [选项] 文件或目录名

chattr +i 1.txt
# i: 如果对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置 i 属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。
# a: 如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删除。
# e:Linux 中绝大多数的文件都默认拥有 e 属性。表示该文件是使用 ext 文件系统进行存储的,而且不能使用“chattr -e”命令取消 e 属性。

lsattr 文件属性


lsattr 选项 文件名

lsattr 1.txt
# 查看其文件系统属性
# -a	显示所有文件和目录
# -d	若目标是目录,仅列出目录本身的属性,而不是子文件的
相关标签: Linux学习