Doğrudan root kullanıcısı olarak oturum açmak yerine kökten su kullanmanın daha iyi olduğunu duydum (ve elbette insanlar sudo kullanmanın daha da iyi olduğunu söylüyorlar). Neden birinin diğerinden daha iyi olduğunu hiç anlamadım, içgörü?
Doğrudan root kullanıcısı olarak oturum açmak yerine kökten su kullanmanın daha iyi olduğunu duydum (ve elbette insanlar sudo kullanmanın daha da iyi olduğunu söylüyorlar). Neden birinin diğerinden daha iyi olduğunu hiç anlamadım, içgörü?
Yanıtlar:
Çıkarım yalnızca su
veya sudo
gerektiğinde yapılır.
Gündelik görevlerin çoğunda kök kabuğu gerekmez. Bu nedenle, ayrıcalıklı olmayan bir kabuğu varsayılan davranışınız olarak kullanmak ve ardından özel görevler gerçekleştirmeniz gerektiğinde yalnızca kökten yükseltmek iyi bir uygulamadır.
Bunu yaparak, kullandığınız herhangi bir uygulamadaki tehlikeli hataların (hatalı komut dosyası oluşturma, yanlış yerleştirilmiş joker karakterler vb.) Ve güvenlik açıklarının kapsamını azaltıyorsunuz. Özellikle İnternete bağlananlar - eski atasözünü "Kök olarak IRC yapma" yı görün .
sudo
sıkça tavsiye edilir, çünkü ince öğütmenize izin verir ve bu ayrıcalıkların kullanımını denetler.
Bu uygulamaları gözlemleyerek, aynı zamanda uzak kök girişlerini devre dışı bırakabilecek bir konumdasınız demektir. Bu, "tekerlek" grubunun bir üyesi olan ve ideal olarak yalnızca SSH ortak anahtarlar, sonra da kök hesabın kendisi tarafından yetkilendirilen normal bir kullanıcı hesabını tehlikeye atmaları gerekeceğinden herhangi bir saldırganın giriş çubuğunu arttırır.
sudo
Üstün olsa su
da, -m
bir kök terminalinde çevre değişkenlerini aynı tutmak için bayrağı kullanmanıza da izin verir . Hiçbir şey beni daha fazla bonker daha fazla zorlayamaz su
, sadece ~
dizin isminde bir şeyler yapmaya ve çalışmayabilir.
Ana sebep, bir denetim izi oluşturmaktır. Düzenli bir kullanıcı olarak bir sisteme giriş yapmanız ve ardından su kullanmanız gerekirse, verilen işlemlerden kimin sorumlu olduğunu bulmak mümkündür.
sudo ayrıca her komutu otomatik olarak syslog'a kaydeder ve her kullanıcının kullanabileceği komutları tanımlayabilirsiniz.
sudo vim foo.txt
sonra vim içinden bir kabuk bırakarak düzenli sudo günlüğü olmadan size bir kök kabuğu verecektir.
sudo -i
etkileşimli bir oturum almak için ...
Bir denetim izi oluşturmak ve burada belirtilen "sudo su -" veya "sudo vim foo.txt" sorunlarına kurban etmek istemiyorsanız, "sudosh" kullanabilirsiniz. Sudo aracılığıyla root erişimini dağıtın, ancak "sudosh" komutunu çalıştırmak için izin verilen tek komutu verin.
sudosh bir günlük kabuğudır ve daha sonraki bir tarihte tüm terminal oturumunu tekrarlayabilir ve kullanıcının terminalinde tam olarak ne gördüğünü gösterebilirsiniz.
Güvenliği derinlemesine uygulamanız gerekir.
Uzak kök erişimine (veya en azından şifrelerle kök erişimine) izin vermeyin. (Anahtarlar yoluyla kök erişimine izin verirseniz, bu anahtarları dikkatlice kontrol edin veya daha iyi bir şekilde anahtarların merkezi olarak iptal edilmesini sağlayan kerberos gibi bir şey kullanın).
Suyu devre dışı bırakıp sudo kullanırdım. Bu şekilde, kullanıcılar sisteme erişmek için anahtarları (tercihen şifreli) kullanırlar , sonra şifrelerini yalnızca ayrıcalık yükseltmek için kullanırlar. Hangi programların sudo ile erişebileceğini kısıtlayabilirsiniz, ancak çoğunlukla sadece root şifresini bilenlere erişimi kısıtlarsınız.
İdeal bir dünyada, kök şifrelerinizi internette yayınlayabilmelisiniz ve insanlara makinenize erişebilseydiniz bile (ama / etc / sudoers dosyasına koymamış olsanız) farketmez. Tabii ki, olmamalıdır kök şifresini yayımlamak, ancak Fikir koruma yatay tabakalar ile sistemlerini korumak olmasıdır.
Root'u düzenli bir şekilde kullanıyorsanız , izinleriniz yanlış olabilir veya dosya veya dizinleri açmak için sudo hakları veya yeni bir grup hakları vermeniz gerekebilir.
İyi izinler programları, Linux kullanıcılarının uzun süredir yanlış yaptıkları veya sahip oldukları kapsamı anlamadıkları bir şeydir.
Beni Ubuntu’nun yaptıkları hakkında başlatma!
Rm -r -f komutunu çalıştırmanızı engeller / ben sadece 2 gün önce koştum (ayrıcalıklı bir kullanıcı olarak, rm -r -f * komutunu kullanmak istedim)