Sudo

Ansible ssh 作為使用者並執行具有 root 權限(期望類似)

  • July 14, 2014

我必須管理大量主機,其中只有一個使用者能夠從 SSH 訪問(我們稱他為 foo),然後必須以 root 身份登錄才能執行特權命令。

Foo 使用者沒有任何類型的 sudo 權限,所以我被迫以 root 身份登錄來執行特權命令。我實際上正在使用一個期望腳本來完成這項工作(ssh 以 foo 身份登錄,通過 su 以 root 身份登錄)並且我想切換到 Ansible。我知道我可以創建一個新使用者並給他 sudo 權限,或者基本上給 foo sudo 權限,但是可以用 Ansible 做我正在做的同樣的事情嗎?

我想以 foo 身份進行 ssh 連接,然後以 root 身份執行 playbooks 或任何類型的 adhoc 命令。我在 Ansible 文件中沒有找到任何關於此的資訊,所以我在這裡詢問是否有人已經接受過這種審訊。

使用ansible,您可以使用sudosu

- hosts: example.com
 gather_facts: False
 su: yes
 su_user: root
 tasks:
   - shell: whoami

您也可以從命令行執行此操作:

ansible-playbook --su --su-user=root --ask-su-pass playbook.yml

此功能自此拉取請求以來一直可用,並且存在於目前 1.6.6 中。

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