Neden root olarak giriş yapma seçeneği yoktur?


39

Ubuntu neden GUI kullanıcılarının sistem sırasında root olarak oturum açmalarına izin vermiyor?

Neden bizi sadece terminalden giriş yapmamızla kısıtlıyorlar?


4
Lütfen grafik uygulamaları root olarak çalıştırmanıza izin veren 'gksu' nun da farkında olun. Yani "gksu nautlius"
Jeremy

1
Bazı dağıtımlar, X'e root olarak giriş yapmanızı sağlar. CentOS6.2 bunlardan biridir.
djangofan

Yanıtlar:


42

Çünkü ne yaptığınızı tam olarak bilmiyorsanız, bunu yapmanız önerilmez . Kök bir süper kullanıcıdır, yani her şeyi ve her şeyi yapabilir anlamına gelir - yalnızca yönetimsel görevler içindir. Günlük görevler, HERKES (veya çok sayıda kullanıcı) kök kullanıyorsa, WILL'ın istismar edilmesinin güvenlik riski taşıyabilir. Windows düşünün - kötü amaçlı yazılımların ve virüs sorunlarının% 99'u günlük işler için yönetici hesapları kullanan kişilerden geliyor.

Bir örneğe bakalım.

Birisi sisteminize girip disklerinizi silmesini söylerse ne olur? Normal bir kullanıcı olarak çalıştırıyorsanız, kaldırmanız gereken (yalnızca) kaldırmanız gereken dosyalar, size ait olanlardır ve başkasına değil. Örneğin, bilgisayarı kullanan başka kişileriniz varsa, ne kadar uğraşırsanız yapın, dosyalarına hiç dokunulmaz. Bu, hiçbir sistem dosyasını değiştiremeyeceğiniz anlamına gelir ve bu nedenle sisteminiz sağlam ve etkilenmemiş / etkilenmeden kalır.

Bununla birlikte, root olarak çalışıyorsanız, sabit sürücüyü tamamen silebilir, muhtemelen donanıma zarar verebilir ve sistemi genellikle kullanılamaz hale getirebilirsiniz. Düzeltme: Bilgisayarınızda kök olarak tek bir komut çalıştırabilen herkes (bazı kötü amaçlı web siteleri veya e-posta ekleri) bunu yapabilir.

Http://everyjoe.com/technology/explain-why-not-log-on-as-root/ adresine bir göz atın , benden daha iyi açıklayabilecek güzel bir makale.

EDIT: işte bir tane daha http://ihazomgsecurityskillz.blogspot.nl/2010/09/running-as-root.html

EDIT2: Her ikisini de grafiksel ve komut satırı araçlarıyla çalışan her zaman superuser olarak kullanabilir sudo commandveya gksu commandçalıştırabilirsiniz command. sudogenellikle CLI için kullanılır gksuve aynı şeyi yapan grafiksel şifredir.

Bir dereceye kadar rootgeçici olarak kalmanıza izin veriyorlar - sürekli, kök olarak çalıştırmaktan ve kararsızlığı riske atmaktan çok daha iyi.


1
Peki neden Fedora bu seçeneğin başlangıçta kullanılmasına izin veriyor?
Renjith G

5
Ubuntu kullanıcı dostu olacak şekilde tasarlanmıştır ve root'a izin vermeyerek, root olarak çalışan normal kullanıcılardan (okuma: Linux yenileri) günaha çıkardıklarından şüpheleniyorum.
evgeny,

Seni anlamadım
Renjith G

2
Benim yorumum biraz yanlıştı. Bunun yerine şunu söyleyelim: grafik kök girişine izin vermeyerek, insanların kök olarak çalışmasını engeller. Bu, benim görüşüme göre, sadece tüm riskleri bilen ve anlayan deneyimli kullanıcılar için mümkün olmalıdır.
evgeny

1
Okuyucuları gerçeğe dönüştürmek ve gerçekten bir noktaya değinmek biraz agresif olmak anlamına geliyor .
evgeny

11

Standart Ubuntu'da roototurum açmalara GDM (grafiksel) oturum açma yöneticisinden veya metin konsolundan (yani, Ctrl+ Alt+ tuşlarına basarsanız almaz) oturum açma izni verilmez F1.

