Kök olarak giriş yapmak neden kötü?

179

Sık sık forumlarda veya diğer web sitelerinde sık sık rastladım. Burada insanlar, "korkunç" bir şey gibi "root" olarak koşturup / logging yapmak için şaka yapıyorlar ve herkes bunu bilmek zorunda. . Bununla birlikte, bir aramanın konuyla ilgili ortaya koyduğu fazla bir şey yok.

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

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

    
sordu Mussnoon 04.12.2010 18:00

21 cevap

145

Yıllardır yürürlükte olan güvenlik modelini yener. Başvurular idari olmayan güvenlikle (ya da sadece faniler olarak) yürütülecek şekilde tasarlanmıştır, böylece temel sistemi değiştirmek için ayrıcalıklarını yükseltmelisiniz. Örneğin, bir hata nedeniyle tüm /usr dizini silmek için Rhythmbox'ın son çökmesini istemezsiniz. Ya da bir saldırganın bir ROOT kabuğu kazanmasına izin vermek için ProFTPD'de yayınlanmış olan bu güvenlik açığı.

Uygulamalarınızı bir kullanıcı düzeyinde çalıştırmak ve yönetim görevlerini kök kullanıcılara bırakmak ve yalnızca gereksinim temelinde olmak için herhangi bir işletim sistemi üzerinde iyi bir uygulama.

    
verilen cevap lazyPower 04.12.2010 18:08
73

Sadece bir kelime: güvenlik.

  1. Kök olarak oturum açtınız = tüm uygulamalar root ayrıcalıklarıyla çalışıyor - Firefox, Flash, OpenOffice vb .'deki her türlü güvenlik açığı artık sisteminizi yok edebilir, çünkü olası virüsler artık her yere erişebiliyor. Evet, Ubuntu / Linux için sadece birkaç virüs var, ama aynı zamanda iyi güvenlik ve varsayılan ayrıcalıklı kullanıcı yüzünden de.
  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 yapabilirsin - sistem sormaz! Bu diski biçimlendirmek istiyor musunuz? Tamam, sadece tek bir tıklama ve bitti, çünkü köktün ve ne yaptığını biliyorsun ...
verilen cevap Vojtech Trefny 04.12.2010 18:10
45

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

  1. Aptallık: Hiçbir şey, aptalca bir şey yapmanı engellemez. Zaten sisteminizi zararlı olabilecek şekilde değiştirmeye çalışırsanız, olası büyük / masraflı bir değişiklik yapmak üzere olduğunuzu anlamanız için parola girerken duraksamızı garanti eden sudo yapmanız gerekir.
  2. Güvenlik: Bu soruda zaten birkaç kez bahsedilmişti, ancak temelde aynı şey, yönetici giriş hesabını bilmiyorsanız hacklemek daha zor. root, yönetici kimlik bilgilerinin çalışan kümesinin bir yarısına 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 birkaç kez şifrenizi girmeniz gerektiğinde rahatsızlık duyuyorsanız, yapmanız gereken tek şey sudo -i ve Artık kötüsün. Borular kullanarak bazı komutları çalıştırmak ister misiniz? Sonra sudo sh -c "comand1 | command2" kullanın.
  4. Bunu her zaman kurtarma konsolunda kullanabilirsiniz: Kurtarma konsolu, aptalca bir şey yapmak veya bir uygulamanın neden olduğu bir sorunu gidermek için denemenizi ve kurtarmanızı sağlar (yine de sudo olarak çalıştırmanız gerekir :)) Ubuntu'nun bu durumda root hesabı için bir şifresi yok, ancak bunu değiştirmek için çevrimiçi arama yapabilirsiniz, bu da zarar verebilmek için kutunuza fiziksel erişimi olan herkes için daha zor hale gelecektir.

Neden bu kadar kötü olduğu hakkında bilgi bulamadınız, çünkü internette çok fazla veri var :) ve Linux'u uzun zamandır kullanan pek çok insan sizin gibi yap. Kök hesabı hakkında bu şekilde düşünmek oldukça yeni (belki on yıl mı?) Ve bir çok insan hala sudo kullanmaktan rahatsız oluyor. Özellikle bir sunucu üzerinde çalışıyorlarsa, sistemde değişiklik yapma niyetinde oldukları anlamına gelir. Muhtemelen önceki kötü deneyimlerden ve güvenlik standartlarından getirildi, çoğu sysadmin daha iyi biliyor ama yine de hoşlanmıyorlar:).

    
verilen cevap Marlon 04.12.2010 19:43
36

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

Bir masaüstünde, root hesabını kullanmak yaygın değildir. Aslında, Ubuntu root erişimi devre dışı bırakılmış olarak gönderilir. Süper kullanıcı ayrıcalığı gerektiren tüm değişiklikler sudo ve onun grafik kodları gksudo ve kdesudo aracılığıyla yapılır. Bununla birlikte, root şifresini ayarlamak kolay olduğu halde, neden insanlar bunu yapmıyor?

