RundeckでジョブをRundeckがインストールされているローカルホストで実行する際に、sudoがうまく機能しなくてあれやこれや試したので備忘録。
sudoの設定
スクリプト中でroot権限が必要なコマンドを実行したかったので、sudoによるパスワードを聞かれないようにvisudoでNOPASSを実行ユーザ(予定)に設定。このユーザは全ノード共通に作成していて、各ノード上でNOPASSを設定
うまくいかない動作
Rundeckでジョブを実行すると、なぜかパスワードを聞かれる。できるはずだけどなーと色々みてみると、ノードの一覧で、ローカルサーバのユーザ名が空になっているのに気づく。他のノードは設定ファイルで実行ユーザを指定しているが、ローカルサーバのノードは最初から存在しているので、特に設定していなかった。よってどのユーザで実行されるか不明な状態

実行ユーザ確認
スクリプトでwhoamiとidを実行して動作ユーザを確認。rundeckユーザで実行している。このユーザはrundeckを実行しているユーザの模様

対応
実行ユーザを変えられそうな設定も見当たらないので、rundeckユーザをvisudoでパスワードなしに変更。あんまり良くない方法だと思う。せっかくrundeckユーザで実行してroot権限与えていないのに、何かいい方法あるのかなぁ
コメント