Gerçekleştirmek için root(yani yönetici) işlemlerini kullanmak zorunda sudoterminalde, veya herhangi bir GUI eşdeğer komutu: Bu soracaktır sizin (ve yalnızca birinde o) istenen ayrıcalıklı işlemi gerçekleştirmek ardından şifrenizi ve.

Bu davranışın nedeni, başkalarının da belirttiği gibi, rootoperasyonları gerçekleştirmenin kendiliğinden riskli olduğu ve gerçekten rootayrıcalıklar gerektiren işlemlerin sayısının nispeten az olduğu: bu sudoyaklaşımı kullanarak çoğu zaman ayrıcalıklı olmayan bir hesapla (yani zararsız) çalışıyorsunuz. sisteme ve diğer kullanıcılara) ve rootgerçekten ihtiyaç duyulduğunda güçleri edin.

Bir örnek netleşmeye yardımcı olabilir. Makinenize yeni bir servis (daemon) kurmak istediğinizi varsayalım; bu nispeten yenidir ve bu konuyu okumanız ve ihtiyaçlarınızı nasıl yapılandıracağınızla ilgili. Bilgi bulmak için internete göz atmaya başlayacaksınız, örnek yapılandırmalar, vb., Belki daha fazla bilgi istemek için IRC sohbeti yapabilirsiniz - bunların hiçbiri rootgüç gerektirmez ! Sonunda, iki işlem için yalnızca ayrıcalıklı erişime ihtiyacınız var:

  1. yeni programı kurun (yani, sudo apt-get install ...) ve
  2. varsayılan yapılandırmayı düzenle

Bilgisayar güvenliğinde yaygın olarak kabul edilen bir prensip, bir işlemi gerçekleştirmek için her zaman mümkün olan en düşük imtiyaz seviyesini kullanmaktır. - Bu, yazılımdaki hatalar veya operatörün hataları nedeniyle kötü bir şeyler olma riskini azaltır.

Ubuntu varsayılan ayarları bu yöne gider; bir rootgiriş kullanıyor olsaydınız, bunun yerine internette gezinmek, roothesaptan IRC (ve muhtemelen aynı anda yapılan diğer tüm şeyleri) yapmaktan ve böylece sistemi bir tehdide maruz bırakmak zorunda kalırdınız.

Güncelleme: Derleyici örneğiniz için şu şekilde devam edeceğim:

  1. Düğüme normal kullanıcınız olarak SSH aracılığıyla ve grafiksel bir X11 ekranının çalıştığı başka bir Ubuntu veya GNU / Linux düğümünden oturum açın . SSH üzerinden X11 yönlendirmeyi etkinleştirdiğinizden emin olun:

    ssh -X myuser@remotemachine.example.org
    
  2. Shell / SSH komut isteminde şu komutu verin:

    sudo /path/to/the/compiler/install/program
    

    Bu, derleyici yükleyicisini rootayrıcalıklarla çalıştıracak ve önünüzdeki grafik ekrana erişecek (SSH yönlendirme yoluyla).


Tamam. Diyelim ki bir linux makinesi kullanıyorum (macun ile bağlı 10 kullanıcıya sahip). Bir yazılım kurmak istiyorum (örneğin: bir derleyici, aynı zamanda çevresel değişkenleri de ayarlaması gerekir) tüm kullanıcılar için geçerli olacak şekilde root olarak. Ancak yükleyici yalnızca GUI modunda çalışır ve komut satırı yükleyici olmadan çalışır ve yalnızca kök oturum açma ile çalışır. Kurulumu nasıl yönetebilirim?
Ubuntu'uma

@ Renjit G: iyi, bu kendi başına iyi bir soru, neden sormuyorsun?
Riccardo Murri

1
@ Renjit G: Yeni bir soru sormanızı önermek istedim. Çok sayıda özel soru sormak, çok yönlü bir soruyu sormaktan daha iyidir, çünkü ayrıntılı ve konuya cevaplar verir. Şu anki soruyu düzenleyerek, aldığınız cevaplar, sorunuzun sadece yarısını cevaplıyor gibi
göründüler

Teşekkürler Murri. Kesinlikle bundan sonraki yazımdan itibaren böyle takip edeceğim.
Renjith G

