Beberapa program tidak ditemukan saat digunakan dengan sudo

9

Saya baru saja menginstal pergi ke /usr/local/go, dan ~/.bashrcmenambahkan baris ini:

export PATH=$PATH:/usr/local/go/bin

Sekarang gobekerja dari baris perintah, tetapi sudo gomemberi saya:

$ sudo go
sudo: go: command not found
~
$ sudo echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/benjamin/algs4/bin:/usr/local/go/bin
Benjamin Lindley
sumber
Bisakah Anda memposting output darisudo echo $PATH
Manish Sinha

Jawaban:

7

sudoperintah memiliki env_keepdan env_resetparameter dalam sudoersfile.

Anda harus mengedit pengaturan env_keep Anda atau menggunakan sudo -E.

Dmitry Alexeyev
sumber
Pada sistem Debian-9 saya sudo -Etidak menyimpan $PATHvariabel.
Ark-kun
3

Edit file / etc / sudoers. Tambahkan jalur yang diinginkan ke baris berikut:

Secures default = / sbin: / bin: / usr / sbin: / usr / bin

contoh:

Secure_path = / sbin: / bin: / usr / sbin: / usr / bin: / usr / local / sbin: / usr / local / bin

AntumDeluge
sumber
0

Periksa apakah Anda telah menyiapkan kebijakan keamanan untuk PATH Anda dengan perintah berikut:

$ sudo sudo -V | grep PATH
Value to override user's $PATH with: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Jika demikian, nonaktifkan atau tambahkan di sana sudo visudo.

Lihat: Mengapa variabel PATH berbeda ketika berjalan melalui sudo dan su? di Unix SE

kenorb
sumber