GNU/Linux >> Linux の 問題 >  >> Linux

`sudo`はどのパスを使用して「」を検索しますか?

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 –別のユーザーとしてコマンドを実行します


Linux
  1. サーバー用のDebianとUbuntu、どちらを選択するか

  2. Python – / usr / bin / envはどのプログラムを使用するかをどのように知っていますか?

  3. 「nohupSudo…」はPasswdを要求せず、何もしませんか?

  1. 典型的な使用シナリオのためにマンページを検索する方法は?

  2. Linux –カレンダーに使用するアプリケーションはどれですか?

  3. Pythonが64ビットか32ビットかを確認するために使用するコマンド

  1. どのpythonとPYTHONPATH

  2. sudo コマンドのパスを設定する方法

  3. なぜsudoを使用する必要があるのですか?