Beser構文を使用したsudo no passwordコマンドでAnsibleを実行する方法


8

rootとして実行する必要があるいくつかのコマンドがあるホストマシンに対してansibleを実行すると、sudoで実行するのではなく、rootとしてコマンドを実行するため、これらを "become"で実行できません。

私がやっていることはcommand: sudo ... 、警告を使用して抑制しているだけです

args: 
  warn: no

sudo sans passwordを使用してLinuxコマンドラインを実行するより良い、より標準化された方法はありますか?


これの本当の理由は何ですか?を使用sudoしてタスクを実行する場合の内部での使用の可能性become
Konstantin Suvorov

1
@konを使用するbecome"msg": "Missing sudo password"、失敗の理由で取得します
Peter Turner

回答:


6

rootとして実行する必要があるいくつかのコマンドがあるホストマシンに対してansibleを実行すると、sudoで実行するのではなく、rootとしてコマンドを実行するため、これらを "become"で実行できません。

それは真実ではない; becomeは特権の昇格にさまざまな方法を使用し、デフォルトではを使用しsudoます。

特定のコマンドへのsudoアクセスを制限しようとするなど、becomeモジュール既知の制限の 1つに直面している可能性がありますか?


まあ、これはansibleの制限の1つに思えsudo -H -S -n -u root /bin/sh -c 'bunch of stuff'ます。-vvvを実行すると、sudo特権で必要なコマンドを実行できると思っていましたが、より一般的な方法でrootを使用して他の1000種類のコマンドを実行する必要があるため、これは少し単純だと思います。
Peter Turner

2

-Kはもう試しましたか?私は常にこのオプションを使用しており、sudoパスワードを入力する必要があります


ええ、問題は、私が使用しているsshユーザーが、rootとしてシェルを起動する権限を持っていないことです。これは、ansibleを介して実行したいコマンドに対してだけです。
Peter Turner

ansibleは基本的にsshを介してコマンドを実行しているため、ユーザーがrootとしてシェルを起動できない場合、rootとしてコマンドを実行することは不可能だと思います。
030
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.