'Su -', 'sudo bash' ve 'sudo sh' arasındaki fark nedir?


29

Arasındaki farkın ne olduğunu bilmek istiyorum

  • su -
  • sudo bash
  • sudo sh

su -Kök şifresi olmadığı için giriş yaparken root olarak giriş yapamıyorum - Yani kullanabileceğim kullanıcı şifrem var sudo "command" ama bu şifre işe yaramıyor su - Ben sudo bashkullanıcı şifrem ile root olarak giriş yapabilirim ve yapıyorum sudo shama sonra bu formda bir komut istemi alıyorum #

Yanıtlar:


27

Arka fon

Linux'ta (ve genel olarak Unix'te), Root adında bir Süper Kullanıcı var . Süper Kullanıcı her şeyi ve her şeyi yapabilir ve bu nedenle Süper Kullanıcı tehlikeli olabileceğinden günlük işi yapmak. Bir komutu yanlış yazıp sistemi yok edebilirsiniz. İdeal olarak, yalnızca eldeki görev için gereken ayrıcalıklara sahip bir kullanıcı olarak çalışırsınız. Bazı durumlarda, bu mutlaka Köktür, ancak çoğu zaman normal bir kullanıcıdır.

su -

Bu komut root hesabına giriş yapmak için kullanılır.
Varsayılan olarak, Kök hesap şifresi Ubuntu'da kilitlenir. Bu, doğrudan Root olarak giriş yapamayacağınız veya Root kullanıcısı olmak için su komutunu kullanamayacağınız anlamına gelir. Bununla birlikte, Kök hesabı fiziksel olarak bulunduğundan kök düzeyinde ayrıcalıklara sahip programları çalıştırmak hala mümkündür. Bu, sudo'nun geldiği yerdir - yetkili kullanıcıların (normalde "İdari" kullanıcıların), kök şifresini bilmeden bazı programları Kök olarak çalıştırmalarına izin verir.

Bkz Kök Hesabı etkinleştirme .

sudo sh

Bu komut "sh" komutunu süper kullanıcı olarak çalıştırır.
Sh yardımcı programı, bir komut satırı dizesinden, standart girdiden veya belirtilen bir dosyadan okunan komutları yerine getirecek bir komut dili yorumlayıcısıdır.

sudo bash

Bu komut "bash" komutunu süper kullanıcı olarak çalıştırır.
Bash, kabuk veya komut dili yorumlayıcısıdır. Bash, Korn kabuğunun (ksh) ve C kabuğunun (csh) faydalı özelliklerini içeren sh uyumlu bir kabuktur. IEEE POSIX P1003.2 / ISO 9945.2 Shell ve Tools standardına uyması amaçlanmıştır. Hem programlama hem de etkileşimli kullanım için sh üzerinde fonksiyonel geliştirmeler sunar. Ek olarak, sh komut dosyalarının çoğu, değişiklik yapılmadan Bash tarafından çalıştırılabilir.

Kaynaklar: 1 , 2 , 3 .


7
sudo su -Kök şifresi olmadan çalıştırarak süper kullanıcı olarak giriş yapabileceğinizi belirtmek önemlidir . Sudo su -komutu kök izinleriyle çalıştırdığından, yalnızca kullanıcının parolasını girmeniz istenir. Bu, yalnızca sudo ile bir kabuk çalıştırarak yapılamayacak kök kullanıcı ortamını kurma avantajına sahiptir.
Aaron D

6

su -:

Bu, kullanıcı tanımlayıcınızı değiştirecek ve ortam değişkenlerini o kullanıcıyla giriş yapmış gibi miras alacaktır. Normalde su - <userid>, kullanıcı olarak giriş yapmak için formatı kullanırsınız. Eğer "userid" yi bırakırsanız, root olarak giriş yapmaya çalıştığınızı varsayarsınız - ki (root şifresini değiştirmezseniz).

sudo bash& sudo sh:

Sudo'dan sonra herhangi bir şey çalıştırılacak bir programdır - bu durumda, bu iki durumda da mermi kullanmanız isteniyor; kullanmak man bashve man shfarklı kabukları hakkında daha fazla ayrıntı için.


İlgili sorular:


Tamam, cevap için teşekkürler ama o zaman root için varsayılan şifre nedir? Nereden bulabilirim ?
Patryk

@ lordmonkey kökünün bir şifresi yok ve bir şifreye ihtiyacı yok. sudo -iSize böyle bir giriş kabuğu verecektir su -sudo şifrenizi sorar hariç, olmaz kökü.
geirha
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.