Linux

使用 Ansible 將使用者提升為 root

  • July 10, 2021

如何將 Ansible 提升為 root 以執行 playbook?問題是我要配置的伺服器禁用了 root 訪問權限,並且唯一具有登錄訪問權限的使用者絕對沒有權限做任何事情,除了提升給其他使用者。

因此,當我手動登錄伺服器時,我會做這樣的事情——ssh lgus11@vdom7.intrn然後如果我需要安裝一些東西,我要麼做,sudo - myuser要麼在極少數情況下sudo -,然後輸入各自的使用者密碼。

不幸的是,如果我執行我的 Ansible 劇本,我似乎無法將使用者提升為 root。

我的/etc/ansible/hosts文件中有這樣一行:

[vault_server]
vdom7.intrn ansible_become=true ansible_become_user="root" ansible_become_password="<root_user_password>"

我執行劇本得到的結果如下:

PLAY [vault_server] ********************************************************* 

GATHERING FACTS *************************************************************** 
fatal: [vdom7.intrn] => Incorrect become password

PLAY RECAP ******************************************************************** 
          to retry, use: --limit @/home/user/main.retry

vdom7.intrn                : ok=0    changed=0    unreachable=1    failed=0   

我知道ansible_become_password確實有一些效果,因為以前我曾經遇到Missing become password過錯誤,但同時我知道我提供的密碼對使用者來說是正確的,因為當我手動使用它時,它就像一個魅力,所以我不是真的知道我做錯了什麼以及我應該如何更改劇本的執行使用者。

become預設使用sudobecome_method)。因此,您需要使用提供給 sudo 的使用者密碼,而不是 root 密碼*。*

或者您可以將become_method, 例如更改為su.

引用自:https://serverfault.com/questions/730547