非Master服务器用户也能通过客户端远程访问Hadoop
现象:在Hadoop集群多用户管理实践中发现,客户端用非Master服务器配置的用户连接Master,也通用具备对指定目录的操作权限。比如Master服务器提供的用户的是A,理论上客户端应用在A用户下部署安装hadoop后远程连接,但现在客户端用B用户安装Hadoop客户端并连接Master服务器,且可在指定目录下rwx,只是在涉及datanode任务时会提示权限不足。
原理:默认ACL必须包含所有最小要求的ACL项,包括文件拥有者项,文件所属的组项和其它用户项。如果用户没有在默认ACL中配置上述三项中的任何一个,那么该项将通过从访问ACL拷贝对应的权限来自动插入,或者如果没有访问ACL则自动插入权限位。默认ACL也必须拥有mask,如果mask没有被指定,通过计算所有被mask过滤项的权限与(&运算)自动插入mask。当一个文件使用ACL时,权限检查的算法则变为:
1)当用户名为文件的属主时,会检查属主的权限。
2)否则如果用户名匹配命名用户条目中的一个时,权限会被检查并通过mask权限来进行过滤。
3)否则如果文件的组匹配到当前用户的组列表中的一个时,而这些权限经过mask过滤后仍然会授权,会被允许使用。
4)否则如果其中一个命名组条目匹配到组列表中的一个成员,而这些权限经过mask过滤后仍然会授权,会被允许使用。
5)否则如果文件组和任何命名组条目匹配到组列表中的一个成员时,但是访问不会被任何一个权限所授权时,访问会被拒绝。
6)除此之外,o