1
Böyle bir derleyici verildiğinde, çoğumuzun bu derleyicinin ne olduğunu merak edeceğimizi düşünüyorum. APT kaynakları veya bağımsız .deb dosyaları aracılığıyla dağıtılan herhangi bir yazılım için, "sudo" komut satırıyla kurulum yeterlidir (evet, tüm kullanıcılar için bile). Bu tür dosyaları GUI'den tüm kullanıcılar için kök olmadan da yüklemek mümkündür. Aldığınız GUI parola istemi "sudo" ifadesinin eşdeğeridir.
zarar

8

Ubuntu'da sudo kullanımının arkasındaki neden burada bulunabilir . Eğer hiç bir zaman "kök salmak" için hızlı bir yola ihtiyacınız varsa sudo -sveya kullanıyorum sudo -i.


9
Ve netleştirmek için, sudo -s'nin kullanıcı olarak root oturumu oluşturduğuna inanıyorum, sudo -i ise root kullanıcısı olarak bir root oturumu yaratmaktadır. Farkı anlatmanın kolay yolu komutu vermek, ardından hangi ortamın kullanıldığını görmek için bir "echo $ HOME" yapın. Veya "cd ~" sonra "pwd" de çalışır.
Scaine

6

Kenara kök kullanarak uyarılar dağlardan, sen yapabilirsiniz giriş ve terminal dan aşağıdaki gerçekleştirerek kök girişini etkinleştirmek:

sudo passwd

Bu önce sizden şifrenizi isteyecek, ardından sizden UNIX şifresini değiştirmenizi isteyecektir. Girdiğiniz şifre roothesap için olacaktır .

Ubuntu Wiki uyarılar ve tuzaklar - Ubuntu içinde kökü ve sudo derinliklerinde üzerine harika bir yazı vardır.


5

Burada iki soru var. Birincisi, neden root girişi Ubuntu'da varsayılan olarak devre dışıdır? Buradaki bazı yazılar tarafından ele alındı.

İkinci soru, neden grafik kök girişlerinin özellikle küçük düşürüldüğü?

Grafik olmayan kök girişlerinin tüm dezavantajları, grafik kök girişlerine de uygulanır. Ancak grafiksel olarak giriş yaptığınızda, grafiksel olmayan giriş yaptığınızdan çok daha karmaşık bir şekilde çalışan çok daha fazla program çalıştırırsınız. Tüm grafik kullanıcı arayüzü ve bir GUI'yi etkin bir şekilde kullanmak için gereken tüm grafik programları kök olarak çalışıyor olacaktır. Bunlardan herhangi birinde küçük bir güvenlik açığı olması birinin sisteminiz üzerinde tam kontrol sahibi olmasını sağlar.

Ubuntu'da root olarak giriş yapılması önerilmez, ancak güvenlik topluluğunda evrensel olarak kötü bir uygulama olduğu konusunda bir fikir birliği yoktur. Bununla birlikte, grafik kök girişleri, sadece kötü bir uygulamadır ve neredeyse tüm işletim sistemleri onları aşamalı hale getirdi veya onlara karşı şiddetle tavsiye etti.

Daha düşük bir dereceye kadar, grafiksel bir oturum açmada kök olmayan bir kullanıcının (özellikle sudo veya PolicyKit ile kök işlemler gerçekleştirme yeteneğine sahip biri) sahip olması risk oluşturur. Ancak, grafik ortamındaki her şeyin sınırsız yeteneklere sahip bir kök olarak çalıştırılması gerektiğinden çok daha fazla kontrol altında tutuluyorlar. Yine de, güvenliğin çok önemli olduğu durumlar için, genellikle tamamen grafik arayüzlerle ortadan kaldırılması tavsiye edilir, bu yüzden Ubuntu Sunucusu varsayılan olarak bir GUI ile birlikte gönderilmemektedir ve resmi olarak bir tane yüklemeye karşı önermektedir (bunun için desteklense de) .

Windows dünyasında, artık Windows Server'ı grafiksel kullanıcı arabirimini esasen ortadan kaldıracak şekilde yükleyebilirsiniz (teknik olarak bazı öğeler kalır, ancak çok sıyrılmıştır ve rasgele grafik programları çalıştıramazsınız). Bu aynı akıl yürütmeye dayanır.

