TL; DR: İşleri sadece yapmanız gerektiğinde kök olarak yapın. sudo
bunu oldukça kolaylaştırıyor. Kök girişlerini etkinleştirirseniz, yine de bu kuralı uygulayabilirsiniz, bunu yapmak için dikkatli olmanız gerekir. Kök girişlerini etkinleştirmek doğru yapıldığında aslında güvensiz olmamakla birlikte, kök girişleri etkinleştirmeniz gerekmez, çünkü sizde var sudo
.
Burada gerçekten ilgili iki soru var.
- Günlük bilgisayar kullanımı (web gezgini, e-posta, kelime işlem, oyun vb.) İçin root olarak giriş yapmak neden kötü?
- Neden Ubuntu varsayılan olarak kök oturum açma işlemlerini tamamen devre dışı bırakmak
sudo
ve yöneticilerin belirli komutları root olarak çalıştırmasını sağlamak için ve polkit'i kullanmak için varsayılan mı?
Neden her zaman her şeyi kök olarak çalıştırmıyorsun?
Diğer cevapların çoğu bunu kapsar. Aşağı gelir:
- Onları gerektirmeyen işler için kök güç kullanıyorsanız ve yapmak istemediğiniz bir şeyi yaparsanız, sisteminizi istemediğiniz şekilde değiştirebilir veya zarar verebilirsiniz.
- Eğer gerek yoktu ne zaman kök olarak bir programı çalıştırmak ve varsa bunun nedeni bir güvenlik açığı ya da diğer böcek, örneğin - - şey yapıyor biter bunu yapmak için istemedim o değiştirmek veya zarar verebilir Sisteminizi istemediğiniz bir şekilde.
Kök gibi şeyler yapmadan bile zarar verebileceğiniz doğru. Örneğin, kendi ev dizininizdeki, genellikle tüm belgelerinizi içeren ve kök olarak çalışmadan tüm dosyaları silebilirsiniz! (Umarım yedekleriniz vardır.)
Elbette, root olarak, aynı verileri yanlışlıkla yok etmenin başka yolları da var. Örneğin, of=
bir dd
komutun yanlış argümanını belirtebilir ve ham verilerinizi dosyalarınızın üzerine yazabilirsiniz (bu, onları yalnızca silmeniz gerekenden kurtarmanın daha zor olmasını sağlar).
Bilgisayarınızı kullanan tek kişiyseniz, yalnızca root olarak yapabileceğiniz zarar, normal kullanıcı ayrıcalıklarınızla yapabileceğiniz zarardan daha yüksek olmayabilir. Ancak bu, Ubuntu sisteminizi bozmanın ek yollarını da içerecek şekilde riskinizi genişletmek için hala bir neden değildir .
Kök olmayan bir kullanıcı hesabıyla çalışmak, kendi bilgisayarınız üzerinde kontrol sağlamanızı engelliyorsa, bu elbette kötü bir tradeoff olur. Ama bu-- aslında bir eylemi kök olarak yapmak istediğiniz zaman, bunu sudo
başka yöntemlerle de yapabilirsiniz .
Neden root olarak giriş yapamıyorum?
Root olarak giriş yapma yeteneğinin doğası gereği güvensiz olduğu fikri bir efsanedir. Bazı sistemlerde varsayılan olarak etkin bir kök hesabı vardır; diğer sistemler sudo
varsayılan olarak kullanılır ve bazıları ikisiyle de yapılandırılır.
- Örneğin, dünyadaki en güvenli genel amaçlı işletim sistemi olan ve yaygın olarak makul bir şekilde kabul edilen OpenBSD , yerel, parola tabanlı oturum açma için etkinleştirilmiş kök hesabıyla birlikte gelir.
- Bunu yapan diğer saygın işletim sistemleri arasında RHEL , CentOS ve Fedora bulunur .
- Debian (hangi Ubuntu'dan türetilir ) kullanıcının sistem kurulumu sırasında hangi yaklaşımın yapılandırılacağına karar vermesini sağlar.
Kök hesabın etkin olduğu bir sisteme sahip olmak, nesnel olarak yanlış değildir .
- hala sadece gerçekten ihtiyacın olduğunda kullanıyorsun, ve
- ona erişimi uygun şekilde kısıtlıyorsanız.
Genellikle acemiler, Ubuntu'da kök hesabın nasıl etkinleştirileceğini soruyorlar. Bu bilgiyi onlardan gizlememeliyiz, ancak genellikle insanlar bunu sorduğunda bunun nedeni , kök hesabın etkinleştirilmesi gerektiği konusunda yanlış bir izlenim altında olduklarıdır . Aslında, bu neredeyse hiçbir zaman gerekli değildir, bu yüzden bu tür soruları yanıtlarken bunu açıklamamız önemlidir. Kök hesabını etkinleştirmek ayrıca şikayetçi olmayı ve kök ayrıcalıkları gerektirmeyen kök olarak eylemler gerçekleştirmeyi de kolaylaştırır. Ancak bu, kök hesabın etkinleştirilmesinin kendi başına güvensiz olduğu anlamına gelmez .
sudo
Kullanıcıların yalnızca gerektiğinde komutları root olarak çalıştırmalarını teşvik eder ve yardımcı olur . Bir komutu root olarak çalıştırmak için sudo
bir boşluk ve sonra komutu yazın. Bu çok kullanışlıdır ve tüm beceri seviyelerindeki birçok kullanıcı bu yaklaşımı tercih eder.
Kısacası, kök oturum açma işlemlerini etkinleştirmeniz gerekmez, çünkü sizde var sudo
. Ancak, yalnızca gerektiren idari görevler için kullandığınız sürece, yalnızca şu şekillerde olduğu sürece, root olarak etkinleştirmek ve oturum açmak aynı derecede güvenlidir :
- Yerel olarak, grafiksel olmayan bir sanal konsoldan .
- Komutla,
su
başka bir hesaptan giriş yaptığınızda.
Ancak, aşağıdaki yollarla root olarak oturum açarsanız, önemli ek güvenlik riskleri ortaya çıkar:
Grafiksel. Grafiksel olarak oturum açtığınızda, grafiksel arayüz sağlamak için bir çok şey çalışır ve bu arayüzü herhangi bir şey için kullanmak için kök olarak daha fazla uygulama çalıştırmanız gerekir. Bu, yalnızca gerçekten root ayrıcalıklarına ihtiyaç duyan programları root olarak çalıştırma ilkesine aykırıdır. Bu programlardan bazıları, güvenlik hataları dahil olmak üzere hatalar içerebilir.
Ayrıca, bundan kaçınmak için güvenlik dışı bir neden var. Kök olarak grafiksel olarak oturum açmak desteklenmemektedir - loevborg'un da belirttiği gibi , masaüstü ortamlarının ve grafiksel uygulamaların geliştiricilerinin çoğu zaman bunları kök olarak sınamadığı görülmektedir. Olsalar bile, bir grafik masaüstü ortamına root olarak giriş yapmak, kullanıcılar tarafından gerçek dünya alfa ve beta testi yapmaz, neredeyse hiç kimse denemez (yukarıda açıklanan güvenlik nedenleriyle).
Kök olarak belirli bir grafik uygulamasını çalıştırmanız gerekirse,gksudo
veya kullanabilirsinizsudo -H
. Bu, kök hesabınızla grafiksel olarak oturum açtıysanız, kök olarak daha az sayıda program çalıştırır.
Uzaktan. root
Hesap yürürlükte şeyi yapabilir ve bu hemen her Unix benzeri sistem üzerinde aynı ada sahip. Kök olarak ssh
veya diğer uzak mekanizmalar yoluyla oturum açarak veya hatta izin vermek için uzak hizmetleri yapılandırarak , otomatik komut dosyaları ve botnetlerde çalışan kötü amaçlı yazılımlar da dahil olmak üzere davetsiz misafirlerin kaba kuvvet, sözlük saldırıları (ve muhtemelen bazı güvenlik hataları).
Muhtemelen risk, sadece anahtar tabanlı ve şifre tabanlı kök girişlerine izin verirseniz, aşırı derecede yüksek değildir .
Varsayılan olarak Ubuntu'da, kök olarak giriş yapmayı etkinleştirseniz bile , grafik kök girişleri veya SSH üzerinden uzak girişler etkinleştirilmez . Diğer bir deyişle, kök girişini etkinleştirseniz bile, yine de yalnızca makul derecede güvenli olan şekillerde etkinleştirilir.
- Ubuntu'da bir ssh sunucusu çalıştırıyorsanız ve değişmediyse
/etc/sshd/ssh_config
, satırı içerecektir PermitRootLogin without-password
. Bu parola tabanlı kök girişini devre dışı bırakır, ancak anahtar tabanlı girişe izin verir. Ancak, hiçbir anahtar varsayılan olarak yapılandırılmaz, bu yüzden bir tane ayarlamadıysanız, bu da işe yaramaz. Ayrıca, anahtar tabanlı uzaktan kök giriş işlemi, kısmen kaba kuvvet ve sözlük saldırıları riski oluşturmadığı için parola tabanlı uzaktan kök girişinden çok daha az kötüdür.
- Varsayılan olsa gerekir sizi korumak, bunu Kök hesabını etkinleştirmek için gidiyoruz, sizin SSH yapılandırmasını kontrol etmek yine de iyi bir fikir olduğunu düşünüyorum. Ve ftp gibi uzaktan giriş sağlayan başka hizmetler kullanıyorsanız, onları da kontrol etmelisiniz.
Sonuç olarak:
- Şeyleri yalnızca ihtiyacınız olduğunda kök olarak yapın;
sudo
Bunu yapmanıza yardımcı olur, hala istediğiniz zaman kökün tam gücünü verirken.
- Kökün nasıl çalıştığını ve aşırı kullanma tehlikelerini anlıyorsanız, kök hesabın etkinleştirilmesi güvenlik açısından gerçekten sorunlu değildir.
- Ancak bunu anlarsanız, kök hesabınızı etkinleştirmek için neredeyse kesinlikle ihtiyacınız olmadığını da biliyorsunuzdur .
Kök hakkında daha fazla bilgi ve burada ele almadığım sudo
bazı ek avantajlar dahil , Ubuntu yardım wiki'sinde RootSudo'yusudo
tavsiye ederim .