Komut neden sudo olarak çalıştırılıyor komutu bulunamadı?


12

Örnek komut:

drush cc all

çalışır, ancak bu:

sudo drush cc all

bana verir:

sudo: drush: command not found

Neden? Bunu nasıl düzeltirim?


Ayrıca bazen bu gibi temel komutlarla bu sorunu yaşadım cd. dzdo cdDönen "komut bulunamadı" kullanarak . Tabii ki sonradan fark cdBen de bir kök kabuğu veya ihtiyaç ihtiyaç böylece, bir dizine ing ben çok, olmaz yardım izinlere sahip olmadığını dzdo ls, dzdo mvvb dışarıdan içeriği dir o.
Wildcard

2
Sorun sudo cdDİR cdyerleşik bir komuta değil, bir programdır. Bunun bir dizine gitmek isterseniz size (örneğin) erişimine sahip değildir ve yok orada bir dosyayı yeniden adlandırmak, (örneğin) yapabilirdi sudo mv dir/oldfile dir/newfile veya sudo sh -c "cd dir; mv oldfile newfile" .
G-Man

Yanıtlar:


13

Ne zaman sudo, kök kullanıcının varsayılan yolu $PATHgibi bir şey (olması gerekiyordu) olan önceden yapılandırılmış olsun . Programınız tarafından tanımlanan dizinler listesinde değil .$PATH

Örneğin bakınız

sudo harici komutları yürütürken güvenli olmaya çalışır.

Ortam değişkenleriyle başa çıkmanın iki farklı yolu vardır. Varsayılan olarak env_reset sudoers seçeneği etkindir. Bu nedenler komutları içeren minimal bir çevre ile yürütülecek TERM, PATH, HOME, SHELL, LOGNAME, USERve USERNAMEçağıran sürecinden değişkenlere ek olarak izin verdiği env_checkve env_keep Sudoers seçenekleri. Ortam değişkenleri için etkili bir beyaz liste var.

Yapılandırmak yapamıyorsanız sudoŞu Verilerinizi korumak için $PATH, her zamanki geçici çözüm programının yolunu tam belirtmektir. Bu, (erişilemeyen) dizindeki diğer yürütülebilir dosyaları çağıran komut dosyalarıyla iyi çalışmayabilir.


0

Tam yolu belirtmelisiniz. Aynı zamanda daha güvenlidir; yolu belirtmezseniz, bir saldırganın kök izinleriyle çalıştırılacak başka bir program oluşturabileceği düşünülebilir.

Ayrıca, /etc/sudoersizin vermek için bir satır koymanız gerekir. man sudoerssözdizimi için buraya koymak çok fazla.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.