HDFS支持权限控制,但支持较弱。HDFS的设计是基于POSIX模型的,支持按用户、用户组、其他用户的读写执行控制权限。在linux命令行下,可以使用下面的命令修改文件的权限、文件所有者,文件所属组:
hadoop fs –chmod (修改文件所有者,文件所属组,其他用户的读、写、执行权限)
haddop fs –chown (修改文件所有者)
hadoop fs –chgrp (修改文件所属组)
不同用户使用不同的linux帐户即可访问到特定文件。 启动hadoop
hdfs系统的用户即为超级用户,可以进行任意的操作。
需要注意的是:HDFS本身没有提供用户名、用户组的创建,在客户端调用hadoop 的文件操作命令时,hadoop 识别出执行命令所在进程的用户名和用户组,然后使用这个用户名和组来检查文件权限。
用户名=linux命令中的`whoami`,而组名等于`bash -c groups `。
根据上述原理来看hdfs的文件系统权限管理较弱。如果用户知道hdfs name node 地址和端口号,在安装hdfs客户端后,使用和name node 相同的用户名,即可获取到所有文件的访问权限。