在linux上的hdfs中更改现有用户的权限

时间:2017-02-21 22:22:39

标签: hadoop hdfs

我是Hadoop的新手,我遇到了一个我不确定如何解决的问题。

我有两个现有的HDFS用户:一个叫做hdfs,一个叫做user1。当我将文件作为user1写入HDFS时,两个用户都可以查看和删除文件。但是,如果我将该文件添加为用户hdfs,则当我尝试使用它时,user1会抛出一个找不到文件的错误。为什么一个用户能够编辑文件而另一个用户无法编辑文件?我能做些什么来让user1也能够编辑文件吗?

以下是用户的权限:

hdfs  = drwxr-xr-x
user1 = drwxrwxr-x

我在CentOS 6.6上运行HDFS作为OpenJDK 1.8的一部分

3 个答案:

答案 0 :(得分:1)

hdfs是super-user,不受权限检查的限制,可以特别访问其他用户的文件,例如user1

chmod可按以下方式完成:hdfs dfs -chmod XXX /dir

答案 1 :(得分:1)

hdfs用户是超级用户,因此每当您将文件复制为hdfs时,其他用户都看不到。如果你想看到那些文件你必须执行命令,如下所示

sudo -u hdfs hdfs dfs -cat /path/

user1是普通用户,因此每当您将文件复制为user1时,hdfs用户都可以访问这些文件

是的,有以下命令可以更改群组,用户,所有者等

hdfs dfs chgrp
hdfs dfs chmod
hdfs dfs chown

答案 2 :(得分:1)

HDFS是这里的超级用户,所以它可以访问所有文件,但如果你想通过user1查看具有用户和组hdfs的文件,那么你就无法直接看到。

首先,您需要更改该文件的用户和组,然后才能看到该文件。

要更改该文件的所有者和组,请使用以下命令: -

hadoop fs -chown [-R] [OWNER] [:[GROUP]] URI [URI]