HDFS权限设置的关键点包括以下几个方面:
启用权限管理:
core-site.xml
中配置 hadoop.security.authorization
和 hadoop.security.authentication
为 true
,以启用权限管理和身份验证功能。hdfs-site.xml
中配置 dfs.permissions.enabled
和 dfs.namenode.permissions.check-path-access
为 true
,以启用权限检查功能。Kerberos身份验证:
krb5.conf
,并配置 HDFS 以使用 Kerberos 身份验证。用户和组管理:
hadoop fs -mkdir /user/myuser
hadoop fs -chown myuser:mygroup /user/myuser
hadoop fs -chmod 755 /user/myuser/myfile
hadoop fs -chown myuser:mygroup /user/myuser/myfile
权限表示和设置:
-rwxr-xr--
,表示文件所有者有读、写、执行权限,用户组和其他用户只有读和执行权限。hdfs dfs -ls
查看权限,hdfs dfs -chmod
更改权限,hdfs dfs -chown
更改文件所有者。默认权限管理:
fs.permissions.umask-mode
参数进行修改,例如 022
表示创建的文件权限为 664
,目录权限为 775
。hdfs dfs -chmod
命令修改目录权限,例如 hdfs dfs -chmod 777 /user/test
。访问控制列表 (ACL):
hdfs dfs -setfacl
设置 ACL,hdfs dfs -getfacl
查看 ACL。超级用户和超级用户组:
supergroup
)的概念,属于 supergroup
的用户可以跳过权限检查。root
,默认的超级用户组为 supergroup
。通过以上配置和管理,可以有效控制和保护 HDFS 中的数据和资源访问权限。