Kök girişlerini etkinleştirmeye karar verseniz bile, lütfen grafik olarak kök olarak giriş yapmayın. Kök girişlerini etkinleştirmek sizi biraz daha yüksek güvenlik riskine götürebilir; Tüm grafik ortamını root olarak çalıştırmak sizi çok daha yüksek bir risk altına sokar.

Ek olarak, gksu / gksudo / kdesudo ile root olarak çalıştırılmak üzere tasarlanmış grafiksel yönetim araçları dışında, çoğu grafik programın root olarak çalıştırılması amaçlanmamıştır. Bu modda kapsamlı bir şekilde test edilmediklerinden başarısız olabilir veya hatalı davranabilirler (özellikle kök olarak çalıştıkları için özellikle kötü olur ).

Son olarak, gibiusers-admin bazı grafiksel yönetim araçları bile root olarak çalıştırılırsa başarısız olur, çünkü normal kullanıcılar tarafından çalıştırılmasını ve PolicyKit'i kullanarak (aslında root olarak çalıştırılmadan) root olarak eylemler gerçekleştirmesini beklerler.


4

Terminal'i açın ( Ctrl+ Alt+ Tveya Dash home> Diğer Uygulamalar> Yüklü (Genişlet)> Terminal).

KÖK HESABINI ETKİNLEŞTİRMEK

Bir terminal türünde veya yapıştırın sudo passwd root. Normal giriş şifrenizi girin (istenirse), sizden yeni rootşifreyi girmeniz ve onaylamanız istenir.

SİZ KÖKE GİRMEYEN VE ŞİFRE GİBİ İZİN VEREN YENİ BİR GİRİŞ PROMPANI EKLE

Bir terminal türünde veya yapıştırın. gksudo gedit /etc/lightdm/lightdm.conf. Bu, giriş ekranı için yapılandırma dosyasını düzenleyebileceğiniz bir grafik metin editörü penceresi açar.

greeter-show-manual-login=trueDosyanın altına satırı ekleyin .

Dosya şimdi aşağıdaki gibi okunmalıdır:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true

Dosyayı kaydedin lightdm.confve gedit'ten çıkın.

Ubuntu 12.04'ü yeniden başlattığınızda, Kullanıcı Adı ve Şifre girişi için yeni bir “Giriş” penceresi göreceksiniz (önceki “Diğer” penceresinin yerine geçecek). rootKullanıcı adını girin ve ardından kök hesaba atadığınız şifreyi girin.

Umarım bu rooterişime ihtiyaç duyan / isteyen diğerlerine yardımcı olur .


2

ubuntu 12.04 LTS'ye gelince bunu root ayrıcalığını kullanarak yapabilirsiniz:

echo "greeter-hide-users=true" >> /etc/lightdm/lightdm.conf

Ardından, grafiksel olarak giriş yapmak için hem kullanıcı adınızı hem de parolanızı yazmanız istenir. Kök için parolayı zaten ayarlamış olduğunuzu farz ediyorum :)

