Neden sudo -s sudo su'dan daha iyidir?


28

Burada, Ubuntu’da Ask sudo -syerine kullanma tercihiyle ilgili birçok yorum gördüm sudo su.

Benim için bu iki komut tam olarak aynı şeyi yapıyor. Ama neden sudo -sdaha iyi olması gerekiyor?


1
Burada belirtilen nedenlerden daha iyi olduğunu düşünüyorum sudo -iveya sudo sudaha iyi sudo -s: ubuntuforums.org/showpost.php?p=6188826&postcount=4 Ayrıca: Bu, superuser.com/questions/29/… 'nın
düzenleme

Bence bu soru unix.stackexchange.com
igi

Yanıtlar:


26

Bence sudo -s"daha iyi" değil, sadece farklı.

sudo -s

$ HOME dizininizi korur, böylece programları başlattığınızda, (ve root'un değil) config dosyalarınızı kullanırlar. Dezavantaj: Dosyalarınızın $ HOME dizinindeki sahipliğini de değiştirebilirler, tipik örnek .Xauthoritydosyadır, ancak ben Bununla hiçbir zaman bir problem yaşamadım.

sudo su veya sudo -i

programlar kök dizini ve config dosyalarını kullanacak. Bu daha sezgisel olabilir, ancak aynı zamanda kendiniz için ayarlamış olduğunuz herhangi bir konfigürasyonu kullanmayacağı anlamına gelir (takma adlar, bash geçmişi, ...).


1
Tamam, şimdi farkı anlıyorum. Teşekkür ederim!
fitojb

1
"sudo su", "sudo -i" ile aynı değildir. "sudo -i", "sudo su -" ile eşdeğerdir ancak "sudo su -" mevcut çalışma dizinini tutarken, "sudo -i" sizi
kökünüzün

13

Çünkü sudo -sözellikle, ortam değişkenlerini değişmeyecek $HOMEkalacak olan HOME=/home/USER. Bunu kullanırsanız sudo su, HOME=/rootbaşlattığınız programlar kullanıcının ana klasörüne erişmeye çalıştığında hangi olumsuz yan etkilere yol açabilir?

Yani temelde grafik programları çalıştırırken sudovs gibidir gksudo.


5

Kenara ortam değişkenleri ile önce bahsedilen farklılıklardan, ben bulmak sudo susoruyorsun çünkü saçma ve savurgan sudoçalıştırmak için suroot olarak ve kök olarak bir kabuk çalıştırmak için sorun. Neden bir programdan bir programdan size bir kök kabuğu vermesini isteyin, ne zaman ilk kabuğu size bu kabuğu verebiliyorsanız? Bu herhangi bir pratik anlamda önemli mi? Hayır, sadece bilgiçlik yapıyorum.


Haklısın, biraz gereksiz.
fitojb

Pekala, tam olarak öyle değil: Eğer sudo sukök olmak için kullanıyorsanız , evet, sudo -iörneğin gidin . Eğer farklı bir kullanıcı olmak istediği Ama bu moral: sudo su - myuser.
hggdh

2
Başka bir fark var: dizine sudo -ideğişecek ve olduğunuz /rootdizinde sudo sukalacak.
laurent

1
@hggdh sudo -u myuser,.
psusi

3

Bir kabuğu olmayan bir kullanıcı olarak oturum açmak istediğinizde, durumları dikkate alırken diğer cevaplara katılmıyorum. Bu, servislere atanan kullanıcılar için çok yaygın bir durumdur.

"Sudo su" kullanmak, kullanıcı tarafından belirtilen kabuğu başlatacaktır. Ancak sunucu işlemine atanmış bir kullanıcı durumunda, kabuk / usr / bin / false olur ve kayıt başarısız olur. Bunun yerine şöyle girmelisiniz:

sudo -sHu <server-user>

kullanıcı atanmış bir kabuk olmasa bile, oturum açacak ve cd'yi ana yoluna kaydedecektir.

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.