【发布时间】:2015-12-26 13:31:11
【问题描述】:
所以有hdfs:hdfs用户/组存在hadoop集群 还有其他分配给 hdfs 的用户,它提供对文件系统的写入和读取访问权限 如何创建一个新组并将现有用户添加到该组,对文件系统具有读写权限?
【问题讨论】:
所以有hdfs:hdfs用户/组存在hadoop集群 还有其他分配给 hdfs 的用户,它提供对文件系统的写入和读取访问权限 如何创建一个新组并将现有用户添加到该组,对文件系统具有读写权限?
【问题讨论】:
HDFS 不在其文件系统中维护单独的用户/组,而是在 unix 等底层操作系统中使用用户/组。如果您创建一个也可以在 hdfs 中使用的 unix 用户/组。
无需在集群的所有节点上创建用户/组,只需在访问hdfs文件系统的节点上创建用户/组即可。
一旦在 unix 中创建了用户/组。使用以下命令更改文件/目录的所有者:组名
hadoop fs -chown <USER>:<NEWGROUOP> <path>
以上命令应以 hdfs 用户身份执行
【讨论】:
在前面的回答中说得对。用户/组是字符串。而已。 Hadoop 会很乐意让你运行类似的命令
hadoop fs -chown fake_user_not_exists:fake_group_not_exists /test-dir
这样做的不利之处在于,如果该用户和组确实不存在,那么除了超级用户(默认情况下包括 hdfs、mapred 和 hadoop 的其他成员)之外,没有人能够访问该文件超群。
请阅读:http://blog.cloudera.com/blog/2012/03/authorization-and-authentication-in-hadoop/
【讨论】: