在CentOS上配置HDFS安全可从系统基础安全、Kerberos认证、权限管理、加密等方面入手,具体步骤如下:
passwd -l 用户名
。adm
、lp
):userdel 用户名
。/etc/login.defs
限制密码规则。chattr +i
锁定/etc/passwd
、/etc/shadow
等关键文件。su
命令使用:编辑/etc/pam.d/su
,仅允许特定组(如wheel
)使用。yum install krb5-server krb5-workstation
。/etc/krb5.conf
,配置领域(REALM)和KDC服务器信息。systemctl start krb5kdc && systemctl start kadmind
。kadmin.local -q "addprinc -randkey hdfs/_HOST@YOUR.REALM.COM"
。kadmin.local -q "ktadd -k /etc/security/keytabs/hdfs.keytab hdfs/_HOST@YOUR.REALM.COM"
。core-site.xml
:<property>
<name>hadoop.security.authentication</name>
<value>kerberos</value>
</property>
```。
hdfs-site.xml
,指定NameNode和DataNode的主体及密钥文件路径。kinit
获取票据:kinit 用户名@REALM.COM
。klist
查看票据有效性。hdfs dfsadmin -safemode enter
(安全模式下配置)。hdfs dfs -chmod 755 /path
,hdfs dfs -chown 用户:组 /path
。hdfs-site.xml
中设置dfs.namenode.acls.enabled=true
,并通过hdfs dfs -setfacl
添加规则。hdfs-site.xml
中设置dfs.encrypt.data.transfer=true
。ssh-keygen
和authorized_keys
)。hdfs-site.xml
配置dfs.audit.logger
)。参考来源: