hdfs中的权限组(默认情况下)如何工作?为什么所有用户文件都属于超级组?

时间:2015-01-27 23:33:38

标签: hadoop hdfs cloudera-cdh

我对hdfs中的权限组如何工作感到困惑,至少在我的群集中是这样。假设我有unix用户kranach,属于group bla。我有来自CDH5的hadoop2群集设置,有unix group hadoop ,用户hdfs,yarn和mapred belogns(但不是kranach,他与hadoop无关)。

现在,我在hdfs中的根目录具有如下所示的权限

drwxr-xr-x - hdfs supergroup 0 2015-01-27 23:08 /

所以,我假设因为我,kranach,不属于超级组,我不应该被允许在/下创建目录。但是当我这样做时: kranach@czarnobog:~$ hdfs dfs -mkdir /bla kranach@czarnobog:~$ hdfs dfs -ls / Found 6 items drwxr-xr-x - kranach supergroup 0 2015-01-27 23:27 /bla

所以我刚刚创建了属于我和group supergroup的目录。但我不是超级组,不应该被允许在那里创建dirs!根据hadoop文档(http://hadoop.apache.org/docs/r1.2.1/hdfs_permissions_guide.html#Configuration+Parameters)默认情况下hadoop只检查linux用户“group”命令,这显然对我的用户不显示超级组(它甚至不存在)。

有人可以解释一下这种行为吗?并告诉如何防止它(即我希望在这个盒子上有用户,允许访问hdfs,但不能写任何东西)。

1 个答案:

答案 0 :(得分:0)

嗯,长话短说,毕竟看起来安全已经被禁用了。我只是不知道服务器端服务不使用/ etc / hadoop / conf,但每个服务器都在/var/run/cloudera-scm-agent/process/_process-name/内有自己的配置。这些也可以在CM UI中看到,例如CM - > HDFS - >实例 - > NameNode - >流程 - > HDFS-site.xml中。

http://community.cloudera.com/t5/Storage-Random-Access-HDFS/HDFS-default-permissioning-workes-weird-CDH5-1/m-p/24137#U24137