• 11.文件访问控制列表


    基于普通文件或目录设置ACL 其实就是针对指定的用户或用户组设置文件或目录的操作权限。另外,如果针对某个目录设置了ACL,则目录中的文件会继承其ACL;若针对文件设置了ACL,则文件不再继承其所在目录的ACL。

    1.setfacl :管理文件的ACL 规则,格式为“setfacl [参数] 文件名称”。

      文件的ACL提供的是在所有者、所属组、其他人的读/写/执行权限之外的特殊权限控制,使用setfacl命令可以针对单一用户或用户组、单一文件或目录来进行读/写/执行权限的控制。

      针对目录文件需要使用-R 递归参数;

      针对普通文件则使用-m 参数;

      如果想要删除某个文件的ACL,则可以使用-b 参数。

      举例:设置用户在/root 目录上的权限  

    [root@Centos test]# su - centos
    Last login: Fri Aug 14 14:29:34 CST 2020 on pts/2
    [centos@Centos ~]$ cd /root
    -bash: cd: /root: Permission denied
    [centos@Centos ~]$ exit
    logout
    [root@Centos test]# setfacl -Rm u:centos:7 /root
    [root@Centos test]# su - centos
    Last login: Fri Aug 14 18:26:10 CST 2020 on pts/2
    [centos@Centos ~]$ cd /root
    [centos@Centos root]$ ll
    total 8
    -rw-rwx---+ 1 root root 1489 Jul 30 01:37 anaconda-ks.cfg
    drwxrwxr-x+ 2 root root    6 Jul 30 02:33 Desktop
    drwxrwxr-x+ 2 root root    6 Jul 30 02:33 Documents  

     

      文件的权限最后一个点(.)变成了加号(+),这就意味着该文件已经设置了ACL 了。

      删除:  

    [centos@Centos root]$ exit
    logout
    [root@Centos test]# setfacl -b u:centos:7 /root
    setfacl: u:centos:7: No such file or directory
    [root@Centos test]# su - centos
    Last login: Fri Aug 14 18:37:27 CST 2020 on pts/2
    [centos@Centos ~]$ cd /root
    -bash: cd: /root: Permission denied

    2.getfac:显示文件上设置的ACL 信息,格式为“getfacl 文件名称”。

      举例:  

    [root@Centos test]# setfacl -Rm u:centos:7 /root
    [root@Centos test]# getfacl /root
    getfacl: Removing leading '/' from absolute path names
    # file: root
    # owner: root
    # group: root
    user::r-x
    user:centos:rwx
    group::r-x
    mask::rwx
    other::---
  • 相关阅读:
    HDU 4165 pills
    POJ 2125 Destroy The Graph
    POJ 2075 Tangled in Cables
    NYOJ Number SequenceProblem F
    PHP Eval研究笔记
    PHP 学习备忘(更新中)
    iOS学习笔记1 版本控制
    PHP全局缓存上栽的坑及其他【反面教材系列】
    iOS学习笔记2 Code Format
    iOS学习笔记4 垃圾回收初涉
  • 原文地址:https://www.cnblogs.com/xinghen1216/p/13503884.html
Copyright © 2020-2023  润新知