Can sudo kaldırıldıktan sonra yeniden yüklenebilir mi?

58

Bu bir tavuk yumurtası problemi gibi görünüyor. % Co_de% 'yi kullanan en yaygın görev, yazılımı yüklemek ve kaldırmaktır.

sudo apt-get purge <appname>

Ancak sudo 'nin kendisi kaldırılabilir.

sudo apt-get purge sudo # Do not run this command on production computers!

Eğlenmenin geldiği yer

[email protected]:~$ sudo
bash: /usr/bin/sudo: No such file or directory

Doğru aklındaki hiç kimsenin sudo 'sini (benden başka) temizlemeyeceği açık olsa da, bu komutu çalıştırmak için birisi kandırılabilir (doğrudan, altıgen modunda veya herhangi bir şekilde) denir) veya bir kişi 'de teknoloji guru olarak gizlenmiş olabilir ve karışıklık yapar .

Peki sudo'nun yeniden yüklenmesi için bir yol var mı?

    
sordu Registered User 15.03.2014 10:24

7 cevap

52

Uygulamaları aşağıdakileri kullanarak yükleyebilirim:

pkexec apt-get install <appname>

man pkexec 'den:

  pkexec allows an authorized user to execute PROGRAM as another user. If
  username is not specified, then the program will be executed as the
  administrative super user, root.

Yani, pkexec apt-get install sudo 'inin de çalışması gerektiğini düşünüyorum.

Düzenle : Artık onaylayabilirim: yes , sudo , pkexec apt-get install sudo kullanılarak kullanılarak yüklenebilir:

( büyütmek için tıklayın )

    
verilen cevap Radu Rădeanu 15.03.2014 10:38
28

Kurtarma Moduna her zaman önyükleme yapabilir, kök kabuğuna geçebilir ve sudo olmadan yükleyebilirsiniz.

    
verilen cevap Vojtech Trefny 15.03.2014 10:37
22

Evet, sudo paketini yeniden yüklemek, chroot yöntemi kullanılarak mümkün olacaktır.

  • Ubuntu canlı diskinden ilk önyükleme.

  • Önceden yüklenmiş olan Ubuntu bölümünü istediğiniz dizine ekleyin. Durumumda, /media/ubuntu dizinine yerleştirdim.

    sudo mkdir /media/ubuntu
    sudo mount /dev/sdaX /media/ubuntu   # /dev/sdaX - previously installed Ubuntu partition.
    
  • Varsayılan olarak, bir bölümü chrooted sonra internet bağlantısı elde edemediniz. Çalışmak için aşağıdaki komutu çalıştırın.

    for d in dev sys run proc; do sudo mount --bind /$d /media/ubuntu/$d ; done
    

Bu için harika bir kod parçası olan @Oli'ye teşekkürler.

  • Şimdi takılı dizine chroot

    $ sudo chroot /media/ubuntu
    # apt-get update
    
  • Çalışarak sudo paketini yükle

    # apt-get install sudo
    
  • Şimdi chrooted ortamdan çıkın.

    exit
    
  • Sonunda Ubuntu işletim sisteminizi önyükleyin.Şimdi sudo komutunuzu test edin, kesinlikle işe yarayacaktır.

verilen cevap Avinash Raj 15.03.2014 10:47
4

Çekirdek komut satırında init=/bin/sh ek parametresiyle önyükleme yapın. Bu, doğrudan apt-get install sudo dosyasını çalıştırabileceğiniz ve ardından yeniden başlatabileceğiniz bir kök kabuğuna doğrudan koyacaktır. İlk olarak çalışan bir ağ bağlantısı kurmak için /etc/init.d/networking start çalıştırmanız gerekebilir. Bana sorarsan kurtarma CD'leri veya canlı disklerle uğraşmaktan çok daha kolay.

    
verilen cevap Jules 17.03.2014 07:46
1

root kullanıcı hesabı parolasını bu komutla önceden ayarladıysanız veya sudo passwd root olarak güncelleştirdiyseniz, sudo peeping hakkında endişelenmeyin. root hesabınıza giriş yapın ve sonra sudo ,

su
apt-get install sudo

Büyütmek için buraya tıklayın

    
verilen cevap Avinash Raj 17.03.2014 06:10
-1

sudo (ve diğer herhangi bir root ayrıcalığı) sadece çalışan işletim sistemi için geçerlidir. Aptalca ve sudo'yu (veya / usr / bu konu için) kaldırdıysanız ve pkexec gibi alternatifler yoksa, başka bir şeyden önyükleme yapabilir, eksik yazılımı kopyalayabilir ve yeniden başlatabilirsiniz.

Fiziksel erişim, sisteminizin sahip olabileceği tüm yazılım güvenliğini geçersiz kılar.

    
verilen cevap paul 15.03.2014 14:33
-2

Bu sorun çok ubuntu özgü gibi görünüyor. Ubuntu olmayan kullanıcı olarak, sudo'nun neden herhangi bir şekilde özel bir durum olacağını anlamamıştım (birçok dağıtım varsayılan olarak yüklemiyor).

Hiç sudo'ya ihtiyacınız yok. Sadece root olarak oturum açmadan bir root komutu yürütmenize izin veren tembel bir kısayol. Ancak, tek bir komuttan daha fazlasını yapmak zorunda kalırsanız, her şeyi sudo ile sürekli olarak önbelleğe almak çok zor. % Co_de% 'nin kullanılması, kullanıcıların izinlerin ve kök hesabın nasıl çalıştığı konusunda bilgisiz kıldığından bahsetmez. Sadece root olarak giriş yapmak, sistemin yönetimini yapmak ve çıkış yapmak çok daha mantıklı. Normal kullanıcı olarak giriş yapmışsanız, sudo ile yaptığınız. Veya doğrudan root olarak giriş yapabilirsiniz.

Tabii ki, su parola ayarına sahip olmanız gerekir, bu mantıklı bir konfigürasyon, aksi takdirde, hiç kimsenin gerçekleştiremeyeceği ve gerçekten de root değilse, gerçekten kilitli olduğunuz bir pencere benzeri sisteminiz var. kullanılabilir ( sudo çalışmasını, /etc/ değerini ve takılı olan diğer şeyleri ayarlamanızı gerektirir - önyüklemede bir şeyler yanlış giderse elinizde olmayabilir).

    
verilen cevap orion 17.03.2014 08:51

Etiketlerdeki diğer soruları oku