カテゴリー
Linux

sudo 時に sbin などの(root ユーザーの)パスを追加したのです!【CentOS】

ポイント

  • 設定ファイル編集コマンド
    # sudo の設定ファイル編集
    visudo
  • 編集内容は、# Defaults specification の下に次を追加
    Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin

visudo の変更でなにが変わったのでしょうか?

sudo のできるユーザの sudo 時の PATH が今まで「/usr/bin」「/bin」であったところに「/usr/sbin」「/sbin」が追加されました。

  • sudo 設定変更前
    [testuser@oki2a24 ~]$ sudo sh -c 'echo $PATH'
    /usr/bin:/bin
  • sudo 設定変更後
    [testuser@oki2a24 ~]$ sudo sh -c 'echo $PATH'
    /sbin:/bin:/usr/sbin:/usr/bin

これで、sudo したときに実行ファイルがありません!と言われなくなりました!具体例!

sudo 設定変更前は「Can’t execute sendmail -t: No such file or directory」と sendmail 実行ファイルがないためエラーとなりました。

[testuser@oki2a24 ~]$ sudo /usr/share/logwatch/scripts/logwatch.pl
Can't exec "sendmail": No such file or directory at /usr/share/logwatch/scripts/logwatch.pl line 1018, <TESTFILE> line 2.
Can't execute sendmail -t: No such file or directory
[testuser@oki2a24 ~]$

sudo 設定変更後は下記のように何事もなかったかのようにコマンド実行完了しました。

[testuser@oki2a24 ~]$ sudo /usr/share/logwatch/scripts/logwatch.pl
[testuser@oki2a24 ~]$

おわりに

上記の2つの投稿で課題としていた問題がやっと解決いたしました。設定編集だけでなく、Logwatch の投稿でエラーとなった現象も解決したことを確認できました♪

課題解決にあたり、次の投稿が非常に参考になりました。ありがとうございます。

以上です。

「sudo 時に sbin などの(root ユーザーの)パスを追加したのです!【CentOS】」への1件の返信

コメントを残す