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信息。

     

  • 相关阅读:
    你了解幻读吗?
    http面试准备
    DNS域名解析过程,域名的认识
    ajax实现用户登陆,退出,java做后端
    serialize()与serializeArray()
    jquery中Json操作
    jquery字符串操作
    理解jQuery的$.extend与$.fn.extend
    HTML之间互相传参
    解决topjui中工具栏按钮删除刷新从属表
  • 原文地址:https://www.cnblogs.com/momenglin/p/8533173.html
Copyright © 2011-2022 走看看