zoukankan      html  css  js  c++  java
  • 访问控制列表ACL

    ACL:Access Control List 访问控制列表

    除了文件原本的权限位设置,可以自定义用户访问控制。

    CentOS 7 默认创建的xfs和ext4文件系统具有ACL功能

    CentOS 7 之前版本,系统安装时候创建的文件系统有ACL功能,默认手工创建的ext4文件系统无ACL功 能,需手动增加。

    比如在6上新加一块磁盘,创建了sdb1分区,可以用下面命令使其支持ACL:

    基本命令用法

    getfacl XXX

    获取文件或文件夹的权限:

    setfacl(set file acl)

    给一个文件加了facl的话,整个权限位后面会有个+号,表示设置了facl权限。

    -m 参数,表示modify

    禁止yu用户访问file1

     禁止yu组访问file2

    禁止其它用户访问file1

    默认的从上到下的权限依次是:

    如果一个用户属于多个自定义的组,权限是这几个组的权限的累加。

    setfacl的其他用法

    setfacl -Rb *:清除所有acl

    setfacl -M TEXT:利用列表来批量设置权限

    -d 参数(default的意思),默认在facl权限下的目录,新创建的文件和文件夹继承上一级目录的权限。例如:

    setfacl -md d:u:yu:rwx /app/dir2

    那么在dir2下新创建的目录就默认继承dir2的acl权限。

    -x删除某个权限:

    setfacl -x u:yu:rwx /app/dir2

    -X按照文件里的内容来批量删除权限:

    setfacl -X file.acl xxx


    acl中的mask

    facl的mask是高压线,是影响自定义用户和自定义组的权限,有了mask后,会与自定义的用户和组的权限做逻辑与,这之后是自定义用户和组的真实权限。

    默认是没有高压线的,默认值一般都是所有自定义用户和组的最高权限累加。

    如果设置了,就相当于设定了高压线,高于这个高压线的权限,会降低到高压线之下。

    我们可以看到,设置了高压线后,自定义用户和自定义组的有效值(effective)是不超过mask的r--

    facl权限的复制、备份和恢复

    复制acl权限:

    getfacl file1 | setfacl --set-file=- file2

    主要的文件操作命令cp和mv都支持ACL,只是cp命令需要 加上-p 参数。但是tar等常见的备份工具是不会保留目录 和文件的ACL信息。

     

  • 相关阅读:
    LAMP动态网站安装脚本
    图片上传
    如何用qq代理发送邮件
    初识c#
    Eclipse使用技巧
    maven中 install的install:install的区别
    Git的各种状态
    phpStorm中Structure窗口中的符号代表的意思
    Apache+PHP+MySQL+phpMyAdmin+WordPress搭建
    Session重点整理
  • 原文地址:https://www.cnblogs.com/momenglin/p/8533173.html
Copyright © 2011-2022 走看看