sudo ユーザーとしての PATH 変数の問題

sudo ユーザーとしての PATH 変数の問題

PATH変数が によってどのように影響を受けるのか理解できません。このアプリケーションが存在するパスをそのユーザーのファイルに追加したので、通常のユーザーとしてsudoコマンドを実行できます。次の方法でもこれが当てはまることを確認できます。activator.bashrc

user@kubuntu:~$echo $PATH
/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/activator-1.3.2

しかし、を実行しようとするとsudo activator、sudo が実行されます。

アクティベーター: コマンドが見つかりません

/opt/activator-1.3.2へのパスを追加することでこの問題を解決しようとしましたが、 が PATH 変数にあることが示されて/etc/environmentいるにもかかわらず、同じ「コマンドが見つかりません」というエラーが引き続き表示されます。 を実行すると、アクティベータ コマンドが正常に実行されるという事実が、私にとってさらに混乱を招きます。sudo echo $PATH/opt/activator-1.3.2sudo su

答え1

いつでも次のことができます:

sudo env "PATH=$PATH" godi_console Debian のセキュリティ対策として、/etc/sudoers では secure_path オプションが安全な値に設定されています。

関連情報