Bunun bir nedeni, size ek bir güvenlik katmanı vermesidir. Bir programı root olarak çalıştırırsanız ve bir güvenlik kusuru kullanılırsa, saldırgan tüm verilere erişebilir ve donanımı doğrudan kontrol edebilir. Örneğin, çekirdeğinize bir trojan veya key-logger yükleyebilir. Pratikte, bir saldırı, süper kullanıcı ayrıcalıkları olmadan bile büyük miktarda hasar yapabilir. Sonuçta, tüm kullanıcı verileri - belgeler ve saklanan şifreler dahil - root erişimi olmadan erişilebilir.

Tek kullanıcılı bir sistemde daha geçerli olan bir nokta, kullanıcının sistemi yanlışlıkla kullanılamaz duruma getirmesidir. Kullanıcı istemeden tüm dosyaları silen bir komut verirse, veriler kaybolsa bile sistemi ön yükleyebilirler.

Ayrıca, günümüzde kullanıcılara yönelik (X11) uygulamaların çoğu, normal bir kullanıcı hesabı olarak ve yönetici hakları olmadan çalıştırıldıkları varsayımıyla oluşturulmuştur. Bu nedenle, bazı programlar root olarak çalıştırıldığında yanlış davranabilir.

Sadece grafik olmayan kabuk erişimi olan çok kullanıcılı bir sistemde, bu nedenlerin çoğu geçerli değildir. Ancak, Ubuntu hala makul bir root hesabına erişilemez. Bir şey için, bir güvenlik açıklığı aracılığıyla bir kullanıcı hesabına erişim kazanma ( sudo hakları ile) ile root 'ye erişim kazanma arasında gerçek bir fark vardır, çünkü ilk durumda diğer kullanıcıları bozmak sudo çalışması gerektirir ve Hesap şifresini ek bir güvenlik adımı olarak isteyecektir. Bir başkası için, bir kullanıcı hesabından birçok yönetim görevini gerçekleştirmek ve süper kullanıcı ayrıcalıklarına kesinlikle ihtiyaç duyulduğunda yalnızca sudo çağırmak yararlıdır. Bu nedenle, bir programın kaynağından yüklenmesi sırasında, kullanıcının dizininin içinde configure ve make - kaynağının oluşturulması ve son adımda yalnızca sudo make install kullanılması önerilir. Yine bu, kendini (ve çok kullanıcılı sistemin diğer kullanıcıları) ayağından vurmayı daha da zorlaştırır ve sisteme zarar veren komut dosyaları oluşturma olasılığını azaltır. Böylece bir sunucuda bile Ubuntu'nun sudo tabanlı yönetimine uymak iyi bir tavsiyedir.

    
verilen cevap loevborg 04.12.2010 18:24
31

Başka cevaplarla (şimdiye kadar) tespit edilmemiş olan kök olarak çalıştırılmamasının bir nedeni, izlenebilirliktir. Büyük olasılıkla tek kullanıcılı makineler (masaüstü veya dizüstü bilgisayarınız) olan makinelerde, ancak sunucu makinelerinde, daha azında root olarak oturum açmışsa, daha az önem kazanır. Bu nedenle, root ayrıcalıklarına gereksinim duyan birden çok sisteme ve çoklu yöneticiye sahip çoğu profesyonel kuruluş, kullanıcıların kendi kullanıcı kimliklerini (ve şifrelerini) kullanarak giriş yapmasını ve ardından gerekliyse% co_d% ayrıcalıklarıyla çalışmak için sudo veya benzeri programları kullanmasını gerektirir.

Aksi halde, root olarak çalışmamanın başlıca nedenleri:

  • Kazalardan kaynaklanan hasar riskini en aza indirin. Eğer root 'yı root olarak çalıştırırsanız, o zaman (ilk) eğik çizgiden sonra o alandan dolayı makinenizdeki her şeyden önemli olan her şeyi büyük ölçüde ortadan kaldırmış olursunuz. Çünkü önce gelenler ilk eklenen şeylerdir. çekirdek, rm -fr / home/me/my-subdir ve /bin dizini. Unix, onları kaybedersen üzülür.

  • Kötü amaçlı dış sitelerden kaynaklanan hasar riskini en aza indirin. % Co_de% olarak göz atıyorsanız, kötü amaçlı malzemelerin indirilmesiyle daha hızlı bir şekilde karşıdan yüklenebilirsiniz.

MacOS X'i Ubuntu'yu kullandığımdan daha fazla kullanıyorum, ama orada, root varsayılan olarak devre dışı ve hala makinemde. Çekirdek ve diğer benzer işlemleri rutin olarak yükseltirim - /etc kullanarak (perde arkası). Benzer teknikler genellikle Linux için geçerlidir.

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

    
verilen cevap Jonathan Leffler 05.12.2010 00:10
20

