ls
drwxrwx---+ - h_data_platform data_platform 0 2020-01-01 00:00 /user/s_lcs/duokan/duokan_key_read_report
getfacl
# file: /user/s_lcs/duokan/duokan_key_read_report
# owner: h_data_platform
# group: data_platform
user::rwx
user:s_lcs:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:h_data_platform:rwx
default:user:s_lcs:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
原因:
比如原本是ls时是750
drwxr-x---+
当你添加了一条acl后
hdfs dfs -setfacl -m "user:bar:rwx" /user/foo
ls时
变成770
drwxrwx---+
ls时group会根据添加的acl变化
全部流程:
$ hdfs dfs -chmod 755 /user/foo
$ hdfs dfs -ls /user/
drwxr-xr-x - foo hadoop 0 2018-01-05 15:39 /user/foo
$ hdfs dfs -getfacl /user/foo
user::rwx
group::r-x
other::r-x
给/user/foo目录添加一条ACL,此时/user/foo的ACL就变成了扩展ACL。我们可以观察到在新增了bar的acl条目之外,同时还新增了一个mask条目。该mask条目是自动添加的,取值是所有组类型条目的并集。同时扩展ACLs的模式权限位中组类别权限也改为映射到了mask条目,因此使用ls命令查看/user/foo的模式权限位,又变成了775。
$ hdfs dfs -setfacl -m "user:bar:rwx" /user/foo
$ hdfs dfs -getfacl /user/foo
user::rwx
user:bar:rwx
group::r-x
mask::rwx
other::r-x
$ hdfs dfs -ls /user/
drwxrwxr-x+ - foo hadoop 0 2018-01-05 15:39 /user/foo