虽然我对目录有读访问权限,但无法在HDFS目录中列出文件

时间:2017-06-12 10:30:11

标签: linux hdfs

根据以下命令,它明确指出用户sp10对input_files目录具有读取权限,该目录位于/ data / staged / advance / adobe / mail_segments /

为什么用户sp10无法列出/ data / staged / advance / adobe / mail_segments / input_files中的所有文件?

sp10是group 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]$

1 个答案:

答案 0 :(得分:0)

Apache Hadoop HDFS Permissions Guide包含Permission Checks部分,其中列出了各种文件系统操作以及路径上所需的确切权限。在这种情况下,相关操作是getListing。对于路径的最后一个组件,此操作需要读取和执行访问。对于只具有读取权限的用户来说,这是不够的,因此拒绝访问。

我希望如果您在/ data / staged / advance / adobe / mail_segments / input_files上为该组添加执行权限,那么它将按照您想要的方式工作。