Neden root olarak giriş yapmak kötü?


192

Sık sık forumlarda ya da başka web sitelerinde, insanların sanki kötü bir şeymiş gibi oturum açma / giriş yapma gibi şaka yaptığını gördüğünüz ve herkesin bilmesi gereken yayınlarla karşılaşıyorum . Bununla birlikte, konuyla ilgili bir araştırmanın ortaya çıkardığı pek bir şey yoktur.

Linux uzmanları tarafından yaygın olarak bilinebilir, ancak nedenini gerçekten bilmiyorum. Yıllar önce Linux'u ilk kez denediğimde (Redhat ve Mandrake) her zaman root olarak çalıştığımı hatırlıyorum ve bundan dolayı herhangi bir sorunla karşılaştığımı hatırlamıyorum.

Aslında kök kullanıcı için duvar kağıdı olarak her yerinde uyarı işaretleri olan parlak kırmızı bir arka plana sahip bazı dağıtımlar var (SuSe?). Windows kurulumumda düzenli kullanım için hala "Yönetici" hesabını kullanıyorum ve oradaki herhangi bir sorunla da karşılaşmadım.


15
Bir programı root olarak çalıştırmada bir sorun olmadığını düşünüyorum. Sadece bu, eğer Linux'ta akıllıca olmazsanız, işletim sisteminizin çekirdeğine zarar verebilirsiniz (sudo'lar bile yapabilir). ondan başka hiçbir problemim yok. Ama bu sadece benim bakış açım.
Gaurav Butola,

1
İlgili soru burada .
loevborg,

Kök moduna girmenin zorluğu dağıtımlar arasında değişmektedir. Kişisel olarak, Fedora'nın kutudan çıkmadan 'sudo' yapmanıza nasıl izin verdiğine şaşırmadım. OpenSUSE ve Ubunto önceden yapılandırılmış sudo'lara sahipler ... ve bu yüzden doğru dağıtımı seçerseniz, dosyalarınıza erişememek için sıkıntılarınızı en aza indirebilirsiniz.
djangofan

4
@ GauravButola bir uzman olsanız bile, bir uygulamanın ele geçirilmesi durumunda hala kötü bir fikirdir.
Strugee,

2
@DaboRoss OP'de yönetici olarak çalıştığı yorumunu yaptı; bu işletim sistemindeki (küçük) deneyimim için, bana Ubuntu'ya daha çok benziyor gibi görünüyor: bu, ne istersen yapabileceği anlamında imtiyazlı bir hesap, ancak örneğin yeni bir yazılım yüklemeden önce izin istiyor . Muhtemelen Ubuntu'ya çevrilen pencerelerde "yönetici" kullanıcısını kullanmanın eşdeğeri, ana kullanıcıyı sudo ile yapılandırılmış şekilde çalıştırmaktır.
Rmano

Yanıtlar:


154

Yıllardır var olan güvenlik modelini yendi. Başvurular idari olmayan güvenlikle (ya da sadece ölümlüler olarak) yapılmalıdır, bu yüzden temel sistemi değiştirmek için ayrıcalıklarını yükseltmelisiniz. Örneğin, son Rhythmbox çöküşünün /usrbir hata nedeniyle tüm dizininizi silmek istemesini istemezsiniz . Veya bir saldırganın KÖK kabuğu kazanmasını sağlamak için ProFTPD'de az önce yayınlanan bu güvenlik açığı.

Uygulamalarınızı kullanıcı düzeyinde çalıştırmak ve yönetim görevlerini kök kullanıcıya bırakmak ve yalnızca ihtiyaca göre çalışmak iyi bir uygulamadır.


5
... ve sizi felaketlerdeki önemsiz hataları dönüştürmekten korur. 1990'dan beri bir Unix kullanıcısıyım / adm, ancak yine de kesinlikle yanlış bir yerde bir boşluk rm -rf tmp/tests/*
bırakabilirim

9
1.) Çoğu kişi, ana dizini kök dizinlerden daha önemli olarak kabul eder, çünkü eskisi yeniden yüklenemez. Yani amacını göremiyorum. 2.) Güvenlik açısından haklısın. Ancak, pencerelerden (çevresinde WAY daha fazla kötü amaçlı yazılım olduğu yerlerde), yönetici hesabını her zamandan beri kullandım (çoğu kişinin yaptığı gibi), bunun gerçek bir tehlike olduğunu düşünmekte zorlanıyorum. sudoLinux'ta her ikinci komut için yazamayacak kadar tembelim . Linux kullanıcılarının tembel olması gerekmiyor mu ?????
Blauhirn

katılmıyorum -_-: ~: |
Edgy 1

@LazyPower cevabınızı düzenlediğiniz için teşekkür ederiz, ancak şimdi artık anlamıyorum. Özel Ubuntu ~ klasörümü değiştirmek için programlar sudo haklarına ihtiyaç duymaz. Rhythmbox CAN benim tüm $ HOME / Müzik dizini silip! Ve tek umrumda olan bu! Bunun kök izinleriyle nasıl bir ilişkisi var?
Blauhirn

1
@Blauhirn'ın güzel bir konuşması. Az önce / usr'nin tamamını silmesini istemediğimizi yansıtmak için bir düzenleme düzenlemesi gönderdim. $ HOME klasörlerinizi korumak açısından, iyi bir yedekleme işlemi gibi bir şey size yardımcı olamaz. Bu özel senaryonun güvenlik kadar iyi uygulamalarla ilgili olacağını sanmıyorum. Belirtme çizgisi için tekrar teşekkürler.
lazyPower

79

