修改文件ACL:setfacl -m u:tux:rw file 允许用户tux读写file文件
查看文件ACL:getfacl file
使用了ACL的文件,通过ls -l命令来查看权限时,后面会有一个“+”号,group的权限会有变化(使用了ACL mask权限)。
文件使用ACL后,权限角色有如下几种类型:
最小化ACL:
owning user
owning group
other
扩展ACL:
可以包含若干个对象:named user(设置单独用户的访问权限)、named group(设置单独群组的访问权限)
包含一个mask(限制named users 和 named groups的权限)
举例说明如下:
owner user::rwx
named user user:name:rwx
owning group group ::rwx
named group group :nam e:rwx
mask mask::rwx
other other::rwx
定义在owner、other里的权限一直都是有效的,其它权限可能用效或者被隐蔽。
named user与named group的值是否生效,还要看其值与mask的“与”值,即mask也要有该权限,才能生效。
mask的值一般是与owning group一致的,可以通过修改owning group的值来修改mask。
举例说明如下:
linux-canbeing:/home/canbeing/temp # getfacl my
# file: my
# owner: canbeing
# group: users
user::rw-
user:canbeing:rwx #effective:r-x w没有生效
group::r--
mask::r-x
other::r--
子目录会继承父目录的ACL。
如果父目录有ACL,则创建新文件或者文件夹时,默认权限不会根据umask来计算,而是继承或者根据命令参数。
使用setfacl -d -m u:canbeing:rw /tmp/acl_test/ 则此权限会得到子目录及文件的继承(权限以default开头)
linux-canbeing:/tmp/acl_test # getfacl /tmp/acl_test/
getfacl: Removing leading '/' from absolute path names
# file: tmp/acl_test/
# owner: root
# group: root
user::rwx
user:canbeing:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:canbeing:rw-
default:group::---
default:mask::rw-
default:other::---