根据下面的命令,它清楚地声明用户sp10具有对input_files目录的读取权限,该目录位于/data/staged/advance/adobe/mail_段中/
为什么用户sp10不能列出/data/staged/advance/adobe/mail_segments/input_文件中的所有文件?
sp10是cldusers组的用户之一

 [sp10@client01 scripts]$ hdfs dfs -ls /data/staged/advance/adobe/mail_segments/
 Found 1 items
 drwxr-----   - appid cldusers          0 2017-06-12 11:12 /data/staged/advance/adobe/mail_segments/input_files


 [sp10@client01 scripts]$ hdfs dfs -ls /data/staged/advance/adobe/mail_segments/input_files
 ls: Permission denied: user=sp10, access=READ_EXECUTE, inode="/data/staged/advance/adobe/mail_segments/input_files":appid:cldusers:drwxr-----


 [sp10@client01 scripts]$ groups sp10
 sp10 : sp10 managers cldusers


 [sp10@client01 scripts]$ groups appid
 appid : appid managers cldusers
 [sp10@client01 scripts]$

最佳答案

Apache HadoopHDFS Permissions Guide包含一个关于Permission Checks的部分,其中列出了各种文件系统操作和路径所需的确切权限。这种情况下的相关操作是getListing。对于路径的最后一个组件,此操作需要读取和执行访问。对于只有读取权限的用户来说,这是不够的,因此访问被拒绝。
我希望如果您在/data/staged/advance/adobe/mail_segments/input_files上为组添加execute access,那么它将按您希望的方式工作。

10-05 17:54