首先新建一个目录。hdfs赋700权限
Ranger只给read的权限
测试发现如果是查看目录,需要read_execute的权限,如果查看到目录下的文件级别则是需要个execute的权限
对比:测试给目录704的权限,hdfs dfs -chmod 704 /policytest/,做对比。
此时/policytest/没有递归
加上递归权限与上述ranger权限一致做对比。发现对比结果一致
对比:linux文件系统。与hdfs文件系统有不同之处。
Ranger只给execute权限,ls目录没有权限,目录下的文件可查看文件信息,不可读(ps:linux文件系统前提与测试结果一样)
再次给这个用户在ranger上加上read,execute权限
测试发现给这个目录加上execute权限之后,这个目录是可读了,目录下的文件也可读了(ps:linux文件系统前提与测试结果一样)
目录权限700,再给一个用户的一个文件名只给read的权限,依然没有权限。再加上个execute依然没有读的权限。(ps:linux文件系统前提与测试结果一样)
综上:hdfs需要对一个目录或者文件进行访问,必须先具备该目录r+x权限。r权限只能针对文件设置可读,如果只对文件设置r权限,上层目录没有r+x权限,文件依然不可读。
与Linux文件系统唯一的区别之处:Linux系统拥有目录r权限,可浏览目录。Hdfs不可以。