Sudo çıkarıldıktan sonra yeniden yüklenebilir mi?


61

Bu bir tavuk yumurtası problemi gibi görünüyor. En yaygın görev sudo, yazılımı yüklemek ve kaldırmaktır.

sudo apt-get purge <appname>

Ancak sudokendisi kaldırılabilir.

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

Burası eğlencenin geldiği yer

ubuntu@ubuntu:~$ sudo
bash: /usr/bin/sudo: No such file or directory

Aklı başında hiç kimsenin temizlemeyeceği açık sudo(benden başka), birisi bu komutu (doğrudan, altıgen modunda değil, ya da ne denirse yapsın ) çalıştırması için kandırılabilir ya da bir kişi teknoloji gurusu olarak gizlenmiş olarak SSH yapabilir. ve karışıklığı yap .

Yani sudo'yu yeniden kurmanın bir yolu var mı?


3
İyi ki, sudo'nun bile temizlenebileceğini bilmiyordum! Linux sadece çok özelleştirilebilir!
user247696 15:14

Gerçekten bir cevaba değmez, çünkü bu gerçekleşirse çok geç olur, ancak kullanıcı için bir şifre belirlemenizi engelleyen hiçbir şey yoktur root. Daha sonra su, makineye fiziksel erişiminiz varsa kullanabilir veya doğrudan root olarak giriş yapabilirsiniz (ssh genellikle root olarak giriş yapma girişimlerini reddetmek için yapılandırılacaktır).
IMSoP

Tüm cevaplar, dosya sistemine ayrıcalıklarla erişmenin bir yoluna bağlıdır. Örneğin (counter) örneği: Android Asus Memopad'ımda sudo"güvenli önyükleme" veya eşdeğeri yok ve yok. Bildiğim tek yol xda-devtam yükleme paketine önceden gitmek ve d / la'yı kullanmak. Şanslısın, tabiri caizse, bu sınırlamaların yok.
Carl Witthoft

@CarlWitthoft Android, aslında bir linux dağıtımı olmak yerine, bir linux türevidir. Ayrıca google, pek çok değişiklik yaptı (çoğu linux hayranının nefret ettiği). İyi android akıllı telefon üzerinde bilinen köklenme , android üzerinde gerçek linux güçlerini kazanmak için bir teşebbüsten başka bir şey değildir .
Kayıtlı Kullanıcı

4
Sadece root olarak giriş yapamaz mısın?
Konrad Höffner

Yanıtlar:


56

Aşağıdakileri kullanarak uygulamaları yükleyebilirim:

pkexec apt-get install <appname>

Kimden man pkexec:

  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, bunun pkexec apt-get install sudoda çalışması gerektiğini düşünüyorum.


Düzenleme : şimdi onaylayabilirim: evet , sudokullanarak kurulabilir pkexec apt-get install sudo:

sudo yeniden yükle

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


@RaduRadeanu Bu ilginç ben bunu denemek için gidiyorum teşekkürler ......
Premkumar

@Premkumar Önlemle test edin! Ekran çekiminin son komut sadece sizin durumunuzda muhtemelen olmalıdır: sudo apt-get install gksu ubuntu-minimal. Ancak daha iyisi, hangi paketlerin aynı anda kaldırıldığını kontrol edin sudo.
Radu Rădeanu

5
@Bluefish Paket adı verilir policykit-1(12.04 tarihinden itibaren). Kaldırılabilir, ancak genellikle gnome-coreve gibi bir masaüstü sistemde isteyebileceğiniz paketleri kaldırma pahasına ubuntu-desktop(bir sunucuda, gerekli herhangi bir paket tarafından istenmemesi daha olasıdır). Ancak, Radu, hesabınızın kullanabileceğini ne belirler pkexec apt-get …? Bu sizin yapılandırdığınız bir şey mi, yoksa otomatik olarak mı oluyor? Öyleyse, bir hesabın bunu yapabileceğini belirleyen nedir?
Gilles 'SO- kötülük' dur

