CentOS 上 HDFS 权限管理策略
一 核心模型与关键参数
<configuration>
<property>
<name>dfs.permissions.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions.superusergroup</name>
<value>supergroup</value>
</property>
<property>
<name>fs.permissions.umask-mode</name>
<value>022</value>
</property>
<property>
<name>dfs.namenode.acls.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.namenode.name.dir.perm</name>
<value>700</value>
</property>
<property>
<name>dfs.datanode.data.dir.perm</name>
<value>700</value>
</property>
</configuration>
以上要点与命令语义、默认值和参数用途见 Hadoop 权限与 ACL 文档与实践说明。
二 身份与组映射
# 查看某用户在 HDFS 侧解析到的组
hdfs groups alice
# 刷新 NameNode 上的用户-组映射缓存
hdfs dfsadmin -refreshUserToGroupsMappings
上述认证与组映射机制及命令用法见 Hadoop 安全与组映射实践。
三 常用权限操作与 ACL 实践
# 修改权限
hdfs dfs -chmod 750 /data/warehouse
# 修改属主与属组
hdfs dfs -chown analytics:dataeng /data/warehouse
# 仅修改属组
hdfs dfs -chgrp dataeng /data/warehouse
# 为项目查看者授予只读(递归)
hdfs dfs -setfacl -R -m user:viewer:r-x /data/warehouse
# 为项目负责人授予读写执行(递归)
hdfs dfs -setfacl -R -m user:lead:rwx /data/warehouse
# 设置默认 ACL,使后续新建对象继承
hdfs dfs -setfacl -m default:user:viewer:r-x /data/warehouse
hdfs dfs -setfacl -m default:user:lead:rwx /data/warehouse
# 查看 ACL
hdfs dfs -getfacl /data/warehouse
# 对共享临时目录设置粘滞位
hdfs dfs -chmod +t /tmp
以上命令语义、ACL 掩码与默认 ACL 行为、以及粘滞位用法见 Hadoop ACL 与 UGO 命令说明。
四 安全加固与运维要点