TL; DR: Yapmanız gereken şeyleri yalnızca root olarak yapar. sudo bunu oldukça kolaylaştırır. Kök girişleri etkinleştirirseniz, yine de bu kuralı takip edebilirsiniz, sadece dikkatli olmalısınız. Kök girişlerin etkinleştirilmesi, doğru bir şekilde yapıldığında aslında güvensiz olmamasına rağmen, sudo dosyanız olduğundan kök girişlerini etkinleştirmeniz gerekmez.

Burada gerçekten iki tane ilgili soru var.

  • Kişinin günlük bilgisayar kullanımı için (web'de gezinme, e-posta, kelime işlem, oyun, vb.) root olarak neden giriş yapmak kötüdür?
  • Ubuntu, neden kök girişlerini tamamen devre dışı bırakacak ve sudo ve polkit 'i tıklayın.

Neden her şeyi kök olarak çalıştırmıyorsunuz, her zaman?

Diğer cevapların çoğu bunu kapsar. Aşağı geliyor:

  1. Kök güçleri gerektirmeyen görevler için kullanırsanız ve bunu yapmak istemediğiniz bir şeyle sonuçlanırsanız, sisteminizi istemediğiniz şekilde değiştirebilir veya zarar verebilirsiniz.
  2. İhtiyacınız olmadığında bir programı root olarak çalıştırıyorsanız ve bu , bunun yapmak için yapmanız gereken bir şey yapmaz - örneğin bir güvenlik açığı nedeniyle veya başka bir hata - sisteminizi istemediğiniz şekilde değiştirebilir veya zarar verebilir.

Kök olarak bir şey yapmadan bile, zarar verebilirsiniz. Örneğin, kendi ev dizininizdeki tüm dosyaları, kök olarak kullanmadan tüm belgelerinizi de içeren silebilirsiniz. (Umarım yedekleriniz vardır.)

Elbette, root olarak, aynı verileri yanlışlıkla yok etmenin ek yolları vardır. Örneğin, of= komutuna yanlış dd argümanı belirtebilir ve dosyalarınız üzerinden ham veriler yazabilirsiniz (bu da onları kurtarır, kurtarmanız daha kolay silinir).

Bilgisayarınızı kullanan tek kişi sizseniz, 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 karıştırmanın ek yollarını eklemenin riskini artırmanın hala bir nedeni değildir.

Kök olmayan bir kullanıcı hesabıyla çalışmanız, kendi bilgisayarınız üzerinde kontrol etmenizi engellediyse, bu elbette ki kötü bir tradeoff olacaktır. Ancak, dilerseniz her zaman bir eylemi root olarak gerçekleştirmek istediğinizde , sudo ve diğer yöntemlerle yapabilirsiniz.

Neden root olarak oturum açmayı mümkün kılmıyorsunuz?

Kök olarak oturum açma yeteneğinin doğal olarak güvensiz olduğu fikri bir efsanedir. Bazı sistemlerin varsayılan olarak etkin bir kök hesabı vardır; diğer sistemler varsayılan olarak sudo , bazıları ise her ikisiyle de yapılandırılmıştır.

  • Örneğin, dünyanın en güvenli genel amaçlı işletim sistemi olan ve yaygın olarak kabul edilen OpenBSD , gemiler Kök hesabı yerel, şifre tabanlı giriş için etkinleştirildi.
  • Bunu yapan diğer iyi sayılan işletim sistemleri arasında RHEL , CentOS ve Fedora .
  • Debian (buradan Ubuntu türetiyor ), sistem kurulumu sırasında kullanıcının hangi yaklaşımın yapılandırılacağına karar verir.

Kök hesabın etkinleştirildiği bir sisteme sahip olmak nesnel olarak yanlış değildir, sağlanan

  1. hala sadece gerçekten ihtiyacınız olduğunda kullanıyorsunuz ve
  2. ona erişimi uygun şekilde kısıtlıyorsunuz.

Çoğu zaman acemi Ubuntu'daki kök hesabın nasıl etkinleştirileceğini soruyor. Bu bilgileri bunlardan gizlememeliyiz, ancak genellikle insanlar bunu sorduklarında, root hesabını etkinleştirmek için ihtiyaç duydukları şeklinde yanlış bir izlenim aldıkları için. Aslında, bu neredeyse hiçbir zaman gerekli değildir. Bu nedenle, bu tür soruları yanıtlarken bunu açıklamamız önemlidir. Kök hesabını etkinleştirmek, aynı zamanda kolaylık sağlamak ve root ayrıcalıklarına gerek duymadan root olarak eylemleri gerçekleştirmeyi kolaylaştırır. . Ancak bu, root hesabının tek başına güvensiz olmasını sağlamak anlamına gelmez.

sudo , kullanıcıların komutları yalnızca gerektiğinde root olarak çalıştırmasına yardımcı oluyor ve yardımcı oluyor . Bir komutu root olarak çalıştırmak için sudo , boşluk ve sonra komutu yazın. Bu çok kullanışlı ve tüm beceri seviyelerinin çoğu kullanıcı bu yaklaşımı tercih ediyor.

Kısacası, sudo dosyanız olduğundan kök girişlerini etkinleştirmeniz gerekmez.Ancak, yalnızca onu gerektiren yönetim görevleri için kullandığınız sürece, yalnızca bu yollarla olduğu sürece root olarak etkinleştirmek ve oturum açmak için eşit derecede güvenlidir:

  • Yerel olarak, grafiksel olmayan bir sanal konsoldan .
  • Başka bir hesaptan giriş yapıldığında su komutuyla .

Ancak, aşağıdaki gibi kök olarak oturum açarsanız önemli ölçüde ek güvenlik riskleri ortaya çıkar:

  • Grafiksel. Grafiksel olarak oturum açtığınızda, grafik arayüzünü sağlamak için bir çok şey çalışır ve sonuçta bu arayüzü herhangi bir şey için kullanmak için daha fazla uygulama çalıştırırsınız. Bu, sadece root ayrıcalıklarına gereksinim duyan root olarak çalışan programlar ilkesine aykırıdır. Bu programlardan bazıları güvenlik hataları da dahil olmak üzere hatalar içerebilir.

    Ayrıca, bundan kaçınmak için güvenlik dışı bir sebep var. Kök olarak grafiksel olarak oturum açmak iyi bir şekilde desteklenmez - loevborg bahsettiği gibi , masaüstü ortamlarının geliştiricileri ve grafiksel uygulamalar genellikle onları kök olarak test eder. Bunu yapsalar bile, kök olarak grafiksel bir masaüstü ortamına giriş yapmak, kullanıcılar tarafından gerçek dünya alfa ve beta testi yapmaz, çünkü neredeyse hiç kimse bunu denemez (yukarıda açıklanan güvenlik nedenleriyle).

    Kök olarak belirli bir grafik uygulama çalıştırmanız gerekiyorsa, gksudo veya sudo -H . Bu, kök hesapla gerçekte grafiksel olarak oturum açtığınızdan çok daha az sayıda program çalıştırır.

  • Uzaktan. root hesabı aslında herhangi bir şey yapabilir ve neredeyse her Unix benzeri sistemde aynı ada sahip. Kök olarak ssh veya diğer uzak mekanizmalarla oturum açarak veya izin vermek için uzak hizmetleri yapılandırmak suretiyle , otomatik betikler ve botnet'lerde çalışan kötü amaçlı yazılımlar da dahil olmak üzere, davetsiz misafirlere daha kolay erişim sağlarsınız. kaba kuvvet, sözlük saldırıları yoluyla erişim (ve muhtemelen bazı güvenlik hataları).

    Muhtemelen, yalnızca parola tabanlı ve parola tabanlı kök girişlerine izin vermiyorsanız, risk çok yüksek değildir.

Ubuntu'da varsayılan olarak, ne grafiksel kök girişleri ne de SSH üzerinden uzaktan girişler etkinleştirilir, root olarak giriş yapmayı etkinleştirseniz bile . Yani, root oturum açmayı etkinleştirseniz bile, yine de yalnızca makul derecede güvenli yollarla etkinleştirilebilir.

  • Ubuntu'da bir ssh sunucusunu çalıştırırsanız ve /etc/sshd/ssh_config değiştirmediyseniz, PermitRootLogin without-password satırını içerecektir. Bu parola tabanlı kök girişini devre dışı bırakır, ancak tuşlara dayalı oturum açmaya olanak tanır. Ancak, hiçbir anahtar varsayılan olarak yapılandırılmamıştır, bu yüzden bir tane ayarlamadıysanız, bu da işe yaramayacaktır. Ayrıca, anahtar tabanlı uzak kök girişi, parola tabanlı uzak kök girişinden çok daha az kötüdür, çünkü bu, kaba kuvvet ve sözlük saldırıları riskini oluşturmaz.
  • varsayılanları sizi koruyacak olsa bile, root hesabını etkinleştirecekseniz ssh yapılandırmanızı kontrol etmenin hala iyi bir fikir olduğunu düşünüyorum. Ve eğer ftp gibi uzaktan oturum açmayı sağlayan başka hizmetler çalıştırıyorsanız, onları da kontrol etmelisiniz.

Sonuç olarak:

  • İşleri yalnızca gerektiğinde root olarak yapın; sudo bunu yapmanıza yardımcı olurken, istediğiniz zaman size tam olarak root gücü verir.
  • Kökün nasıl çalıştığını ve aşırı kullanımının tehlikelerini anlarsanız, kök hesabın etkinleştirilmesi güvenlik açısından gerçekten sorunlu değildir.
  • Ancak, bunu anladıysanız, root hesabını etkinleştirmek için kesinlikle gerekmez olduğunu da biliyorsunuz.

Kök ve sudo hakkında daha fazla bilgi için, burada bulunmadığım sudo 'nın bazı ek avantajları dahil olmak üzere RootSudo .

    
verilen cevap Eliah Kagan 03.05.2015 19:12
13

Kök hesabı varsayılan olarak devre dışıdır - var olduğu anlamına gelir, ancak kullanılamaz (kurtarma modu dışında). 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, bir saldırganın hem yönetici ayrıcalıklarına sahip olan bir kullanıcı adını, hem de kullanıcının şifresini (root şifresini çözmeye çalışmaktan çok daha zor olanı) tahmin etmesi gerekir. XP'de, Kurtarma Konsolu kuruluysa, kutunuza fiziki olarak erişebiliyor (RC) - şifre gerektirmez. Ubuntu'daki Kurtarma Modu ile aynı.

Ubuntu'da, kökün devre dışı olduğunu söyledikleri zaman - gerçekten anlamı, hesabın kilitli olduğu anlamına gelir. Şifreyi, şifrelenmiş değere uygun olmayan bir değere değiştirerek bir hesap kilitlenir. Bu, herkesin root olarak giriş yapmasını etkili bir şekilde önler - çünkü şifrelere girebilecekleri herhangi bir yol yoktur. Kök erişiminin gerekli olduğu zamanlar olduğu için, Ubuntu çekirdeği yalnızca tek kullanıcı modunda kök yerel oturum açmaya izin verecek şekilde değiştirildi.

Ayrıca bkz. sayfa

    
verilen cevap karthick87 04.12.2010 18:18
12

Bir AK47 ile küçük bir çocuğun silahlanması gibi, onun paintball silahıyla mutlu oynayabilir. ;)