Sadece bir kelime: güvenlik.

  1. Kök olarak giriş yaptınız = tüm uygulamalar kök ayrıcalıklarıyla çalışıyor - Firefox, Flash, OpenOffice vb. Her güvenlik açığı sisteminizi tahrip edebilir, çünkü olası virüsler artık her yere erişebilir. Evet, Ubuntu / Linux için sadece birkaç virüs var, fakat aynı zamanda iyi güvenlik ve varsayılan ayrıcalıklı kullanıcı nedeniyle.
  2. Sadece virüslerle ilgili değil - bir uygulamadaki küçük hata bazı sistem dosyalarını silebilir veya ...
  3. Kök olarak oturum açtığınızda, her şeyi yapabilirsiniz - sistem sormaz! Bu diski formatlamak istiyor musunuz? Tamam, sadece bir tık ve bitti çünkü kökünüz ve ne yaptığınızı biliyorsunuz ...

16
Hepsi kullanıcı hesabıma ait olan veri dosyaları, benim için sistem dosyalarından çok daha değerli. Yukarıdaki örneklerin tümü, kolayca değiştirilebilen sistem dosyalarının korunması dışında, bir kullanıcı olarak oturum açtığında hala sorun olmaktadır.
kbeta

5
@kbeta, tek değerli eşyaların veri ve sistem dosyalarınız olduğu bir bilgisayarda çalıştırdığınızı varsayıyorsunuz. Gerçekte linux, bir sistemi aynı anda kullanan birçok kullanıcının bulunduğu bir sistemde sıklıkla kullanılır. Bu durumda sistemin (ve dolayısıyla sistem dosyalarının) kararlılığı çok daha değerlidir ve diğer kullanıcı dosyaları da önemlidir.
Eric Pauley,

2
kbeta Yeterince adil, ancak hasar görmüş bir sistem yapılandırması verileriniz için de bir risk oluşturabilir ... ve elbette yedeklemeler yapmak, sisteminizin şu anda risk altında olup olmadığı konusunda iyi bir fikir olabilir. Bir felaket kurtarma planı ile mevcut yedekleme çalışmak daha iyi olurdu.
Pryftan

47

Kök olarak çalıştırmak kötü çünkü:

  1. Aptallık: Hiçbir şey aptalca bir şey yapmanı engellemez. Sistemi, zararlı olabilecek herhangi bir şekilde değiştirmeye çalışırsanız, olası bir büyük / maliyetli değişiklik yapmak üzere olduğunuzu fark etmeniz için parolanızı girerken bir duraklama garanti eden sudo yapmanız gerekir.
  2. Güvenlik: Bu soruda epeyce bir kaç kez bahsedildi, ancak temelde aynı, yönetici kullanıcısının giriş hesabını bilmiyorsanız kesmek daha zor. root, çalışan yönetici kimlik bilgilerinin yarısına zaten sahip olduğunuz anlamına gelir.
  3. Buna gerçekten ihtiyacınız yok: Kök olarak birkaç komut çalıştırmanız gerekiyorsa ve sudo'nun süresi dolduğunda şifrenizi birkaç kez girmeniz gerekdiğinde rahatsızlık duyuyorsanız, yapmanız gereken tek şey sudo -iköklü olmanız. Borular kullanarak bazı komutları çalıştırmak ister misiniz? O zaman kullan sudo sh -c "comand1 | command2".
  4. Kurtarma konsolunda her zaman kullanabilirsiniz: Kurtarma konsolu, aptalca bir şey yapmayı veya bir uygulamanın neden olduğu bir sorunu gidermeyi (hala sudo :) olarak çalıştırmak zorunda kaldığınız) düzeltmeyi denemenizi ve kurtarmanızı sağlar. Ubuntu'da parola yoktur. Bu durumda root hesabı için çevrimiçi olarak arama yapabilirsiniz ancak bu, kutunuza fiziksel olarak erişimi olan herkesin zarar vermesini zorlaştıracaktır.

Neden bu kadar kötü olduğu konusunda bilgi bulamamış olmanızın sebebi, internette çok fazla veri bulunması :) ve uzun zamandır Linux'u kullanan birçok insanın sizin gibi olduğunu düşünmesidir. Kök hesap hakkındaki bu düşünce şekli oldukça yenidir (on yıl belki?) Ve pek çok insan sudo kullanmak zorunda kaldıklarında hala sinirleniyorlar. Özellikle de bir sunucu üzerinde çalışıyorlarsa, sistem değişikliği yapma niyetiyle girmişlerdir. Muhtemelen önceki kötü deneyimlerden ve güvenlik standartlarından kaynaklanmıştır, çoğu sistem yöneticisi daha iyi bilir, ancak yine de bundan hoşlanmazlar :).


'on yıl belki?' Bunu yazdığında bile ondan çok daha uzun. Sudo olmasa bile, örneğin tekerlek grubundan (örneğin) bahsetmiyorum bile. Ayrıcalık ayrımı her zaman önemlidir ve her zaman önemli olmuştur ve her zaman önemli olacaktır. Otoh, Unix tabanlı bir işletim sistemi kullanan pek çok insanın yıllar önce kullanılmadığını ve çoğu kişinin her zaman bir yönetici olmaya alışkın olduğunu belirtti.
Pryftan

36

Bu iyi bir soru. Bir sunucudan mı yoksa bir masaüstü kurulumundan mı bahsediyorsunuz cevabınıza bağlı olarak cevabın biraz farklı olduğunu düşünüyorum.

Masaüstünde, roothesabı kullanmak nadirdir . Aslında, Ubuntu root erişimi devre dışı bırakılmış olarak gönderilir. Süper kullanıcı ayrıcalıkları gerektiren tüm değişiklikler sudove onun grafiksel koordinatları gksudoile yapılır kdesudo. Bir rootşifre belirlemenin kolay olduğu göz önüne alındığında , neden insanlar bunu yapmıyor?

