ポイント
- 設定ファイル編集コマンド
# 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 にパスを設定する方法 | Carpe Diem
- sudo実行時に$PATHが通っていない場合の設定 – 黒川仁の文具堂ブログ三昧
- sh -cとかどういうときに使うのでしょうか? – Yahoo!知恵袋
以上です。
「sudo 時に sbin などの(root ユーザーの)パスを追加したのです!【CentOS】」への1件の返信
[…] 65;るユーザの sudo 時の PATH が今まで「/usr/bin… >>sudo 時に sbin などの(root ユーザーの)パスを追加したのです!【CentOS】 | oki2a24 Author: […]