根据下面的命令,它清楚地声明用户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,那么它将按您希望的方式工作。