zookeeper授權模式

ZK的權限訪問ACL。由schema:id:permission來定義的。

    其中schema包括 world、auth、digest、ip,其中world是默認權限,而且是所有人都可以對節點做任意操作,id的話就是不同schema下的標識,比如。auth、digest則代表用戶名和密碼,ip代表ip地址。permission表示具體具有哪些權限:cdwra分別表示create, delete,write,read, admin。其中admin表示具有對節點設置ACL的權限。

     a.auth是使用用戶來對某一節點設置權限。使用auth的schema,首先需要創建一個認證用戶:

         addauth digest  username:password

        setAcl   /path  auth:username:cdwra

      

      

 

   b.digest授權模式。需要一個加密的密碼。我們可以在linux上直接執行該命令獲取

          echo -n super:admin | openssl dgst -binary -sha1 | openssl base64  創建一個用戶名爲super,密碼爲admin會生成一個字符串

        

      setAcl /path digest:username:加密後的密碼:crdwa          

       digest與auth的區別在於。digest不需要先添加認證用戶就能設置節點權限,而auth需要先添加認證用戶。

        通過digest設置完節點權限後,如果客戶端需要訪問,那麼我們只需要添加認證用戶即可:

        addauth   digest  username:明文密碼

 

      c.world的schema

      

 

     d.ip的schema

       

      當前客戶端使用localhost連接的。所以提示沒有權限。使用本機Ip連接就可以了

      

 

       最後一種比較特殊,就是設置集羣的超級用戶。

      vim zk的bin目錄下的zkServer.sh找到標紅的一行,將下列代碼寫入並保存進去

      先生產超級管理員的加密密碼,然後將密碼寫入如圖下面的命令中。

    

      "-Dzookeeper.DigestAuthenticationProvider.superDigest=root:qiTlqPLK7XM2ht3HMn02qRpkKIE="

    

    將上面的命令加入到上圖箭頭的位置,並重啓zk集羣。

    超級用戶集羣添加失敗,等待大佬指正下問題!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章