Ubuntu下ZooKeeper权限管理主要涉及用户管理、ACL配置及服务设置,操作步骤如下:
用户与组管理
zookeeper):sudo addgroup zookeeper
sudo adduser --system --group --no-create-home --home /var/lib/zookeeper zookeeper
sudo chown -R zookeeper:zookeeper /var/lib/zookeeper
sudo chmod -R 750 /var/lib/zookeeper
配置ACL(访问控制列表)
zoo.cfg启用认证:authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
/etc/zookeeper/conf/jaas.conf)定义用户:Server {
org.apache.zookeeper.server.auth.DigestLoginModule required
user_user1="password1";
};
zkCli.sh设置节点ACL(如允许用户user1读写节点/test):./zkCli.sh -server localhost:2181
addauth digest user1:password1
setacl /test digest:user1:rw
服务与验证
sudo systemctl restart zookeeper
./zkCli.sh -server localhost:2181
getacl /test # 查看ACL规则
create /test "data" # 测试权限是否生效
注意:操作前需备份配置文件,生产环境建议结合防火墙(如ufw限制端口2181访问)及SSL加密通信。