Bunun bir nedeni, size ek bir güvenlik katmanı sağlamasıdır. Bir programı farklı bir şekilde çalıştırırsanız rootve bir güvenlik açığı kullanılırsa, saldırgan tüm verilere erişebilir ve doğrudan donanımı kontrol edebilir. Örneğin, çekirdeğinize bir trojan veya key-logger yükleyebilir. Uygulamada, bir saldırı, süper kullanıcı ayrıcalıklarına sahip olmasa bile, büyük miktarda zarar verebilir. Sonuçta, tüm kullanıcı verilerine - belgeler ve saklanmış şifreler dahil - root erişimi olmadan erişilebilir.

Tek kullanıcılı bir sistemde daha geçerli bir nokta, kullanıcının yanlışlıkla sistemi kullanılamaz hale getirmesinin engellenmesidir. Kullanıcı istemeden tüm dosyaları silen bir komut verirse, veriler kaybedilse bile sistemi önyükleyebilir.

Ek olarak, günümüzde çoğu kullanıcının karşılaştığı uygulama (X11) uygulaması, normal bir kullanıcı hesabı olarak ve yönetici hakları olmadan çalıştırıldıkları varsayımına dayanmaktadır. Bu nedenle, bazı programlar, çalıştırıldığı zaman yanlış davranabilir root.

Yalnızca grafik dışı kabuk erişimi olan çok kullanıcılı bir sistemde, bu nedenlerin çoğu geçerli değildir. Ancak, Ubuntu hala erişilemez bir roothesaba makul ölçüde varsayılandır . Birincisi, sudobir güvenlik hesabından bir kullanıcı hesabına erişim hakkı ( haklarla) ve bir erişim deliği arasında erişim sağlama arasında gerçek bir fark var root, çünkü ilk durumda diğer kullanıcıları rahatsız etmek çalışmayı gerektirecek sudove hesap şifresini istenecek ek güvenlik adımı. Bir diğeri için, bir kullanıcı hesabından birçok idari görevi gerçekleştirmek ve yalnızca sudosüper kullanıcı ayrıcalıklarına kesinlikle ihtiyaç duyulduğunda çağrı yapmak yararlı olacaktır . Bu nedenle, kaynaktan bir program yüklerken, kaynağın oluşturulması önerilir - çalışmakta configurevemake- kullanıcının dizininde ve sadece sudo make installson adımda kullanarak . Yine bu, kendini (ve çok kullanıcılı sistemin diğer kullanıcılarını) ayağından vurmayı zorlaştırır ve sisteme zarar veren yapı komut dosyaları olasılığını azaltır. Bu nedenle, bir sunucuda bile Ubuntu'nun sudo tabanlı yönetimine bağlı kalmak iyi bir fikirdir .


2
he will still be able to boot the system, even if the data will be lost.- Bunun amacı ne? Verilerim kaybolursa verilerim kaybolur ve hepsi bu kadar. Eğer siliniyorsa Linux sistem yazılımı yeniden kurulabilir, neden bu tür veri kayıtlarında veri kaybını önemsemeliyim? Öte yandan, veri kaybı ~kötüdür. Ve sudobeni bundan korumaz.
Blauhirn

2
Bir başka iyi uygulama da önemli verilerin yedeklenmesidir. Ana dizini silerseniz, yine de önyükleme yapabilir ve sadece yedeklemedeki dosyaları kopyalayabilirsiniz. Ya da seyahat için küçük bir dizüstü bilgisayarınız olduğunu varsayalım. Bazı resimler, gezi notları, tren tarifesi olabilir - ama çok önemli bir şey olmayabilir. Kullanıcı dosyalarını silerseniz, sistemi yeniden açıp uçuşunuzu kontrol edebilir veya hangi otobüse bineceğinizi öğrenebilirsiniz.
Richlv

@Blauhirn Yedekleri. Ve kasvetli görünüyor olsa bile iyileşme şansı var.
Pryftan

34

Kök olarak çalışmamasının bir nedeni (bugüne kadar) diğer cevaplarla tespit edilememiştir. Muhtemelen, tek kullanıcılı makineler olan (masaüstünüz veya dizüstü bilgisayarınız) makinelerde daha az önemlidir, ancak birisi olarak giriş yaptıysanız, sunucu makinelerinde, rootgerçekleştirilen eylemler için kimi suçlayacağınızı bilmiyorsunuz. Bu nedenle, birçok sisteme ve rootayrıcalıklara ihtiyaç duyan birden fazla yöneticiye sahip profesyonel kuruluşların, insanların kendi kullanıcı kimliklerini (ve şifrelerini) kullanarak giriş yapmalarını ve ardından gerektiğinde ayrıcalıklarla sudoçalışmak için veya benzer programları kullanmalarını rootgerektirir.

Aksi takdirde, root olarak çalışmamanın başlıca nedenleri şunlardır:

  • Kazalardan kaynaklanan hasar riskini en aza indirin. rm -fr / home/me/my-subdirKök olarak koşuyorsanız , o zaman (ilk) eğik çizgiden sonra o alandan dolayı makinenizdeki önemli olan her şeyi büyük ölçüde ortadan kaldırmış olursunuz - çünkü önce gelen şeyler ilk eklenenler - çekirdek gibi küçük şeyler, /binve /etcdizin. Bunları kaybederseniz Unix sinirlenir.

  • Kötü amaçlı sitelerin zarar görmesi riskini en aza indirin. Olarak göz rootatarsanız, kötü niyetli malzemelerin indirilmesine karşı daha savunmasızsınız.