1
@ Gilles Geçmişte bu anlamda bazı yapılandırmalar yapıldığını hatırlamıyorum. Yani, bunun otomatik olarak olduğunu düşünüyorum. Bir hesabın bunu yapabileceğini neyin belirlediğini biliyorsanız, lütfen paylaşın; bu benim uzmanlık alanımın dışında.
Radu Rădeanu

2
@Gilles Grup üyelerinin kullanabileceğini düşünüyorum . (Benim deneyim bu gruba kullanıcı ekleme sağladığını olmasıdır yeteneklerini ve kaldırır çıkardıktan yeteneklerini; bu şekilde, yetenekleri aynı şekilde oldu haiz gibi görünüyor varsayılan içinde yeteneklerine edememek beri mantıklı geneli, ve vardır root olarak çoğunlukla bir kullanıcıyı Ubuntu'da yönetici yapan şeydir.) Kaldırmanın grubu kaldıracağını sanmıyorum . Ama ben değil benim varsayımlar tümüyle makul koşullarda doğruysa tamamen emin. sudopkexecpkexecpkexecpkexecsudosudoerssudopkexecsudosudo
Eliah Kagan,

29

Her zaman Kurtarma Moduna başlayabilir , kök kabuğuna bırakabilir ve sudo olmadan yükleyebilirsiniz.


16
Buradaki linkten temel ve ilgili kısmı ekleyebilir misiniz?
Kayıtlı Kullanıcı

Grub önyükleme menüsünde kurtarma işlemi yoksa, <kbd> e </kbd> tuşuna basın ve önyükleme hattına `single 'ekleyin. Ardından, başlatıldığında, kullanarak bir kök şifresi ayarlayın passwd. Normalde yeniden başlat, komut satırına suardından yeni şifreyi gir ve çalıştır apt-get install sudo( sudo-prefix olmadan )
ExploWare

1
Kök kabuğundaki internet bağlantısını nasıl aldınız?
Avinash Raj

22

Evet, sudopaketin yeniden yüklenmesi chroot yöntemi ile mümkün olacaktır .

  • Ubuntu canlı diskten ilk önyükleme.

  • Önceden kurulmuş Ubuntu bölümünü istediğiniz dizine monte edin /media/ubuntu.

    sudo mkdir /media/ubuntu
    sudo mount /dev/sdaX /media/ubuntu   # /dev/sdaX - previously installed Ubuntu partition.
    
  • Varsayılan olarak, bir bölüme chroot edildikten sonra internet bağlantısı alamadınız. Çalışmasını sağlamak 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 harika kod parçası için @Oli'ye teşekkür ederiz .

  • Şimdi bu bağlı dizine chroot,

    $ sudo chroot /media/ubuntu
    # apt-get update
    
  • sudoPaketi çalıştırarak yükleyin ,

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

    exit
    
  • Sonunda Ubuntu OS'nizi açın. Komutunuzu test edin sudo, kesinlikle işe yarayacaktır.


4

init=/bin/shÇekirdek komut satırında extra parametre ile önyükleme yapın . Bu sizi doğrudan bir kök kabuğuna koyar, buradan basitçe koşup apt-get install sudoyeniden başlatmanız mümkündür. Önce /etc/init.d/networking startçalışan bir ağ bağlantısı elde etmek için koşmanız gerekebilir . Bana sorarsanız, kurtarma CD'leri veya canlı disklerle uğraşmaktan çok daha basit.


1

Zaten ayarlamak veya güncellerseniz rootbu komutla kullanıcı hesabı şifresini sudo passwd rooto zaman tasfiye dert etmeyin sudosizin içine .Sadece giriş roothesabı ve ardından yüklemek sudo,

su
apt-get install sudo

görüntü tanımını buraya girin

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


Bu, kök hesap etkinse çalışır ve ubuntu'da genellikle devre dışı bırakılır. subenim bilgisayarımda "su: Kimlik doğrulama hatası" veriyor, doğru şifre verdiğim halde
BЈовић

Evet, söylediklerim doğru, haklısın. Kök kullanıcı hesabı şifresini zaten güncellediyseniz, sonra tasfiye etmekten endişe duymazsınız sudo. Şimdi bunu deneyin, sudo passwd rootkök kullanıcı hesabı şifresini güncellemenizi sağlar. çalıştırarak sudaha sonra giriş Eğer mümkün command.Once size göre sudo.Now tasfiye sudo temizlemek için ücretsiz olacak sudo apt-get purge sudoçalıştırarak sudo paketini yeniden yüklemek için kök dikkate .Login suveapt-get install sudo
Avinash Raj

-1

sudo (ve diğer herhangi bir kök ayrıcalığı) yalnızca çalışan işletim sistemi için geçerlidir. Aptal ve sudo kaldırıldıysanız (veya / usr / bunun için) ve pkexec gibi alternatifleriniz yoksa, başka bir şeyden başlatabilir, 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.


Ne demek istediğinizi "mevcut yazılımı kopyala" ile açıklamak için bunu genişletmenizi tavsiye ederim.
Eliah Kagan,

Bunu düzeltmek için çok kolay bir yol değil.
Seth

@ Op müdahalesi olmadan, başka bir cevap yazmadan düzeltilebileceğinden şüpheliyim.
Braiam

Bunu yapmanın doğru yolu chroot olurdu, ama daha az barbarca yolu var. Örneğin, root olarak giriş yapın (NORMAL yolla) veya bir şekilde root şifreniz yoksa, sadece init = / bin / bash komutunu çekirdek parametresi olarak ayarlayın ve oturum açma kimlik doğrulaması dahil olmak üzere tüm init sistemi üzerinden geçin.
orion

-2

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

Sudo'ya hiç ihtiyacınız yok. Bu sadece root olarak giriş yapmadan root komutunu çalıştırmanıza izin veren tembel bir kısayol. Ancak, tek bir komuttan başka bir şey yapmak zorundaysanız, her şeyi sudo ile öneklendirmek çok zordur. Kullanmanın sudo, izinlerin ve kök hesabın nasıl çalıştığı hakkında kullanıcıları cahil kıldığından bahsetmiyorum . Sadece root olarak giriş yapmak, sistemin yönetimini yapmak ve çıkış yapmak çok daha mantıklıdır. suZaten normal bir kullanıcı olarak giriş yaptıysanız, yapmanız gerekenler . Veya doğrudan root olarak giriş yapabilirsiniz.

Elbette rootşifre ayarlaması yapmanız gerekir , bu makul bir yapılandırmadır, aksi halde, hiç kimsenin gerçekleştiremeyeceği eylemlerin olduğu ve bir şekilde sudomevcut değilse (gerçekten çalışmayı /etc/, ayarlamayı $PATHve diğerlerini gerektiriyorsa , gerçekten kilitlendiğiniz) Windows benzeri bir sisteminiz vardır. şeyler monte edilmiştir - eğer önyüklemenin başlarında bir şeyler ters giderse bu mümkün olmayabilir).


Bu yararlı bilgiler olabilir, ancak soruyu cevaplamıyor.
Luís de Sousa

Aslında. Bu gerçekten root şifresi sisteme alakası olmayan bir özürlü ve sudo olan varsayılan olarak yüklenir. Diğer cevaplara bakarsanız son paragrafın da doğru olmadığını göreceksiniz.
Oli

Ubuntu'dan kaldırmayı düşünen bir kullanıcı sudoda root şifresini ayarlamayı düşünmelidir (diğer sorular bunun nasıl yapıldığına işaret etti). Bu konuyla ilgilenmeyen bir kullanıcı sudo kullanmaya devam edebilir.
orion
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.