GNU/Linux >> Belajar Linux >  >> Linux

Jalur Mana yang Digunakan `Sudo ` Untuk Mencari “?

Saya menginstal Eclipse di direktori home saya, dan meletakkan jalurnya di PATH di ~/.profile .

Jadi ini bekerja dengan

$ eclipse 

Tetapi ketika memanggilnya dengan sudo , eclipse tidak ditemukan:

$ sudo eclipse 
sudo: eclipse: command not found

PATH . yang mana apakah sudo eclipse gunakan untuk mencari eclipse ? Apakah pengguna root PATH ?

Terima kasih.

Jawaban yang Diterima:

sudo secara default menggunakan minimal PATH , agar aman digunakan oleh root pengguna. Itu belum tentu sama dengan PATH yang akan Anda dapatkan dengan masuk sebagai root pengguna, atau dengan melakukan

sudo su -

Misalnya, dalam rilis Red Hat yang lebih baru, saya perhatikan bahwa jalur tersebut menghilangkan /usr/local/bin .

Halaman manual meringkas ini dalam bagian berjudul Catatan Keamanan :

sudo mencoba aman saat menjalankan perintah eksternal.

Ada dua cara berbeda untuk menangani variabel lingkungan. Secara default, env_reset sudoers
opsi diaktifkan. Ini menyebabkan perintah dieksekusi dengan lingkungan minimal yang mengandung TERM , PATH , HOME , SHELL , LOGNAME , USER dan USERNAME selain variabel dari proses pemanggilan
diizinkan oleh env_check dan env_keep pilihan sudoers. Ada daftar putih yang efektif untuk
variabel lingkungan.

Bacaan lebih lanjut:

  • sudoers – daftar pengguna mana yang dapat menjalankan apa

    secure_path
    Jalur yang digunakan untuk setiap perintah yang dijalankan dari sudo. Jika Anda tidak mempercayai orang yang menjalankan Sudo untuk
    memiliki variabel lingkungan PATH yang waras, Anda mungkin ingin menggunakan ini. Kegunaan lain adalah jika Anda
    ingin membuat "jalur root" terpisah dari "jalur pengguna". Pengguna dalam grup
    yang ditentukan oleh exempt_group opsi tidak terpengaruh oleh secure_path . Opsi ini tidak
    disetel secara default.

  • sudo – menjalankan perintah sebagai pengguna lain


Linux
  1. Cara Menggunakan Perintah 'find' untuk Mencari Beberapa Nama File (Ekstensi) di Linux

  2. Untuk beban kerja apa Anda pertama kali menggunakan container Linux?

  3. Python – Bagaimana /usr/bin/env Mengetahui Program Yang Digunakan?

  1. “nohup Sudo …” Tidak Meminta Passwd Dan Tidak Melakukan Apa-apa?

  2. Bagaimana Proxy Socks Transparan Mengetahui Ip Tujuan Yang Digunakan?

  3. Linux – Aplikasi Mana yang Digunakan Untuk Kalender?

  1. Bagaimana Menggunakan Grep Untuk Mencari Pola Yang Dimulai Dengan Tanda hubung (-)?

  2. Gunakan Temukan dan Temukan untuk mencari file di Linux

  3. Perintah mana yang digunakan untuk memeriksa apakah python 64bit atau 32bit