MacOS X’i Ubuntu’dan daha fazla kullanıyorum, ancak orada, root varsayılan olarak devre dışı bırakıldı ve hala makinemde. Çekirdeği ve diğer benzer işlemleri rutin olarak yükseltiyorum - kullanarak sudo(perde arkasında). Genellikle benzer teknikler Linux için de geçerlidir.

Temel olarak, roothata riskinden kaçınmak için yalnızca kısaltılmış çalışma süreleri için tümüyle güçlü ayrıcalıkları kullanmalısınız .


1
Birini suçlamakla ilgili değil, birisinin neden değişiklik yaptığını çözebilmekle ilgili .
jippie

2
@jippie: “Suçlamak” demek, aynı şekilde bir VCS'nin ne yaptığını izlemesi, doğru kişinin değişimin sorumluluğuyla, iyi veya kötü için ve bu izlemeyi yapan komutun isimlerinden birinin yapması anlamına gelir. 'suçlama'. Bir şeyin neden olduğunu öğrenmek için konuşacak bir kişi verir. Her zaman 'hata' değildir (sık sık sık sık da olsa, bilmeye ihtiyaç duyma sebebi, bir şeyin beklendiği gibi çalışmadığından ve neden olmadığını bilmeye ihtiyaç duymasıdır). Bu nedenle, kişiyi yaptıkları şey için fena halde suçlamaktan ziyade hesap verebilirlik ve izlenebilirlik ile ilgilidir.
Jonathan Leffler

Ubuntu'da olduğu gibi komutlar rm -fr / home/me/my-subdirözyinelemeli olarak silmeye çalışmaz /, çünkü /bu tür hatalara karşı özel olarak korunmak için özel olarak davranılır. Ayrıntılar için --preserve-rootve --no-preserve-rootseçeneklerinin belgelerine man rmbakın. Ama prensip sestir: tek karakterlik yazım hataları yok o sonucu mevcut rmolan her şeyi silerek. Örneğin, çalıştırarak geçerli dizinde her şeyi kaldırmak demek eğer rm -r *, ancak yanlışlıkla koymak /önce *kötü olacağını.
Eliah Kagan,

@EliahKagan Ama eğer yapacak olsaydın ... chown -R nobody:nobody ../söylesem / etc den seni koruyacak mıydı? Bunu / etc üzerinde yapacak olursan, sana acı veren bir dünya olurdu. Benzer şekilde .*özyinelemeli bir komut çalıştırırken.
Pryftan

21

TL; DR: İşleri sadece yapmanız gerektiğinde kök olarak yapın. sudobunu 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 sudove 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:

  1. 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.
  2. 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 ddkomutun 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 sudobaş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 sudovarsayı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 .

  1. hala sadece gerçekten ihtiyacın olduğunda kullanıyorsun, ve
  2. 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 .

sudoKullanı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 sudobir 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, subaş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. rootHesap yürürlükte şeyi yapabilir ve bu hemen her Unix benzeri sistem üzerinde aynı ada sahip. Kök olarak sshveya 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; sudoBunu 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 sudobazı ek avantajlar dahil , Ubuntu yardım wiki'sinde RootSudo'yusudo tavsiye ederim .


“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. Fakat bu riskinizi büyütmek için hala bir neden yok 'Söylememek sizi alışkanlığa sokuyor ... sonra başka bir sisteme gidersiniz ve ne olur? Saçma bir rm -itakma yolla insanların alışması saçma bir fikirle aynı . Sende olmayan bir sisteme gidiyorsun, peki ya sonra? Bir kullanıcının bu gibi hatalardan oturması, insanların çok fazla alışkanlık yarattığını düşünürken asla iyi bir fikir değildir.
Pryftan

13

Kök hesap varsayılan olarak devre dışı bırakılmıştır - var olduğu anlamına gelir ancak kullanılamaz (kurtarma modu hariç). Bu, bir saldırganın kök hesabınızın farkında olduğu ancak kök şifresi olsa bile kullanamadığı anlamına gelir. Bu nedenle, saldırganın hem yönetici ayrıcalıklarına sahip bir kullanıcı adı hem de bu kullanıcı şifresini (yalnızca kök şifrenin çalışmasına çalışmaktan çok daha zor olan) şifresini tahmin etmesi gerekir. Kutunuza fiziksel olarak erişebilir (RC), önyükleme yapabilirsiniz - şifre gerekmez. Ubuntu'daki Kurtarma Modu ile aynı.

Ubuntu'da, kökün devre dışı olduğunu söylediklerinde - gerçekte kastedilen, hesabın kilitli olmasıdır. Şifreyi, olası şifrelenmiş bir değerle eşleşmeyen bir değere değiştirerek hesap kilitlenir. Bu, herhangi birinin kök olarak giriş yapmasını etkili bir şekilde önler - çünkü şifreyi girmelerinin mümkün bir yolu yoktur. Kök erişiminin gerekli olduğu zamanlar olduğundan - Ubuntu çekirdeği, yalnızca tek kullanıcı modunda kök yerel girişine izin verecek şekilde değiştirildi.

Ayrıca bu sayfaya bakınız


Um. Alınma ama sorunun başlığını okumak ve sonra detayları tekrar okumak isteyebilirsin.
Mussnoon

3
Bu son derece yararlıdır - ve yok konusuyla ilgilidir. Root olarak çalıştırmanın bir ön şartı olan hesabın etkinleştirilmesinin güvenlik etkileri ile ilgilidir.
Stefano Palazzo

1
@Stefano Palazzo: Sunulan bilgiler yararlı olsa da, hangi bölümü bilmem gerekenin cevabını verdiğini içtenlikle göremiyorum. Birkaç kez okudum.
Mussnoon

İnsanların kök içine giriş yapmasını engellemez.
Çad,

12

AK47 ile küçük bir çocuğu silahlandırmak gibi bir şey, mutlu bir şekilde paintball silahıyla oynayabilir. ;)

