Zookeeper在Debian上的权限管理可通过以下方式实现:
文件系统权限
/var/lib/zookeeper
)和日志目录(/var/log/zookeeper
),并设置所有权为zookeeper
用户和组:sudo mkdir -p /var/lib/zookeeper /var/log/zookeeper
sudo chown -R zookeeper:zookeeper /var/lib/zookeeper /var/log/zookeeper
sudo chmod -R 750 /var/lib/zookeeper /var/log/zookeeper # 限制仅所有者可写
配置文件权限设置
/etc/zookeeper/conf/zoo.cfg
,指定数据目录、端口等参数,确保authProvider
配置为SASL
或Digest
认证(如需启用认证)。ACL(访问控制列表)
zkCli.sh
工具设置节点ACL,例如:# 创建带ACL的节点(仅允许创建者读写)
./zkCli.sh -server localhost:2181 create /myNode "data" world:anyone:cdrwa
# 或通过JAAS配置文件(需在zoo.cfg中启用SASL)
# 参考:https://zookeeper.apache.org/doc/r3.6.4/authentication.html
系统用户与认证
zookeeper
,并确保服务以该用户运行(避免使用root
)。zoo.cfg
中指定authProvider
并创建JAAS配置文件)。工具验证
zkCli.sh
连接并验证权限:# 带认证连接(如SASL)
./zkCli.sh -server localhost:2181 -auth scheme:user:password
# 查看节点ACL
getAcl /myNode
注意:生产环境中建议启用SASL/Kerberos认证,并定期备份数据目录。