linux系统ACL权限控制

        ACL的全称是 Access Control List (访问控制列表) ,一个针对文件/目录的访问控制列表。它在UGO权限管理的基础上为文件系统提供一个额外的、更灵活的权限管理机制。它被设计为UNIX文件权限管理的一个补充。ACL允许你给任何的用户或用户组设置任何文件/目录的访问权限。

        具体配置可以分为,文件所有者分配;文件所属的组群分配;对额外用户分配;额外组群分配;其他用户分配等灵活的应用。

1、查看具体的配置选项

配置命令setfacl,查看命令getfacl。

$ setfacl --help
setfacl 版本号 -- set file access control lists
Usage: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
  -m, --modify=acl        modify the current ACL(s) of file(s)

                                    修改当前文件的ACL
  -M, --modify-file=file  read ACL entries to modify from file 

                                    从file中读取要修改的ACL条目
  -x, --remove=acl        remove entries from the ACL(s) of file(s)

                                    从文件的ACL中删除条目
  -X, --remove-file=file  read ACL entries to remove from file

                                    读取ACL条目,从文件中删除
  -b, --remove-all        remove all extended ACL entries

                                    删除所有扩展ACL表项
  -k, --remove-default    remove the default ACL

                                      删除默认ACL
      --set=acl           set the ACL of file(s), replacing the current ACL

                              设置文件的ACL,替换当前的ACL
      --set-file=file     read ACL entries to set from file

                              从file中读取要设置的ACL项
      --mask              do recalculate the effective rights mask

                               重新计算有效的权限掩码
  -n, --no-mask           don't recalculate the effective rights mask

                                   不重新计算有效的权限掩码
  -d, --default           operations apply to the default ACL

                                操作适用于默认ACL
  -R, --recursive         recurse into subdirectories

                                  递归到子目录
  -L, --logical           logical walk, follow symbolic links

                               逻辑行走,遵循符号链接
  -P, --physical          physical walk, do not follow symbolic links

                                物理行走,不跟随符号链接
      --restore=file      restore ACLs (inverse of `getfacl -R')

                                文件恢复acl (' getfacl -R'的倒数)
      --test              test mode (ACLs are not modified)

                            测试模式(不修改acl)
  -v, --version           print version and exit
  -h, --help              this help text

$ getfacl --help
getfacl 版本号 -- get file access control lists
Usage: getfacl [-aceEsRLPtpndvh] file ...
  -a,  --access           display the file access control list only

                                 只显示文件访问控制列表
  -d, --default           display the default access control list only

                                只显示默认的访问控制列表
  -c, --omit-header       do not display the comment header

                                   不显示注释头
  -e, --all-effective     print all effective rights

                                 打印所有有效的权利
  -E, --no-effective      print no effective rights

                                  打印无有效权利
  -s, --skip-base         skip files that only have the base entries

                                  跳过只包含基本项的文件
  -R, --recursive         recurse into subdirectories

                                  递归到子目录
  -L, --logical           logical walk, follow symbolic links

                               逻辑行走,遵循符号链接
  -P, --physical          physical walk, do not follow symbolic links

                                 物理行走,不跟随符号链接
  -t, --tabular           use tabular output format

                               使用表格输出格式
  -n, --numeric           print numeric user/group identifiers

                                 打印数字用户/组标识符
  -p, --absolute-names    don't strip leading '/' in pathnames

                                       不会去掉路径名中的前导'/'
  -v, --version           print version and exit
  -h, --help              this help text

2、实践中的应用实例

1.为用户wangsan赋予data目录的读写权限

# setfacl -m u:wangsan:rw /data

2.删除用户wangsan的执行权限

# setfacl -x u:wangsan:x /data/mtime.sh

3.查看acl权限情况

# getfacl /data

4.为用户wangsan赋予data目录及其以下的目录文件权限

# setfacl -m u:wangsan:rwx -R /data

5.为用户wangsan赋予默认权限,新建文件或者目录自动拥有权限

# setfacl -m d:u:wangsan:rwx /data

6.递归取消目录下的所有acl权限

$ setfacl -b -R /data

大家根据自己的配置情况,发挥吧。我做个工作记录。

你可能感兴趣的:(网络,运维)