Bunun yanlış olduğunu söylüyorum, çünkü siz ve uygulamalarınız daha sonra ayrıcalıklara sahip olacak ve ihtiyaç duydukları zaman oluyor ve işler ne zaman olabilir ve bazen de yanlış gidiyor :(


5
daha zekice bir benzetme. (^_^)
kit.yang

2
Bu tamamen uygunsuz bir benzetmedir. AK47'li bir çocuk kendini ve diğer insanları öldürebilir. Root erişimi olan bir unix kullanıcısı, sistemlerini en çok geçici olarak çalışamaz duruma getirebilir. (Bir os her zaman yeniden yükleyebilir ve işlemi geri kazanabilirsiniz).
kbeta

@kbeta Haklısın, benzetmem biraz orantısız ve abartılı. lütfen devam et.
10'da

Kbeta analoji uygundur. risk, çalışmayan bir sistem değil, veri ve mahremiyet kaybıdır. Kök kullanıcı verileri silebilir. öldürme ve veri kaybını ilişkilendirmek için lütfen düşleminizi kullanın.
n611x007

11

Çok güzel bir soru ... Bana pratik açıdan cevap vereyim:

10 yıldan daha uzun bir zaman önce olan Linux'u kullanmaya başladığımda, ana dağıtımlar bugünkü kadar köklü olmayan hesaplar kullanarak reklam vermedi. Windows'a alışkın olduğumdan, kısıtlı bir kullanıcı hesabı kullanmanın bir noktasını da görmedim. Özellikle de "su" ya çok sık girmek zorunda kaldım - sudo o zamanlar o kadar popüler değildi. ;-) Böylece her zaman root olarak giriş yaptım çünkü sistemimin iyi yapılandırılmasını sağlamak için çok fazla bakım yaptım. Fakat tahmin et ne oldu, yeni kurulan sistemler çabucak çok dengesiz hale geldi.

Mesela somut bir problem: Linux için ayrılan o kadar hard disk boşluğum olmadı, bu yüzden birkaç kez başıma 0 bayt kalmıştı. Belki de tam olarak kesin değilim çünkü tam mekanizmayı bilmiyorum, ancak bir diski root olmayan bir hesapla doldurduğunuzda her zaman birkaç kilobayt kalıyor. Fakat eğer gerçekten 0 bayt kaldıysa, sisteminiz çok garip hatalar yapar ve arka planda çalışan çok sayıda sistem yazılımı olduğundan sisteminizdeki hasarı düzeltmek zor olabilir.

Başka bir şey: Kök ve kök olmayan arasındaki bölünme sisteminizi iyi organize eder. Kök kullanıcı olarak sizi kirli, bakımı kolay bir sisteme bırakan yeni uygulamalarınızı temiz bir şekilde kurmamaya özendirin.

Fakat iyi olan: Modern dağıtımlar yönetim görevlerinin çoğunu sizin için yapar, bu yüzden nadiren Linux sisteminizin bağırsaklarına bir kök hesapla girmeniz gerekir. Zaman zaman bir şifre girmeniz yeterlidir, gerisi distribütörün komut dosyaları tarafından yapılır.

Ancak, 95 oder 98 kullanıyorsanız, Windows sisteminizde herhangi bir sorun yaşamadığınızdan şüpheliyim. (En azından bununla ilgili problemlerim vardı ...) Yönetici ile normal kullanıcı arasında açık bir ayrım olmamasından dolayı "geleneksel" "Windows uygulamaları bir şey yapabileceklerini varsayarlar. Örneğin, size söylemeden bile istemiyorlarsa Casus Yazılım yükleyin. Microsoft, Vista'yı yayımlarken bu konuyla ilgilendi. (Etkili bir sudo mekanizması uyguluyor.) Böylece insanlar “Bunu yapamazsınız” diyen çok sinir bozucu diyaloglar kurdular. Vista uyumlu olmayan bazı yazılımlar için, Yönetici olarak bile yüklemek için bazı kirli bilgisayar korsanlarına ihtiyaç duydunuz ...


'Belki de tam olarak kesin değilim çünkü tam mekanizmayı bilmiyorum, ancak bir diski root olmayan bir hesapla doldurduğunuzda her zaman birkaç kilobayt kalıyor.' Belki kayıp + bulunan dizine atıfta bulunuyorsunuz? Eğer öyleyse, yönetici olarak ne kadar rezerve edeceğinizi belirtebilirsiniz. Tipik varsayılan değerin% 5 olduğunu söylemek isterim ancak yanılıyor olabilir ve değiştirilebiliyor. Nadiren gerekli olsa bile oldukça kullanışlıdır. Görünüşe göre burada daha fazlası var (Kullanım yıllarımdan hatırlıyorum): unix.stackexchange.com/questions/18154/…
Pryftan

Görünen o ki, harici dosya sistemleriyle sınırlı değil: unix.stackexchange.com/questions/7950/…
Philip

Evet. Bunu biliyordum :) Ama bunu da eklediğiniz için teşekkürler.
Pryftan

10