Yanlış olduğunu, çünkü sizin ve uygulamalarınızın ihtiyaç duydukları daha fazla ayrıcalığa sahip olacağından ve yani ve bazen hata yapacağı zaman: (

)     
verilen cevap omeid 05.12.2010 02:33
11

Çok güzel bir soru ... Pratik bir bakış açısından cevap vereyim:

Linux'u kullanmaya başladığımda, 10 yıldan uzun bir süre önce, büyük dağıtımlar, bugün olduğu kadar kök dışı hesapları kullanarak reklam vermedi. Windows'a alıştığım gibi, kısıtlı bir kullanıcı hesabı kullanmanın da bir noktasını görmedim. Özellikle çok sık "su" girmek zorunda kaldım çünkü o zamanlar o kadar popüler değildi. ;-) Her zaman root olarak giriş yaptım çünkü sistemimi iyi yapılandırmak için çok fazla bakım yapıldı. Ama tahmin edin, yeni kurulmuş herhangi bir sistem hızla kararsızlaştı.

Örneğin somut bir problem: Linux için o kadar çok sabit disk alanı ayırmadım ki, bir kaç kez bana bölüme bıraktığım 0 baytım oldu. Belki de tam olarak kesin değilim çünkü kesin mekanizmayı bilmiyorum, ancak kök olmayan bir hesaba sahip bir diski doldurduğunuzda her zaman birkaç kilobayt kalıyor. Ancak, gerçekten 0 baytınız kaldıysa, sisteminiz garip hatalar yapar ve sisteminizde çok sayıda sistem yazılımı olduğundan, sisteminizde hasarı gidermek için biraz zor olabilirsiniz ...

