当我运行以下时,我得到以下ACL设置。创建新目录时存在问题。由于某种原因,默认ACL参数未传递给新目录
AppUser1@r01mgt:~ $ hadoop fs -getfacl /somedir/
# file: /somedir
# owner: Owner1
# group: Group1
user::rwx
group::r-x
group:Group2:r-x
group:Group3:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:Group2:r-x
default:group:Group3:rwx
default:mask::rwx
default:other::r-x
--CREATE new dir
AppUser1@r01mgt:~ $ hadoop fs -getfacl /somedir/somedir
# file: /somedir
# owner: Owner1
# group: Group1
user::rwx
group::r-x
group:Group2:r-x
group:Group3:rwx #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:Group2:r-x
default:group:Group3:rwx
default:mask::rwx
default:other::r-x
有谁知道为什么我的小组:Group3:rwx成为有效的r-x?为什么我的面具变成了r-x?这是因为umask吗?
感谢,
马特
答案 0 :(得分:0)
请参阅HDFS-6962 ACL与umaskmode的继承冲突
简而言之:
... HDFS屏蔽了ACL值(用户,组和其他 - 除了POSIX 所有者)在创建时使用
dfs.umaskmode
属性的组掩码 具有继承ACL的目录。 ......这是与POSIX的分歧 ACL规范。......以向后兼容的方式进行此更改是不可能的 在2.x行...如果有人在客户之前升级客户 NameNode ...客户端和NameNode都不会应用umask ......当然会损害安全性。
我将此重定向到3.0.0。