Bu yaklaşımın arkasında birçok yön var. Onlardan bazıları:

  • Kök hepsi güçlüdür.
  • Unix ve Unix benzeri sistemlerde, sistem yönetimi ayrıcalıkları ya hep ya hiçdir. Bir kullanıcının ya kök erişimi var ya da yok ve kök erişimi bir makinenin tam kontrolünü gerektirir. Söz konusu makine birden fazla kişi tarafından kullanılıyorsa veya kök diğer sistemlere veya kullanıcı dosyalarına erişebiliyorsa, bazı kullanıcılara kısmi kök ayrıcalıkları verilmesi daha kabul edilebilir.

  • Kök kullanıcı tüm işlemlerini gizleyebilir.
  • sudo, sudo ile çalışan her komutu günlüğe kaydeder. Sudo ile yapılanları kaydettirmek, bireysel sistemler / süreçler ve genel konfigürasyon sorunları ile ilgili sorunları teşhis etmemize ve gerekli iyileştirmeleri tespit etmemize yardımcı olmaktadır.

  • Kök şifresi, bir sistemdeki herhangi bir komuta erişmenizi sağlar.
  • Sudo, config dosyası aracılığıyla belirli bir komut kümesi için kullanıcı kök erişimi sağlayabilir. Bu aynı zamanda "herkese veya hiçbir şey" etkisinden kaçınır, bireysel kullanıcılara makineleri üzerinde daha fazla kontrol vermemize ve sık karşılaşılan sorunlardan kendilerine yardım etmemize izin verir.

    İşte iyi bir makale: http://cf.stanford.edu/policy/root


    Ancak tam sudo olduğunuzda, sudo'yu sudo yapabilir ve işlemlerinizi gizleyebilirsiniz.
    Wilhelm Erasmus

    8
    rm /*
    

    Bir idari alanı temizlediğinizi varsayalım. Parola bıktınız, öyleyse sudo su. Sadece bir saniye için dikkatin dağıldı ve seni cd gibi unut /. Öyleyse sen rm *. Yaptım. Hepsini geri alabilirsiniz, ama bu bir PITA. Oh, ve o da içine indi /media!


    10
    Her zaman PC'lerimizin çok yavaş olmasından şikayet ediyoruz, ancak mümkün olduğu kadar hızlı bir şekilde bir rm çalıştırmak için optimize edilmişler.
    jippie

    1
    @jippie Çünkü RM sadece dosyaya inode bağlantısını mahvediyor. Bir bağlantının silinmesi ve boşlukların "boş" olarak işaretlenmesi uzun sürmez.
    Kaz Wolfe

    @jippie, 10 saniyelik geri sayıma dayanan bir yapıya sahip olmalı
    HopefullyHelpful

    7

    Neden root giriş yapmadınız?

    Eğer iken edebilirsiniz root olarak giriş yapmak için izin süper hesabı için bir parola oluşturun, bu şeyler yapmanın "Ubuntu" yol olmadığını belirtmekte yarar var. Ubuntu, bir nedenden dolayı varsayılan olarak root girişi ve şifre vermemeyi özellikle seçmiştir . Bunun yerine, varsayılan bir Ubuntu kurulumu kullanılacaktır sudo.

    Sudo, insanlara süper kullanıcı görevlerini yerine getirebilmeleri için root şifresi vermenin bir alternatifidir. Varsayılan bir Ubuntu'da işletim sistemini yükleyen kişiye varsayılan olarak "sudo" izni verilir.

    "Sudo" iznine sahip olan herkes sudo, emirlerini beklemeden "süper kullanıcı olarak" bir şey yapabilir . Örneğin, apt-get dist-upgradebir süper kullanıcı olarak çalıştırmak için şunları kullanabilirsiniz:

    sudo apt-get dist-upgrade
    

    Sudo yaklaşımının faydaları

    • Sudo ile, hangi kullanıcıların sudo erişimine sahip olacağını önceden seçersiniz. Kendi şifresini kullandıkları için bir root şifresini hatırlamalarına gerek yoktur.

    • Birden fazla kullanıcınız varsa, root şifresini değiştirmek ve herkese yeni bir şifre bildirmek zorunda kalmadan, kullanıcının sudo izinlerini kaldırarak süper kullanıcı erişimini iptal edebilirsiniz.

    • Bir kullanıcının sudo kullanarak gerçekleştirebileceği komutları ve bu kullanıcı için hangi komutların yasak olduğunu bile seçebilirsiniz.

    • Ve son olarak, bir güvenlik ihlali varsa, bazı durumlarda hangi kullanıcı hesabının tehlikeye girdiğini gösteren daha iyi bir denetim izi bırakabilir.

    Sudo, süper kullanıcı ayrıcalıklarına sahip tek bir komut gerçekleştirmeyi kolaylaştırır. Kök girişinde, kalıcı olarak exitveya ile çıkılması gereken bir süper kullanıcı kabuğunda kalırsınız logout. Bu, insanların süper kullanıcı kabuğunda gerekenden daha uzun süre kalmasına neden olabilir, çünkü oturumu kapatıp tekrar açmaktan daha uygundur.

    Sudo ile, şu komutla kalıcı (etkileşimli) bir süper kullanıcı kabuğu açma seçeneğine sahipsiniz:

    sudo su
    

    ... ve bu hala herhangi bir root şifresi olmadan yapılabilir, çünkü komuta sudosüper kullanıcı ayrıcalıkları verir su.

    Ve benzer şekilde, su -bir giriş kabuğu yerine, sudo su -hatta kullanabilirsiniz sudo -i.

    Ancak bunu yaparken, sadece her komut için bir süper kullanıcı olarak davrandığınızı bilmeniz gerekir. Kazara yanlışlıkla sisteme bir miktar zarar vermeme ihtimalini azaltmak için (gereğinden fazla, sadece kullanıcınızın sahip olduğu dosyalara zarar verebilirsiniz), süper kullanıcı olarak kalmaktan kaçınmak iyi bir güvenlik ilkesidir.

    Sadece açıklığa kavuşturmak için , eğer tercih ederseniz, özellikle de bunun yerine bu şekilde yapmak istiyorsanız, kök kullanıcıya bir kullanıcının giriş yapmasını sağlayan bir şifre verebilirsiniz. Ben sadece bunun sudoyerine Ubuntu'yu tercih etme konvansiyonu hakkında bilgilendirmek ve Ubuntu’nun bu yaklaşımı neden varsayılan olarak tercih ettiğini gösteren bazı sebepleri denemek ve açıklamak istedim .

    Neden SSH üzerinden root girişine izin vermiyorsunuz?

    Kök kullanıcı bile yok root olarak giriş yapmanızı sağlayan bir şifreye sahip, böyle SSH gibi dışarıdan direkt kök giriş devre dışı bırakmak iyi bir güvenlik uygulaması hala. Kullanıcıların ilk giriş yapmaları su -veya sudosonrasında giriş yapmaları makul olur .

    Bunun olası yararları çoğunlukla güvenlikle ilgilidir:

    • Kök şifresini uzaktan zorlama olasılığını ortadan kaldırarak saldırı vektörünü azaltır. Kök şifresini SSH aracılığıyla zorla girme girişimleriyle internetteki bir sunucunun sürekli olarak engellenmesi normaldir.

    • Hatta saldırganın ihlali durumunda böylece daha iyi bir denetim izi oluşturur yapar sonra süper kullanıcı ayrıcalıkları elde, kimin kullanıcı hesabı erişmek için kullanılan görebilirsiniz.


    6

    Kök olarak oturum açtığınızda, uygulamaların, komut dosyalarının veya komut satırı komutlarının, yazılımın sisteme zarar verebilecek hassas bölümlerine erişmesini sağlar. Bu, kullanıcının veya programcının bölümündeki deneyimsizliğin bir sonucu olabilir veya gizli saklı kodlardan kaynaklanabilir.


    5

    Kök olarak çalışırken çok kolay bir iş. Tüm sistemi tek bir komutla kapatabilirsiniz ...


    5

    Windows'ta Yönetici ile Unix'te root arasında bir fark olduğunu ekleyebilirim. Yönetici, hala, herhangi bir kısıtlamanın bulunmadığı sistemlerde bazı kısıtlamalara sahiptir . Windows'taki doğru kök analogu System kullanıcısıdır.

    PC'yi root / System altında kullanmanın kötü tarafı, işletim sisteminden herhangi bir uyarı almadan yanlışlıkla bir şeyleri yok edebilmenizdir.


    3

    Kök kullanmaya karşı nedenler:

    • Yanlışlıkla sistem dosyalarını imha edebilir
    • Bir enfeksiyon alabilir
    • İşlemleri günlüğe kaydetmez

    Kök kullanma nedenleri:

    • Her şeye erişim, şifre yazmama
    • GUI, sistem dosyalarını / dizinlerini yönetmek için terminal kullanmadan

    Bana göre root dışı bir hesap hala root kullanmama nedenlerinden dolayı mağdur olabilir, en çok eklediği şey, eylemleriniz için bir onay. Ne yaptığınızı bildiğiniz sürece, root kullanarak tamamen güvende olduğunuza inanıyorum. Orada söyledim.


    Her ne kadar teknik olarak her bir komutu içeren eylemleri kaydetmenin bir yolu var. Bu her kullanıcı için geçerli. Süreç muhasebesine bakın, örneğin burada: linuxjournal.com/article/6144 Ve sadece kök olmanız gerekiyorsa gerçekten güvenlidir; Aksi halde, komut güvenli olsa bile tamamen güvenli değildir (istismar vb.).
    Pryftan

    3

    Uygulamalar root olarak çalıştırılırsa, hiçbirinin çalıştırmayacağının garantisi yoktur.

    rm -rf /
    

    (Bu gereken bir komut bir örneğidir değildir çalıştırılabilir.)


    @StefanoPalazzo Bu yazı kaldırılan komut ile anlamsız, bu yüzden düzenlemenizi geri aldım - yazıyı silmiş olabilirsiniz. Yaygın yanlış anlaşılmaların aksine, bu komutun yazıldığı gibi bir Ubuntu sisteminde çalıştırıldığında dosyaları silmiyor , ancak komutlara benzer olduğunu unutmayın. Bu yüzden, birisinin düşüncesizce komutu kopyalayıp sistemlerini bombalayabileceğinden endişe ediyorsanız, bu mümkün değildir. Ayrıntılar için --preserve-rootve --no-preserve-rootseçeneklerinin belgelerine man rmbakın.
    Eliah Kagan

    Solaris bu komutu geniş bir POSIX yorumuna (ve Bryan Cantrill) göre tanımsız davranış olarak görüyor ve bir hata
    Jeremy Hajek

    3

    Bilgili ve dikkatli bir kullanıcı göz önüne alındığında, doğru bir cevap olduğundan emin değilim . Bu cevabı görmemiştim, içeri gireceğimi düşündüm.

    Sevmediğim şey, daha sonra ihtiyaç duyduğum çok kullanıcılı sistemlerde izinsiz izin değişiklikleri chmod. Gerçekte chmod ile tamir etmek, sudo'ya ihtiyaç duymaktan çok daha tahriş edici, fakat ne planladığıma bağlı.


    3

    Dikkatli kullanıldığında kök olarak kaydedilmesi tehlikesi yoktur.

    Her ne kadar saldırganın zorla kullanabileceğini düşünmeme rağmen, saldırgan bunu zorlayamadı çünkü.

    Çözümlerden biri sudo grubundaki belirsiz bir adla kullanıcı oluşturmak gamerve sudo'yu idari görevleri gerçekleştirmek için kullanmaktır.

    Bu nedenle saldırgan sadece o yönetici kullanıcının şifresini değil, aynı zamanda giriş adını da tahmin etmelidir. Kullanıcı kullanarak sudo gibi ismini giriş varsa hangisi açık değildir kittyya gamerveya buna benzer.


    2

    Yazılım, paylaşılan kütüphanelere, bağımlılıklara, konfigürasyon dosyalarına, vb.
    Dayanmaktadır . Çoğu zaman, bir uygulamadaki tek bir tıklama, sadece muhtemelen düşündüğünüz yerde değil, birden fazla değişikliğin "zincirleme reaksiyonunu" da çağırır.
    Bu değişiklikler sistemin kritik ayarlarını etkilemek üzereyken, bir kullanıcı olarak - bilmek sizin için iyidir.
    Bu nedenle kök erişimi iyi bir güvenlik modelidir:
    Sisteminizde çok önemli bir şey olmak üzereyse, ayrıcalık yükselmesi istenir.


    1

    Birden fazla cevabı olan, iki yüzlü bir problem.

    Bazı gerçekliği kontrol etmek için aynı-ama-oh-çok-korkunç cevaplar bu:

    desktop installations:

    • Gerekirse kendi kullanıcı ve sudo'yu kullan, yoksa başarılı bir şekilde kullanılan bir saldırı vektörü çünkü ne yaptığını ve sistemin tehlikeye atıldığını bilmiyorsun.
    • daha büyük şirketlerde ise, mevcut teneke folyo şapkaların miktarına bağlı olarak, yönetici olsanız bile kendi iş istasyonunuzda kök ayrıcalıklarınız bile olmayabilir.

    server installations:

    • Kısa çalışma oturumlarınızı root olarak okunaklı yapmak (şifresiz girişler, tüm sunucular için uygun ssh anahtar yönetimi ve tüm şifre girişleri için yapılandırılmış fail2ban) ve her servise / servise sahip olmak arasında çok büyük bir fark var. kendi kullanıcısı ile koşmak (bu bir zorunluluktur) - çoğu insan farkı fark etmiyor gibi görünüyor
    • eğlence için: sürüm kontrollü konfigürasyon yönetimi araçlarını (ansible / kukla / salt / git sunucusundan gelen dosyalar ile) yalnızca root erişimi olmadan kullanmayı deneyin. (bu özel sistemler için olduğu kadar, izleme ve yedekleme sistemleriniz için de bazı AAA'larınız var, değil mi?)
    • ayrıca: varsayılan rm -rf /çoğu dağıtımdaki IIRC'de çalışmaz
    • Herhangi bir ciddi işyerinde, zaten yaptığınız her şeyi kaydeden ve muhtemelen 2FA tarafından daha fazla korunan, sunucu filosuna erişmek için bir atlama sunucusu / bastion-host var
    • Eğer sudo'unuz varsa ve jumphost'unuz yoksa, ana bilgisayar günlüklerini sona erdirmek için düzeltebilirsiniz, ancak gerçek zamanlı olarak yansıtılmamışlarsa, yine de onları istersiniz.
    • Ayrıca ssh kayıtları temizlenirken, başka bir ağ izleme sistemi mevcut değilse, sunucuda olduğu bile kanıtlanamaz.

    İyi bir izleme / yedekleme / otomasyon / kayıt önlemi içermeyen bu iki uç arasında herhangi bir şirket büyüklüğü (okuma: büyük olasılıkla statik IP içeren SOHO) için, sudo kullanımını sunucular üzerinde zorlamak yararlı olabilir. (Bu insanlar tarafından rahatsız edilirsudo su - Bağlandıktan sonra en kısa sürede ASAP , tüm günlüğe kaydetme niyetlerinin, birden fazla root kullanıcısı oturum açtıktan hemen sonra kötü niyetli niyetler olmadan bile israf edilmelerine izin verilir. kurallara uymama önlemleri. Hayat her zaman bir yolunu bulur.)

    Ancak, şifrenizdeki girişleri (eğer internete bakan sistemlerde mevcutsa) şifrelemek için en azından fail2banız yoksa, uygun şifre işlemesi (şifre yönetimi araçları, saklama politikaları, ana şifre yok, bunları çalışanın üzerinde ele alma) dalgalanmalar ...) ve yerinde yer alan sunucu filosu için uygun bir güncelleme yönetimi biçimine sahip olduğundan tüm sunucular düzenli olarak eklenir, muhtemelen içeriden veya dışarıdan bir gün saldırıya uğrayacaksınız.

    Ve her zaman sudodini olarak kullanmış olmanız ve tüm insanlar arasında kullanımını zorunlu kılmak, bu durumda çok fazla sahip olma olasılığınızı değiştirmeyecektir.


    Nihayet gerçek ve farklılaştırılmış bir cevap, olağan 'asla bunu yapma' mantraları yerine. +1 ve bunun için teşekkürler.
    Andreas H.

    0

    Sonuçta root olarak çalışmanın zararı yoktur. Bir işletim sisteminin yeniden kurulmasının imkansız olduğunu düşünen bir grup paranoyak insan var. "Birisi bir programı tehlikeye atabilir .." argümanı, peki ne? Bunu yaparlarsa, şifrenizi zaten sildirebilirler veya yine de sadece bir root şifresi isteği görüntüleyebilirler ve şifreyi verdiniz mi? Sistemindeki her şeyi silip aldın mı? oh iyi, yükleyiciyi çıkarın ve yeniden yükleyin. 20 dakikadan az sürer, bir kahve alın ve soğutun. Kök iyidir, hatırlayabildiğim ve ne yaptığını bildiğinizden beri kök salıyorum. Paketlerin kurulmasını daha az baş ağrısı yapar. Normalde olduğu gibi her 5 dakikada bir root şifresi girmek zorunda değilsin. Çünkü sistem yapılandırma dosyalarını kaydetmeye / düzenlemeye çalışırken sorun yaşamazsınız çünkü Yalnızca kök izinlerini yeniden kullanın. Kök olarak çalıştırmak çok daha kolay ve daha iyidir.

    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.