Linux

Ansible adhoc 命令使用 sudo 執行

  • March 4, 2022

我需要執行 ansible adhoc 命令。

$ ansible somehost -m command -a "cat /etc/passwd"-u someuser --ask-sudo-pass

我有一個具有sudo特權的使用者帳戶(someuser)。通常我成為 root sudo su -

如何使用 adhoc 命令sudo su -

ansible 版本是 2.0.0.2

如果您將 SSH 密鑰共享到您的庫存中的伺服器,並且您想要sudoroot,您可以進一步將命令簡化為:

$ ansible all -m command -a "docker info" -u myuser --become --ask-become-pass

對於 Ansible 1.9 或更高版本,您需要--ask-become-pass改用。對於舊版本--ask-sudo-pass應該可以工作。

成為(權限提升)

在 1.9 之前,Ansible 主要允許使用sudo和有限使用 su以允許登錄/遠端使用者成為不同的使用者並執行任務,創建具有第二個使用者權限的資源。從 1.9 開始取代舊的 sudo/su,同時仍然向後兼容。這個新系統還可以更輕鬆地添加其他權限提升工具,例如pbrun (Powerbroker)、pfexecdzdo (Centrify) 等。

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