Başka bir şey: Kök ile kök dışı arasındaki bölünme, sisteminizi iyi organize eder. Bir root kullanıcısı olarak, sizi kirli ve bakımı kolay bir sistemle bırakan yeni uygulamalarınızı temiz bir şekilde yüklemeyebilirsiniz.

Ama iyi olan şey: Modern dağıtımlar sizin için yönetim görevlerinin çoğunu yapıyor, bu yüzden nadiren Linux sisteminizin bağırsaklarında kök bir hesapla uğraşmanız gerekiyor. Zaman zaman bir şifre girilmesi yeterlidir, gerisi distribütörün komut dosyaları tarafından yapılır.

Ancak, Windows sisteminizde sorun yaşamadığından şüphe ettim. Eğer 98 oder 98 kullandıysanız. (En azından bununla ilgili sorunlarım vardı ...) Yönetici ile düzenli olarak ayrılan bir açıklık olmaması nedeniyle kullanıcı "geleneksel" Windows uygulamaları her şeyi yapabileceğini varsayalım Spyware'i, size söylemeden bile olsa böyle hissederlerse yükleyin. Microsoft, Vista'yı yayınlarken bu konuyla ilgilenmiştir. (Sudo mekanizmasını etkili bir şekilde uygularlar.) Böylece insanlar “Bunu yapamazsın” diyerek çok sinir bozucu diyaloglar yaptılar. Vista uyumlu olmayan bazı yazılımlar için, onu yüklemek için bazı kirli bilgisayarlara ihtiyacınız vardı, Yönetici olarak bile ...

    
verilen cevap Philip 04.12.2010 21:02
10

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

  •    Kök, her şeyden güçlü.
  • Unix ve Unix benzeri sistemlerde, sistem yönetimi ayrıcalıkları hepsi ya hiç değil. Bir kullanıcının root erişimi vardır veya yoktur ve root 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şiyorsa, bazı kullanıcılara kısmi root ayrıcalıkları vermek daha kabul edilebilirdir.

  • Kök kullanıcı tüm işlemlerini gizleyebilir.
  • sudo sudo ile her komutu çalıştırır. Sudo ile neler yapıldığına dair bir kayda sahip olmak, bireysel sistemler / süreçler ve genel yapılandırma sorunları ile ilgili problemleri teşhis etmemize ve gerekli iyileştirmeleri tanımlamamıza yardımcı olur.

  • Kök parola, sistemdeki herhangi bir komuta erişmenizi sağlar.
  • Config dosyası ile sudo, belirli bir komut kümesi için bir kullanıcı root erişimi verebilir. Bu aynı zamanda, bireysel kullanıcılara kendi makineleri üzerinde daha fazla kontrol vermemize ve ortak sorunlardan kurtulmaları için bize izin veren "tamamen ya da hiçbir şey" etkisinden kaçınmaktadır.

    işte iyi bir yazı: İşte

        
    verilen cevap aneeshep 18.12.2010 14:52
    8
    rm /*
    

    Bir idari alanı temizlediğinizi söyleyelim. Paroladan sıkıldınız, bu yüzden sudo su . Sadece ikinci için dikkati dağıtır ve cd / 'sini unutursun. Sonra rm * . Yaptım. Hepsini geri alabilirsin, ama bu bir PITA. Ah, ve /media 'ye de indi!

        
    verilen cevap bambuntu 07.02.2012 05:30
    7

    Neden root girişiniz yok?

    Kök olarak oturum açmanıza izin veren süper kullanıcı hesabı için yapabilir bir şifre oluştururken, bunun bir şey yapmanın "Ubuntu" tarzı olmadığını belirtmeye değer. Ubuntu, bir sebepten dolayı varsayılan olarak bir kök giriş ve şifre vermek için değil 'i seçmiştir. Bunun yerine, varsayılan bir Ubuntu yüklemesi sudo kullanır.

    Sudo, kullanıcılara süper kullanıcı görevi yapmak için bir root şifresi vermenin bir alternatifi. Varsayılan olarak, Ubuntu'nun kurulumunu yapan, OS'yi yükleyen kişiye varsayılan olarak "sudo" izni verilir.

    "Sudo" iznine sahip olan herkes, sudo 'sini kendi komutlarına beklemede "bir süper kullanıcı olarak" yapabilir. Örneğin, apt-get dist-upgrade 'yi bir 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 olduğunu önceden seçersiniz. Kendi şifrelerini kullandıkları için bir şifre şifresini hatırlamalarına gerek yoktur.

    • Birden çok kullanıcınız varsa, root şifresini değiştirmeye gerek kalmadan yeni bir şifrenin herkese bildirmesine gerek kalmadan, kullanıcıların sudo izinlerini kaldırarak süper kullanıcı erişimini iptal edebilirsiniz.

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

    • Son olarak, bir güvenlik ihlali varsa, bazı durumlarda hangi kullanıcı hesabının ele geçirildiğini gösteren daha iyi bir denetim izi bırakabilir.

    Sudo, süper kullanıcı ayrıcalıklarına sahip tek bir komutu gerçekleştirmeyi kolaylaştırır. Kök girişle, exit veya logout kullanılarak çıkarılması gereken bir süper kullanıcı kabuğunda kalıcı olarak kalırsınız. Bu, daha uzun süre için süper kullanıcı kabuğunda kalan kişilere yol açabilir çünkü daha sonra tekrar giriş yapmaktan daha kolay olur.

    Sudo ile, yine de şu komutu kullanarak kalıcı (etkileşimli) bir süper kullanıcı kabuğu açma seçeneğiniz var:

    sudo su
    

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

    Ve benzer şekilde, giriş kovanı için su - yerine sudo su - veya hatta sudo -i kullanabilirsiniz.

    Ancak bunu yaparken, sadece her komut için bir süper kullanıcı olarak hareket ettiğinin farkında olmanız gerekir. Gerekenden daha uzun süre bir süper kullanıcı olarak kalmamak için iyi bir güvenlik ilkesidir, sadece sisteme zarar vermesi olasılığını azaltmak için (bu olmadan, yalnızca kullanıcılarınızın sahip olduğu dosyalara zarar verebilirsiniz).

    Açıklığa kavuşturmak için yapabilirsiniz , eğer isterseniz, kök kullanıcılara root olarak oturum açma izni veren bir parola verin. Ubuntu'nun yerine sudo 'yi tercih etme sözleşmesini bilmenizi istedim ve Ubuntu'nun bu yaklaşımı varsayılan olarak kabul etmesinin nedenlerini açıklamaya çalışıyorum.

    Neden SSH üzerinden root girişine izin verilmiyor?

    Kök kullanıcınız yapsa bile root olarak oturum açmanızı sağlayan bir parolaya sahip olsa da, SSH gibi dışarıdan gelen kök girişini devre dışı bırakmak için hala iyi bir güvenlik uygulamasıdır. Kullanıcıların ilk girişten sonra su - veya sudo değerine sahip olmaları mantıklı.

    Bunun potansiyel faydaları çoğunlukla güvenlikle ilgili:

    • Kök parolasını uzaktan zorlama olasılığını ortadan kaldırarak saldırı vektörünü azaltır. İnternet üzerindeki bir sunucunun, SSH ile root şifresini zorlamak için girişimde bulunarak sürekli olarak barikat kurması normaldir.

    • Daha iyi bir denetim izi oluşturur; böylece saldırganın daha sonra süper kullanıcı ayrıcalıklarına sahip olduğu bir ihlal durumunda bile, kullanıcı hesabının erişim kazanmak için kullanıldığını görebilirsiniz.

    verilen cevap thomasrutter 25.06.2014 15:24
    6

    Kök olarak oturum açıldığında, sisteme zarar verebilecek yazılımların hassas parçalarına erişmek için uygulamalar, komut dosyaları veya komut satırı komutları mümkün kılar. Bu, kullanıcı veya programcının bölümlerindeki deneyimsizliğin sonucu olabilir veya kötü gizli koddan kaynaklanabilir.

        
    verilen cevap Gersitar 04.12.2010 18:26
    5

    Kök olarak çalışırken çok kolay dağılır. Tüm sistemi tek bir komutta gizleyebilirsin ...

        
    verilen cevap Abel 04.12.2010 20:05
    5

    Windows'ta Yönetici ile Unix'te kök arasında bir fark olduğunu ekleyebilirim. Yöneticinin hala kökünde herhangi bir kısıtlama bulunmayan bazı kısıtlamalar vardır. Windows'da doğru kök analogu Sistem kullanıcısıdır.

    Kök / Sistem altında PC kullanmanın kötü tarafı, işletim sisteminden herhangi bir uyarı almadan yanlışlıkla herhangi bir şeyi yok etmektir.

        
    verilen cevap Aleksei 18.12.2010 16:01
    3

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

    rm -rf /
    

    (Bu, değil çalışması gereken bir komut örneğidir.)

        
    verilen cevap segfault 04.12.2010 18:48
    3

    Bilgili ve dikkatli bir kullanıcı olduğu için doğru cevabının mevcut olduğundan emin değilim. Bu cevabı görmemiştim, o yüzden ben de gelmeyi düşündüm.

    Beğenmediğim, çok kullanıcılı sistemlerde izinler 'in daha sonra chmod ' si için ihtiyacım olan istem dışı değişiklikidir. Chmod aracılığıyla düzeltme, sudo gerekenden çok daha rahatsız edici olsa da, planladığım şeye bağlıdır.

        
    verilen cevap Clayton 09.08.2016 05:10
    3

    Dikkatlice kullanıldığında kök olarak kayıt yapılmasında tehlike yoktur.

    Kökünün devre dışı bırakılmasının tercih edilen çözüm olduğunu düşünmeme rağmen çünkü saldırgan bunu zorlayamadı.

    Bir çözüm, gamer gibi belirsiz bir adla sudo grubunda kullanıcı oluşturmak ve yönetim görevlerini gerçekleştirmek için sudo kullanmaktır.

    Bu nedenle, saldırgan sadece bu yönetici kullanıcının şifresini değil, oturum açma adını da tahmin etmelidir. Sudo kullanan kullanıcının kitty veya gamer veya benzeri bir şey gibi oturum açma adı varsa, bu durum açıkça belli olmaz.

        
    verilen cevap Bulat M. 11.11.2016 08:08
    2

    Yazılım, paylaşılan kütüphanelere, bağımlılıklara, yapılandırma dosyalarına vb. dayalıdır.
    Çoğu zaman, bir uygulamadaki tek bir tıklama, yalnızca muhtemelen düşündüğünüz yerde değil, birden çok değişikliğin "zincirleme reaksiyonunu" da çağırır.
    Bu değişiklikler sistem açısından kritik ayarları etkilemek üzereyken, sizin için - bir kullanıcı olarak - bilmek iyidir.
    Bu yüzden root erişimi iyi bir güvenlik modelidir:
    Sisteminizde önemli bir şey varsa, ayrıcalık yükselmesi istenerek size bildirilir.

        
    verilen cevap Pavlos G. 05.12.2010 17:50
    2

    Kök kullanmanın nedenleri:

    • Yanlışlıkla sistem dosyalarını yok edebilir
    • Bir enfeksiyon olabilir
    • İşlemleri günlüğe kaydetmiyor

    Kök kullanmanın nedenleri:

    • Her şeye erişim, yazım şifreleri yok
    • GUI, sistem dosyalarını / dizinleri yönetmek için terminal kullanmayın

    Kök dışı bir hesabın, root kullanmaya karşı bu nedenlerin kurbanı olarak kalacağını görüyoruz, en çok eklediğiniz şey, eylemleriniz için bir onaydır. Yaptığını bildiğin sürece, root kullanmanın tamamen güvenli olduğunu düşünüyorum. Orada söyledim.

        
    verilen cevap Que 18.11.2011 08:41
    0

    Birden fazla yanıtla iki yüzlü bir sorun var.

    Bazı gerçeklikler için, her zaman aynı-ama-çok-korkunç cevapları kontrol edin:

    desktop installations :

    • ihtiyacınız olduğunda kendi kullanıcınızı ve sudo'nuzu kullanın, aksi halde başarılı bir saldırı vektörü kullanın çünkü gerçekten ne yaptığınızı ve sisteminizin tehlikede olduğunu bilmiyorsunuz
    • büyük şirketlerde şansınız, kato-folyo şapkaların miktarına bağlı olarak, eğer bir yönetici olsanız bile, kendi iş istasyonunuzda bile root ayrıcalıklarına sahip olmayabilirsiniz.

    server installations :

    • kısa çalışma oturumlarınızı root olarak yapmanın (parolasız oturum açmalarınızın olması, tüm sunucular için uygun ssh anahtar yönetimi sağlamanız ve yine de tüm parola girişleri için yapılandırılmış fail2ban) ve her birine sahip olmanız arasında büyük bir fark vardır. kendi kullanıcı ile çalışan daemon / servis (ki bu bir zorunluluktur) - çoğu insan farkı fark etmiyor gibi görünüyor.
    • Eğlence için: sadece root erişimi olmaksızın, sürüm kontrollü konfigürasyon yönetimi araçlarınızı (git / kukla / tuz / bir git sunucusundan dosyaları ile) kullanmayı deneyin. (Bu özel sistemler için, ayrıca izleme ve yedekleme sistemleriniz için yerinde bir tür AAA var, değil mi?)
    • ayrıca: varsayılan rm -rf / , çoğu ana akımlarda çalışır: IIRC
    • herhangi bir ciddi işyerinde, sunucu filosuna erişmek için zaten var olan her şeyi kaydeden bir jumphost / bastion-host var.
    • Eğer sudo'nuz varsa ve hiçbir zıplamanıza gerek kalmazsa, ana bilgisayar günlüklerini düzeltebilirsin, ancak onları gerçekte yansıtmıyorlarsa, yine de istiyorsun.
    • Ayrıca, ssh günlükleri 'temizlendiğinde', eğer başka bir ağ izleme sistemi yoksa, ana bilgisayarda bulunduğunuzu bile kanıtlayamazsınız

    İyi izleme / yedekleme / otomasyon / günlüğe kaydetme ölçütlerine sahip olmayan bu iki uç arasında, herhangi bir şirket boyutu için (büyük olasılıkla bir statik ip ile SOHO okuyun), sunucularda sudo kullanımını zorlamak yararlı olabilir. (Bağlandıktan sonra sudo su - ASAP yapan kişiler tarafından engellenir, neler olup bittiğini günlüğe kaydetmenin tüm niyetlerinin, birden fazla kök kullanıcı giriş yaptıktan sonra kötü niyetli amaçlar olmadan bile atığa gitmesi sağlanır. İyi şanslar, zorlu prosedürler ve muamele ile değiştirilir. kuralları yerine getirememek için can sıkıcı önlemleri olan insanlar. Hayat her zaman bir yol bulur.)

    Ancak, şifre girişlerinizi güvenceye almak için en azından fail2ban'ınız yoksa (özellikle internete bakan sistemlerde herhangi bir hediye varsa), ayrıca uygun parola işleme (şifre yönetim araçları, saklama ilkeleri, ana parola yok, kullanım kılavuzu) hakkında bilgi edinin. Bunların çalışan dalgalanmalarına ...) ve sunucu filosu için uygun güncelleme yönetiminin bir türü var, bu yüzden hepsi sunucuların düzenli olarak yamalanması, büyük ihtimalle bir gün hackleneceksiniz, ya da dışarıdan.

    Ve her zaman sudo 'yi dini olarak kullandığını ve bütün insanlar arasında kullanımını zorlaştırdığını, bu durumda çok fazla sahip olma olasılığınızı değiştirmeyecek.

        
    verilen cevap sjas 02.09.2018 23:32

    Etiketlerdeki diğer soruları oku