Sepertinya bug ini sudah ada cukup lama! Berikut adalah beberapa referensi bug yang mungkin bermanfaat bagi Anda (dan mungkin ingin berlangganan / memberikan suara, memberi petunjuk, memberi petunjuk ...):
Bug Debian # 85123 ("sudo: SECURE_PATH masih tidak dapat ditimpa") (mulai 2001!)
Tampaknya Bug # 20996 masih ada dalam versi sudo ini. Changelog mengatakan bahwa itu dapat diganti pada saat runtime tetapi saya belum menemukan caranya.
Mereka menyebutkan menempatkan sesuatu seperti ini di file sudoers Anda:
Defaults secure_path="/bin:/usr/bin:/usr/local/bin"
tetapi ketika saya melakukannya di Ubuntu 8.10 setidaknya, itu memberi saya kesalahan ini:
visudo: unknown defaults entry `secure_path' referenced near line 10
Bug Ubuntu # 50797 ("sudo dibangun dengan --with-secure-path bermasalah")
Lebih buruk lagi, sejauh yang saya tahu, tidak mungkin meresesifikasi secure_path dalam file sudoers. Jadi, jika, misalnya, Anda ingin menawarkan pengguna Anda akses mudah ke sesuatu di bawah / opt, Anda harus mengkompilasi ulang sudo.
Iya. Sana perlu menjadi cara untuk menimpa ini "fitur" tanpa harus mengkompilasi ulang. Tidak ada yang lebih buruk dari para fanatik keamanan yang memberi tahu Anda apa yang terbaik untuk lingkungan Anda dan kemudian tidak memberi Anda cara untuk mematikannya.
Ini sangat menjengkelkan. Mungkin bijaksana untuk menjaga perilaku saat ini secara default untuk alasan keamanan, tetapi harus ada cara menimpanya selain mengkompilasi ulang dari kode sumber! Banyak orang yang membutuhkan warisan PATH. Saya bertanya-tanya mengapa tidak ada pengelola yang melihatnya, yang tampaknya mudah untuk menghasilkan solusi yang dapat diterima.
Saya mengatasinya seperti ini:
mv /usr/bin/sudo /usr/bin/sudo.orig
kemudian buat file / usr / bin / sudo yang berisi yang berikut ini:
#!/bin/bash
/usr/bin/sudo.orig env PATH=$PATH "$@"
maka sudo reguler Anda berfungsi seperti sudo non-path aman
Bug Ubuntu # 192651 ("jalur sudo selalu disetel ulang")
Mengingat bahwa duplikat bug ini awalnya diajukan pada Juli 2006, saya tidak jelas berapa lama env_keep tidak efektif telah beroperasi. Apa pun manfaatnya memaksa pengguna untuk menggunakan trik seperti yang tercantum di atas, tentu saja halaman manual untuk sudo dan sudoer harus mencerminkan fakta bahwa opsi untuk memodifikasi PATH secara efektif berlebihan.
Memodifikasi dokumentasi untuk mencerminkan eksekusi yang sebenarnya tidak mengganggu dan sangat membantu.
Bug Ubuntu # 226595 ("mustahil untuk mempertahankan / menentukan PATH")
Saya harus dapat menjalankan sudo dengan folder biner non-std tambahan di PATH. Setelah menambahkan persyaratan saya ke / etc / environment Saya terkejut ketika saya mendapatkan kesalahan tentang perintah yang hilang ketika menjalankannya di bawah sudo .....
Saya mencoba yang berikut ini untuk memperbaikinya tanpa berhasil:
Menggunakan opsi " sudo -E
" - tidak berfungsi. PATH saya yang ada masih direset oleh sudo
Mengubah " Defaults env_reset
" menjadi " Defaults !env_reset
" di / etc / sudoers - juga tidak berhasil (bahkan ketika dikombinasikan dengan sudo -E)
Membatalkan komentar env_reset
(misalnya " #Defaults env_reset
") di / etc / sudoers - juga tidak berfungsi.
Menambahkan ' Defaults env_keep += "PATH"
' ke / etc / sudoers - juga tidak berhasil.
Jelas - meskipun ada dokumentasi manual - sudo sepenuhnya di-hardcode tentang PATH dan tidak memungkinkan fleksibilitas mengenai mempertahankan PATH pengguna. Sangat menjengkelkan karena saya tidak dapat menjalankan perangkat lunak non-standar di bawah izin root menggunakan sudo.