我使用ansible 2.0.2.0從任何計算機更新我的靜態網站。我的劇本上只有本地主機上運行,主要有兩個部分:如何使ansible只在要求時要求成爲密碼
- 特權部分:確保軟件包安裝,基本上是
apt
任務,become: true
- 沒有權限的部分:填寫模板,縮小與網絡託管服務同步,實質上
command
任務沒有become
。
我寧願將這兩部分放在同一個劇本中,以便在切換電腦時不需要擔心依賴關係。理想情況下,我希望能夠檢查apt
軟件包是否已安裝,並且只有在需要安裝任何軟件時纔要求提供密碼。
sudo ansible-playbook ...
:其他,我迄今探索和它們的缺點摘要如下不太令人滿意的替代運行無特權的一部分
root
,要求輸入sudo密碼不需要時;ansible-playbook --ask-become-pass ...
:即使不需要安裝新軟件包,也總是詢問sudo密碼;ansible-playbook ...
:不合格sudo: a password is required
。
有什麼辦法來保持特權和非特權的部分以相同的劇本不會不必要鍵入須藤密碼,也不無特權部分施加不必要的特權?
我認爲爲了能夠使用apt來檢查是否符合軟件包依賴性它需要root權限 - 所以即使不需要安裝新的軟件包,您也需要傳遞密碼。 – fishi