eclipseをホームディレクトリにインストールし、そのパスをPATH
に配置しました ~/.profile
内 。
だからそれは
によって動作します$ eclipse
ただし、sudo
で呼び出すと 、eclipse
見つかりません:
$ sudo eclipse
sudo: eclipse: command not found
どのPATH
sudo eclipse
eclipse
の検索に使用します ?ユーザーroot
ですか のPATH
?
ありがとう。
承認された回答:
sudo
デフォルトでは、最小を使用します PATH
、 rootで安全に使用できるようにするため ユーザー。これは必ずしもPATH
と同じではありません rootとしてログインすると取得できます ユーザー、または実行することによって
sudo su -
たとえば、新しいRed Hatリリースでは、パスで/usr/local/bin
が省略されていることに気付きました。 。
マニュアルページでは、これをセキュリティノートというタイトルのセクションにまとめています。 :
sudoは、外部コマンドを実行するときに安全を確保しようとします。
環境変数を処理するには、2つの異なる方法があります。デフォルトでは、
env_reset
sudoers
オプションが有効になっています。これにより、コマンドはTERM
を含む最小限の環境で実行されます。 、PATH
、HOME
、SHELL
、LOGNAME
、USER
およびUSERNAME
env_check
によって許可された呼び出しプロセスからの変数に加えて
およびenv_keep
sudoersオプション。事実上、
環境変数のホワイトリストがあります。
さらに読む:
-
sudoers –どのユーザーが何を実行できるかのリスト
secure_path
sudoから実行されるすべてのコマンドに使用されるパス。 sudoを実行しているユーザーが
適切なPATH環境変数を持っていると信頼できない場合は、これを使用することをお勧めします。もう1つの用途は、
「ルートパス」を「ユーザーパス」から分離したい場合です。exempt_group
で指定されたグループ内のユーザー
オプションはsecure_path
の影響を受けません 。このオプションは、デフォルトでは
設定されていません。 -
sudo –別のユーザーとしてコマンドを実行します