hello-world
webエンジニアのメモ。とりあえずやってみる。

sudoでNOPASSWD設定しても反映されない現象に遭遇

公開日時

特定ユーザの特定コマンド(今回の場合は god)のみsudoをパスワードなしで実行できるようにしたいと思い、visudoで以下のような設定を行いました。

root    ALL=(ALL)       ALL

app ALL=NOPASSWD: /opt/rbenv/shims/god

## コメント行
## コメント行

これでappユーザは/opt/rbenv/shims/godの実行のみパスワードなしでsudoを実行できるようになるはずなのですが、なぜか設定変更後も毎回パスワードを聞かれてしまう現象に遭遇しました。

別のサーバでは上記の設定で問題なく動いていたので文法的に間違っているわけではなさそうです。

調べていたところ、 ハートビーツさんのブログ記事を発見

sudoでNOPASSWORDが効かない場合、設定をファイルの一番最後に設定を書けば解決します。

というわけで実際に試してみたところ、確かに最後に書いたらパスワードなしで実行できました。

もともとNOPASSWD設定を書いた行以降はすべてコメント行だったので、これで結果が変わることはないと思っていたのですが最後の行に書くか、そうじゃないかで結果が変わるという謎の挙動でした。

途中にNOPASSWD設定を書くと反映されない現象はこれまで起きたことがなく、今回が初めて遭遇したのでハマりました。

根本的な原因がつかめていないのですが、次も同じ現象が起きたら確実にハマるのでメモしておきます。

参考

[amazonjs asin="4839953554" locale="JP" title="Webエンジニアが知っておきたいインフラの基本 ~インフラの設計から構成、監視、チューニングまで~"]


Related #Linux

[mac]ttyrec&ttygifでターミナル録画&gifアニ化

以前から試そうと思っていたターミナル録画を試してみました。

[linux]指定日時以降に更新されたファイルを一覧表示&コピー

特定の日時以降に更新されたファイルを一括で取得したかったのでコマンドを調べてみました。

irqbalance: symbol lookup error: irqbalance: undefined symbol: g_list_free_full

irqbalance を使うと IRQを複数CPUに負荷分散できるとのことなのですが、1CPUのマシンでこれを有効にしようとすると

ackで隠しファイルも検索対象にする

ファイル検索に便利なackコマンドですが、デフォルトだと隠しファイルは対象になっていません。