Bash Sudo Komutanlığı Bulunamadı


33

Anahtar teslimi linux redmin kullanarak bir VM kurdum ve daha fazla öğe yüklemek için sunucuya SSH kullanmaya çalışıyorum.

Sudo komutunu tanıyor gibi görünmüyor. Ne zaman bir şeyi sudo yapmaya çalışırsam şunu söylerken hata alıyorum:

 -bash: sudo: command not found

'Whereis sudo' yazabilmek için başka bir yerde okudum ve çıktı:

 sudo:

Yanıtlar:


20

Görünüşe göre, http://www.turnkeylinux.org/redmine , Redunt gibi, Ubuntu’nun aksine, varsayılan olarak sudo kullanmıyor. SSH'da hangi kullanıcı adını kullanıyorsunuz? Eğer öyleyse root, o zaman kullanmak zorunda değilsiniz sudo, çünkü Redmine sistemine SSHed yaparken yaptığınız her şey gibi root. Başka bir şey varsa admin, o zaman komutları çalıştıracağınız subir rootkabuk elde etmek için komutu kullanmayı deneyebilirsiniz root.


Komut dosyası sudo komutlarına sahip olduğunda ne yapılmalı. Mkusb ile başıma geliyor. Gelecekte kolaylık sağlamak için sudo kurulumu daha iyidir.
Aşk Grover

40

Belki yüklü değil? Paket yöneticinizi açın ve sudo paketini yükleyin .


2
Yüklenmedi! Teşekkürler. Linux için oldukça yeniyim ve sadece tüm kurulumlarda olduğunu varsaydım. Sadece sudo paketine mi yoksa sudo-ldap'a mı ihtiyacım var?

2
Sudo-ldap paketine ihtiyacınız yok. Sudo bilgisayarımda iyi çalışıyor ve sudo-ldap kurulu değil.
Azendale

6

İlk önce kök hesabınıza giriş yapın. Sonra

$ apt-get install sudo

Mevcut kullanıcınızı gruba ekleyin sudo

$ sudo adduser <user> sudo

Daha sonra farklı giriş yapmalısınız <user>ve sudokomut orada olmalı.


5

tam yolu kullanmaya çalış

/usr/bin/sudo

Bu komut işe yararsa, / usr / bin / dizinini env değişkeninize PATH dizinine ~ / .bashrc yazın.

echo "export PATH="$PATH:/usr/bin"" >> ~/.bashrc

umarım çalışır ..


4
Bu sorun olması pek mümkün değil; /usr/binneredeyse kesinlikle varsayılan yolunuzda olacak. Diğer cevaplar ve yorumlar tarafından belirtildiği gibi sorun, sudokomutun hiç yüklenmemiş olmasıdır.
Keith Thompson

2

Hata, komut satırından çağırmaya çalıştığınız ikili, geçerli kullanıcının PATH değişkeninin yalnızca bir parçası olması, ancak kök kullanıcının PATH'sinin bir parçası olmaması nedeniyle oluşur.

Erişmeye çalıştığınız çiftin yolunu bularak bunu doğrulayabilirsiniz. Benim durumumda "bettercap-ng" demeye çalışıyordum. Bu yüzden koştum

$ which bettercap-ng

output: /home/user/work/bin/bettercap

Bu konumun kök kullanıcının PATH'sinin bir parçası olup olmadığını kontrol ettim.

$ sudo env | grep ^PATH

çıktı: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Yani sudo komut satırından aramaya çalıştığım ikili dosyayı bulamıyor. Bu nedenle bulunmayan hata komutunu döndürür.

Aşağıdaki gibi bir ikili çağırırken geçerli kullanıcının PATH'sini kullanmak için sudo'yu yönlendirebilirsiniz.

$ sudo -E env "PATH=$PATH" [command] [arguments]

Aslında, bunun bir takma adı olabilir:

$ alias mysudo='sudo -E env "PATH=$PATH"'

Orijinal takma adı yerine takma adı sudo olarak da adlandırmak mümkündür.

Lütfen adım adım çözüm için bu videoya bakın

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.