【Linux】权限相关命令(二)

【Linux】权限相关命令(二)

  • chattr命令
    改变存放在ext2文件系统上的文件或目录属性
    i	无法对文件进行修改
    若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除
    a	仅允许补充内容,无法覆盖/删除内容
    S	文件内容在变更后立即同步到硬盘
    s	彻底从硬盘中删除,不可恢复
    A	不再修改文件的最后访问时间
    b	不再修改文件的存取时间
    D	检查压缩文件中的错误
    d	使用dump命令备份时忽略本文件
    c	默认将文件进行压缩
    u	当删除该文件后依然保留其在硬盘中的数据
    t	让文件系统支持尾部合并(tail-merging)
    x	可以直接访问压缩文件中的内容
    
    # chattr +i file
    设置无法对文件进行修改
    
    # chattr -i file
    撤销i属性
    
    # chattr +a file
    仅允许补充内容,无法覆盖/删除内容
    
    # chattr -a file
    撤销a属性
    
    # chattr -V +i file
    显示指令执行过程
    
    -R 递归处理,将指令目录下的所有文件及子目录一并处理
    -v 设置文件或目录版本
    -V 显示指令执行过程
    + 开启文件或目录的该项属性
    - 关闭文件或目录的该项属性
    = 指定文件或目录的该项属性
    
  • lsattr命令
    list attribute
    chattr命令用于改变文件或目录的隐藏属性
    lsattr命令用于查看其属性
    # lsattr file
    显示文件属性
    
    # lsattr -R you/
    递归地处理指定目录下的所有文件
    
    # lsattr -a ./
    列出目录中的所有文件,包括隐藏文件
    
    # lsattr -d you
    只显示目录属性
    
    # lsattr -v file
    -v 	显示文件或目录版本
    
    -a 	列出目录中的所有文件,包括隐藏文件
    -d 	只显示目录名称
    -R	递归地处理指定目录下的所有文件及子目录
    -v 	显示文件或目录版本
    -V	显示版本信息
    
  • setfacl命令
    set file access control list
    -m  更改文件的访问控制列表
    -M  从文件读取访问控制列表条目更改
    -x  根据文件中访问控制列表移除条目
    -X  从文件读取访问控制列表条目并删除
    -b  删除所有扩展访问控制列表条目
    -k  移除默认访问控制列表
    --set 设定替换当前的文件访问控制列表
    --set-file 从文件中读取访问控制列表条目设定
    --mask 重新计算有效权限掩码
    -n  不重新计算有效权限掩码
    -d  应用到默认访问控制列表的操作
    -R  递归操作
    -L  依照系统逻辑,跟随符号链接
    -P  依照自然逻辑,不跟随符号链接
    --restore 恢复访问控制列表
    --test 测试模式
    -v  显示版本
    -h  显示帮助信息
    
    选项-m和-x后边跟acl规则。多条规则以 , 隔开
    选项--set和--set-file用来设置文件的acl规则,先前的设定将被覆盖
    选项-m和-M选项修改文件的acl规则
    选项-x和-X选项删除acl规则
    
    user   ACL_USER_OBJ和ACL_USER
    group  ACL_GROUP_OBJ和ACL_GROUP
    mask   ACL_MASK
    other  ACL_OTHER
    
    # setfacl -m user:you:rw- ./test.txt
    # -rw-rw-r--+ 1 root admin 0 Jan 21 13:06 ./test.txt
    用户you拥有对test.txt文件的读写权限
    当一个文件拥有了ACL_USER或ACL_GROUP的值后可以称它为ACL文件,
    用+号判断
    当一个文件拥有了ACL_USER或ACL_GROUP的值时ACL_MASK也会被定义
    
    user::rwx
    user:you:rwx      #effective:r--
    group::rw-      #effective:r--
    mask::r--
    other::r--
    
    ACL_MASK规定了ACL_USER,ACL_GROUP_OBJ和ACL_GROUP的最大权限
    
    effective:r– 最大权限是read 虽然给ACL_USER和ACL_GROUP_OBJ
    其他权限,但是真正有效果的只有read权限
    
    对于rw-rw-r--,当中的rw-是指文件组的权限. 如果文件有ACL_MASK值
    当中那个rw-代表的就是mask值而不再是文件组的权限
    
    如果一个文件后面有+标记,需要用getfacl来确认权限
    
    # chacl -b
    彻底删除文件或者目录的ACL属性
    mv命令会默认地移动文件的ACL属性
    用chmod命令改变文件权限的时候相应的ACL值也会改变
    
  • getfacl命令
    # getfacl test
    获取文件访问控制列表
    
    # getfacl -a test
    仅显示文件访问控制列表
    
    # getfacl -d test
    仅显示默认的访问控制列表
    
    # getfacl -c test
    不显示注释表头
    --omit-header 
    
    # getfacl -e test
    显示所有的有效权限
    
    -a 仅显示文件访问控制列表
    -d 仅显示默认的访问控制列表
    -c 不显示注释表头
    -e 显示所有的有效权限
    -E 显示无效权限
    -s 跳过只有base entries的文件
    -R 递归显示子目录
    -L 逻辑遍历(跟随符号链接)
    -P 物理遍历(不跟随符号链接)
    -t 使用制表符分隔的输出格式
    -n 显示数字的用户/组标识
    -p 不去除路径前的 / 符号
    -v 显示版本
    -h 显示帮助信息
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值