Neden bu örnekte diğeri tercih edilir?
sudo su
echo "options iwlwifi 11n_disable=1" >> /etc/modprobe.d/iwlwifi.conf
exit
Lütfen Ubuntu belgelerine bağlantılar sağlayın.
Neden bu örnekte diğeri tercih edilir?
sudo su
echo "options iwlwifi 11n_disable=1" >> /etc/modprobe.d/iwlwifi.conf
exit
Lütfen Ubuntu belgelerine bağlantılar sağlayın.
Yanıtlar:
sudo suKomut "anahtar kullanıcı" anlamına gelir ve başka bir kullanıcı olmayı sağlar. İzin verilen bir kullanıcının sudoers dosyasında belirtildiği gibi süper kullanıcı veya başka bir kullanıcı olarak bir komut yürütmesine izin verir.
‑İ (ilk girişi simüle et) seçeneği, hedef kullanıcının şifre veritabanı girişi tarafından giriş kabuğu olarak belirtilen kabuğu çalıştırır. Bu, .profile veya .login gibi girişe özgü kaynak dosyalarının kabuk tarafından okunacağı anlamına gelir. Bir komut belirtilirse, kabuğun optionc seçeneği ile yürütmek üzere kabuğa geçirilir. Herhangi bir komut belirtilmezse, etkileşimli bir kabuk yürütülür.
Kaynak: ManPage
sudo su, kök parolayı değil parolanızı girmeniz istenir. Kök kullanıcının bir parolasına bile ihtiyacı yoktur. Ne olursa olsun, bir yönetici kök parolayı kullanıyorsa, bu normal kullanıcıların bildiği anlamına gelmez.
sudoçalışır suve root suşifresini bilmeden herhangi bir kullanıcıya olabilir . Sistemin nasıl çalıştığıyla ilgili temel yanlış anlaşılmalar, aşağı yönde bir IMO'yu hak ediyor.
sudo -iroot şifresi de istemez, bu yüzden soru ile ilgili değildir.
sudo suyalnızca geçerli kullanıcıyı kök olarak değiştirir. Ortam ayarları (PATH gibi) aynı kalır.
sudo -i root yeni giriş yapmış gibi yeni bir ortam yaratır.
Diğer kullanıcıları kullanırsanız fark daha belirgindir. Sonra sudo su bobbob olacaksın, ama aynı yerde. Sonra sudo -i -u bobbob olacaksınız, bob'un ana dizininde, bob'un varsayılan kabuğu ve bob'un .profileve diğer tüm giriş komut dosyalarının çalıştırıldığı.
man sudoNeler hakkında daha fazla ayrıntı için bkz -i. Maalesef man suayrıntılara ışık tutuyor.
man suŞunun için söyleyecek bir sürümü (login-1: 4.1.4.2 + svn3283-3ubuntu5.1) bulundu:
$ PATH /etc/login.defs ENV_PATH veya ENV_SUPATH seçeneklerine göre sıfırlama (aşağıya bakın);
$ IFS, ayarlanmışsa “<space> <tab> <newline>” olarak sıfırlanır.
Ortam için varsayılan davranışın aşağıdaki olduğuna dikkat edin:
$ HOME, $ SHELL, $ USER, $ LOGNAME, $ PATH ve $ IFS ortam değişkenleri sıfırlanır.
--Login kullanılmazsa, yukarıdaki değişkenler dışında ortam kopyalanır.
--Login kullanılırsa, $ TERM, $ COLORTERM, $ DISPLAY ve $ XAUTHORITY ortam değişkenleri ayarlandıysa kopyalanır.
Diğer ortamlar PAM modülleri tarafından ayarlanmış olabilir.
Dolayısıyla sudo su, ortamın değişip değişmeyeceği ve ne ölçüde değiştiği dağıtımınıza ve kurulumunuza bağlıdır. Böylece sudo -iteorik olarak daha taşınabilir.
su does değişim ortamı ayarlarını ve kullanan bir giriş simüle etmek için kullanılabilir -ya da -l. Hatta olmadan -l, $PATH olduğu değişti. Bu iddiaları yapmadan önce test edin! (Bunu PWDaynı mı demek istediniz ?)
sudo su -ve arasında bir fark var sudo -imı?
$PATHben kullandığınızda değiştirilir suolmadan sudo(kök şifresini kullanarak). Göre info su(cevabınızda bağlantı kurmak daha iyi bir şey olabilir), sugerçekten olduğunuz kullanıcı için şifre girişini okur. Muhtemelen $PATHgözlemlediğim değişiklik sisteme bağlı (Debian 7'deyim).
man su(bağlandığınızdan daha uzun olan) bunun bir parçası olduğunu söylüyor shadow-utils 4.1.5.1. Sayfam manda kullanılsa $PATHbile ayarlandığını söylüyor --preserve-environment. Bu yüzden sanırım gerçekten farklı versiyonları arasında bir fark var su.
/etc/pam.d/sudove /etc/pam.d/sutamamen farklı veya tamamen aynı şeyleri yapmak üzere ayarlanmış olabilir.
Asıl sorun aklı başında ortam ortamlarından biridir.
sudo suYeni kabuğun kullanılması , çevresini komut veren kullanıcıdan alır - ki bu sorunlu olabilir.
Seninle sudo -itemiz bir kök kabuğu olsun.
Bkz . Sudo ve kabukları ile ilgili özel notlar
Bir kök kabuk oluşturmanın nadiren gerekli olduğunu gözlemlemek için kalır.
sudo -i, buna benzer olduğunu söyler sudo su -, bu da aslında ortamını komut veren kullanıcıdan almaz .
sudo suvs. ile ilgili sudo -i.