Doğrudan root olarak giriş yapmamanız için sayısız neden olduğunu biliyorum, ancak bazı nadir durumlarda (örneğin vmware'de çalışan bir test kutusunda) root olmanın gerçekten uygunluğunu takdir ettiğinizde çıkabilirsiniz.


1

Çünkü kök kullanıcı ve Yönetici (Windows'ta) bir Tanrı'nın bilgisayarla eşdeğerleridir. Bu kullanıcı, dosya izinlerinden dosya sisteminin tamamını silmeye kadar her şeyi ayarlayabilir. Ortalama ev kullanıcısının Yönetici olarak çalışması oldukça yaygındır (bu ad altında veya ilk önyüklemede ayarlanan başka bir ad). Bu kullanıcı olarak yürütülen herhangi bir program sistem çapında olduğundan, tehlikeli hale gelir.

İdari ayrıcalıklar üzerindeki kontrolün eksikliği virüs / kötü amaçlı yazılıma ve hatta kendi kendine tahrip edici sorunlara izin verir. Bu nedenle, Ubuntu da dahil olmak üzere birçok dağıtım yüksek güce geçişi ekstra bir adımla sınırlandırdı (“burada yaptığım her türlü değişikliğin kapsamı içinde olan değişiklikler olduğu konusunda ısrar etmeye yardımcı olan bilişsel bir adım”).


heh heh. ... "burada yaptığım değişiklikler kapsamda."
emf,

1

Doğrudan kök olarak giriş yapamamanıza rağmen (başkalarının zaten açıkladığı nedenlerden dolayı), GUI uygulamalarını kök olarak çalıştırabilirsiniz. Örneğin, Sistem → Yönetim → Synaptic Paket Yöneticisi , kök olarak çalışan grafiksel bir uygulamadır.

Bir uygulamayı kök olarak çalıştırmak için (bir metin uygulaması veya bir GUI uygulaması), aşağıdaki komutlardan birini kullanın:

sudo name-of-the-application
gksu name-of-the-application

Neredeyse aynılar. Başlıca fark, ilk önce terminalde şifrenizi sorar, ikincisi grafiksel bir iletişim penceresi kullanır.


1
Arasındaki fark sudove gksuşifrenizi girmeniz nerede daha önemlidir. gksuGUI uygulamaları için tercih edilir ve sudokomut satırı için buraya ve buraya bakın
Warren Hill

1

Kök gerçekten normal kullanım için önerilmez, ancak bazen root ayrıcalıklarına ihtiyaç duyan uzun bir terminal komutları listesine sahipsiniz ve root olarak giriş yapmak daha uygun olur. Bir root terminali kullanmak sudo xtermveya gksu xtermaçmak için kullanışlı "root @" terim komut istemine sahip olduğunuzda hangi terim penceresinin root ayrıcalıklarına sahip olduğunu ayırt etmenin biraz daha kolay olduğunu düşünüyorum.


0

Ek not: Ubuntu, GUI kullanıcılarının root olarak giriş yapmasına izin vermemektedir, çünkü Ubuntu, GUI uygulamalarıyla (nautilus gibi) önemli dosyaları yanlışlıkla silmenizi veya silmenizi önler.

Sadece CLI kullanıcı arayüzü ile hata riskimizi azaltabilir. Fakat önceden CLI modunda bile root ile giriş yapamıyoruz çünkü Ubuntu root için rasgele bir şifre oluşturuyor. Kök yönetim görevi yalnızca kullanıcının şifresini sudo veya gksu komutuyla kullanarak yapılabilir.

Debian kuralına dayanıyor.


gksu komutu ne anlama geliyor?
Renjith G

1
erkek gksu: gksu - su ve sudo için GTK + frontend
squallbayu 13:10

1
Sorry.Again bana belli değil yeterince
renjith G

'Gksu' demek, su ve sudo için GTK + frontend anlamına gelir.
squallbayu,

1
Evet haklısın. Terminalde 'gksu nautilus' deneyin. Kök ayrıcalıklarına sahip Nautilus görünecektir.
squallbayu,

0

Göz önüne alındığında root olarak giriş için iyi nedenler vardır , ben (sudo / gksu kullanarak her şeyi yapmak) tercih meselesidir RH (root giriş izin) ve ubuntu arasındaki farkı tahmin ediyorum.

Sorunuzun diğer bölümüne gelince, grafik kurulumunuzu normal bir kullanıcı olarak giriş yaparak, tuşuna basıp ALT-F2girerek çalıştırabilmelisiniz gksu. Sonuçta ortaya çıkan diyalog penceresinde sadece kurucunuzu başlatan komutu girin.


0

Kök edilir değil gün günlük göreve günü için önerilir. U superuser'ı engellediği için kötüye kullanılabilir. Bu nedenle oturum açmada root için bir seçenek yoktur.


0

Eylemleri root olarak gerçekleştirmek için daima kendiniz gibi oturum açmalı ve sudo yapmalısınız. Ubuntu, varsayılan olarak ihtiyaç duyduğunuz çoğu erişime izin verecek şekilde ayarlanmıştır. Küçük değişiklikler gerisini halledecektir (alışkın olduğunuzu diğer gruplara eklemek gibi). Kök olarak oturum açmak için kötü bir uygulama olarak kabul edilir. Sektörün en iyi uygulaması, burada ayarlanan varsayılandır.

Root olarak giriş yapabilen biri güvenlik açısından çok kötü bir şey olabilir.

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.