質問: sudoがpathを変更するのはなぜですか? これは、sudoを使用しないpath変数です。$ echo 'echo $path' | sh /opt/local/ruby/bin:/usr/bin:/bin これは、sudoを使用したpath変数です。$ echo 'echo $path' | sudo sh /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/x11r6/bin 私が知る限り、sudoはpathをそのままにしておくことになっています。どうしたの?これを変更するにはどうすればよいですか? (これはubuntu 8.04にあります)。更新:私が見る限り、ルート変更pathとして開始されたスクリプトはありません。man sudoから: コマンドのスプーフィングを防ぐために、sudoは、ユーザーのpathでコマンドを検索するとき(一方または両方がpathにある場合)、最後に ``。 ''および `` ''(両方とも現在のディレクトリを示す)をチェックします。 ただし、実際のpath環境変数は変更されず、sudoが実行するプログラムに変更されずに渡されることに注意してください。
回答: secure_pathはあなたの友達ですが、secure_pathを免除したい場合は 須藤visudo そして追加 デフォルト値exempt_group = your_goup 多数のユーザーを除外する場合は、グループを作成し、すべてのユーザーを追加して、exempt_groupとして使用します。もっと多くの男5 sudoers。