Sen bir yöneticisin ama değil root. rootKullanıcı her şeyi yapabilir. Yöneticiler, eylemleri gerçekleştirebilirroot , ancak normal olarak yöneticilerin yaptığı işler tarafından yapılmaz root. Bu şekilde kendi sisteminiz üzerinde tam kontrole sahipsiniz, ancak sadece kullanmayı seçtiğinizde .
Ubuntu, rootgerçekten kendiniz olduğundan emin olmak için bir şeyler yapmaya çalıştığınızda şifrenizi ister .
Kullanıcı Hesapları: İnsan ve Aksi takdirde
Gerçek insan kullanıcıları, onları temsil edecek kullanıcı hesaplarına sahiptir. Ubuntu'yu kurduğunuzda böyle bir hesap oluşturdunuz. Ancak tüm kullanıcı hesapları gerçek insan kullanıcıları temsil etmez .
Gerçek insan kullanıcılarına, kullanıcı hesapları aracılığıyla yetenek verilir (ve reddedilir). Sistemi kullanmak için kullanıcı hesaplarını kullanmaları gerekir; bu nedenle, kullanıcı hesaplarının yetenekleri ve kısıtlamaları onlar için geçerlidir.
Kullanıcı hesapları ayrıca, yetenek ve sınırlama kümelerini kodlamak için de kullanılır. Bazı kullanıcı hesapları - çoğu, aslında, makinenin çok sayıda insan kullanıcısı olmadıkça - belirli programlar veya komutların kimlikleriyle, iş için doğru yeteneklere ve sınırlamalara sahip bir kimlikle çalıştırılabilmesi için var olur.
Örneğin, www-datakullanıcı bir web sunucusunu çalıştırırsanız, sunucunun erişilebilir hale getirdiği verinin sahibi olur. Hiçbir gerçek insan kullanıcının bu verilerde denetlenmeyen değişiklikler yapma yetkisine sahip olması gerekmez ve web sunucusunun, web sunumu için gereksiz herhangi bir işlem yapması için yetkilendirilmesi gerekmez. Sonuç olarak, hem web verileri hem de sistemin geri kalanı, yanlışlıkla veya kasıtlı bozulmalara karşı daha güvenlidir; web sunucusu, web sunucusunun tüm yetkilerine sahip (ve web sunucusunun yetkilerine sahip olacak) bir kullanıcı tarafından çalıştırılsa bile ) sahiptirler.
En Önemli İnsan Dışı Kullanıcı Hesabı
Süper kimin kullanıcı adı, root:, yetenekleri ve sınırlamaları çok özel kombinasyonu ile bir insan olmayan kullanıcı hesabı tüm yeteneklerini ve hiçbir sınırlama .
rootbir şey yapmasına izin verildi . Şey hala var rootsisteminin kendisi onlardan gerçekleştirmek veya mantıklı olamaz çünkü yapamaz. Yani rootedemez olan bir süreç öldürmek içinde kesintisiz uyku , ya da daha sonra taşımak, olaya bir kaya çok ağır hale .
Birçok önemli sistem süreçleri gibi init, olarak çalıştırmak rootve rootidari görevleri gerçekleştirmek için kullanılır.
Olarak giriş yapabilir miyim root?
rootHesabı yapılandırmak mümkündür, böylece bir parola ile giriş yapılabilir, ancak bu varsayılan olarak Ubuntu'da etkin değildir. Bunun yerine, aklınıza gelebilecek rootgibi varlık olarak www-data, lp, nobodyve diğer insan olmayan hesaplar. (Run cat /etc/passwdveya getent passwdhepsini görmek için.)
İnsan kullanıcılar kendi kullanıcı hesaplarıyla giriş yaparlar ve sonra bazı görevler başka bir kullanıcı hesabıyla gerçekleştirilecekse, bu görevin aslında bu kullanıcı olarak giriş yapmadan, bu kimlikle yapılmasına neden olur .
İnsan dışındaki diğer kullanıcıları www-datada kendileri gibi oturum açabilecek şekilde yapılandırmak mümkündür . Yine de, bu oldukça nadir, oysa Unix benzeri işletim sistemlerinde root terminal olarak oturum açmak oldukça yaygın . Tüm grafik arayüzünü çalıştırma riski, rootkaç tane grafik programının rootçalışacak şekilde tasarlanmadığı ve düzgün çalışamayacağı riski ile birlikte , rootsahipsiz bir masaüstü oturumu almaya asla çalışmamanız gerektiği anlamına gelir .
Lütfen not olarak günlük süre olduğunu rootUbuntu varsayılan olarak devre dışıdır, bir almak için yolu vardır rootolarak kimlik doğrulaması yapmadan kabuk rootbenzer bir etkiyi,: en yaygın olanlarıdır sudo -sveya-i , kurtarma modu ve benzeri teknikler . (Bu şeylerin ne olduğunu bilmiyorsanız endişelenmeyin.) Bu aslında giriş yapmıyor: kurtarma modunda rootherhangi bir giriş yapılmadan önce olursunuz ; ile sudotabanlı yöntemlerle, sadece root olarak bir kabuk koşuyoruz.
Yöneticiler
Ubuntu, yöneticiler onlar istediğimizi yapabiliriz kullanıcılardır root, bunu yapmak için seçtiğinizde .

Sistem Ayarları> Kullanıcı Hesapları. "Eliah Kagan" bir yöneticidir, bu yüzden bir şeyler yapabilir root, ancak değildirroot .
Ubuntu sistemimde yöneticiyim. Programları çalıştırdığımda, normal olarak çalıştırırlar ek("Eliah Kagan", ekkullanıcı adına karşılık gelen tam addır .)
AbiWord veya LibreOffice'i çalıştırdığımda, olarak çalışıyor ek. Firefox, Chromium, Empathy veya Pidgin'i çalıştırdığımda, olarak çalışıyor ek. Masaüstü arayüzünü sağlamak için çalışan programlar olarak çalışır ek.
Ancak ben bir yöneticiyim, bu yüzden idari bir görev yapmam gerekirse, yapabilirim.
sudo
Komut satırında normal sudoolarak bir komutu çalıştırmak için kullanırdım root:
sudo command...
Bu benim şifremi isteyecek . ( rootŞifreniz rootdeğil ; bir şifreniz yok.)
- Yönetici olduğum için eylemleri gerçekleştirebilirim
root. Varsayılan yapılandırmada, bunu yapmak için şifremi girmeliyim.
- Yönetici olmayan kullanıcılar
root, şifrelerini girerek bile eylem gerçekleştiremezler . sudobunları çalıştıran kullanıcı bir yönetici değilse, komutlar başarısız olur.
Yöneticiler mükemmel sıradan kullanıcıların Çünkü hariç olarak eylemleri gerçekleştirmek için yeteneği için rootgerektiren bir komutu çalıştırarak, rootyine komut çalıştırıldığında dışında başarısız olur ayrıcalıkları olarakroot .

sudoİdari görevleri gerçekleştirmek için kullanma gereğini gösteren ekran görüntüsü . ( Randall Munroe tarafından "Sandviç" dayanarak .)
sudo, Grafiksel
Grafik programları çalıştırabilir rootaracılığıyla için grafik hatlarısudo gibi, gksu/gksudo ve kdesudo. Mesela GParted'i çalıştırmak istediğim gibi rootçalıştırmak gksudo gparted. Daha sonra şifrem için grafiksel olarak uyarıldım.

Grafiksel olarak istendiğimden beri, bir terminal olması gerekmez. Bu, idari araçların nasıl yönetildiği yollarından biridir root.
polkit
Polkit (bir defa PolicyKit olarak bilinir) yöneticilerin işleri yapması için başka bir yoldur root. Bir program eylemi gerçekleştiren bir servise erişir. Bazen, eylem bütün bir programı çalıştırıyor; Bazen eylem daha sınırlıdır.
Bu günlerde, birçok grafik sistem yönetimi yardımcı programı kullanmak yerine varsayılan olarak polkit kullanmak üzere ayarlandı sudo.
Böyle bir yardımcı programın bir örneği Yazılım Merkezi'dir. Polkit'ten tam anlamıyla yararlanır ve kullanıcının yalnızca ayrıcalıklar gerektiren bir şey yapmak istediklerinde şifrelerini girmesini gerektirir root. (Bu, sudotemelli kimlik doğrulaması ile de mümkündür , ancak başarması daha zor ve çirkindir.)
Yazılım Merkezinde bir uygulama bulabilir ve okuyabilirim; daha sonra yüklemek istediğimde şifremi sordum.

Polkit Farklı mı
Herhangi bir grafik programı olarak çalıştırılabilir rootolan gksudove diğer grafik sudoönyüzleridir. (Kullanılmak üzere tasarlanıp tasarlanmadığına bağlı olarak program çok iyi çalışmayabilirroot . Ancak programı başlatma komutu olarak çalıştırılır root.)
Polkit artık GUI’den çok daha yaygın olsa da sudo, Ubuntu’daki uygulamaların rootsahnelerin arkasındaki gibi eylemler gerçekleştirmesi gibi , polki yalnızca root izin veren ve hangi eylemlerin gerçekleştirilebileceğini belirten bir yapılandırma dosyası varmış gibi grafiksel bir uygulama yürütecektir .
Grafik Olmayan, Polkit
pkexec polkit ile bir program çalıştırmak için kullanılan komuttur.
Gibi sudo, pkexecgrafik olmayan komutları çalıştırabilir. (Ve komutun yeteneklerini tanımlayan bir yapılandırma dosyası gerektirmez - sadece komutu olduğu gibi çalıştırır root.)
pkexec command...
pkexecTerminalden çalıştırılsa bile, grafiksel olarak bir parola ister (bu, davranışının gksudodümdüz koşmaktan daha benzer olma yollarından biridir sudo).
(GUI yoksa - örneğin, sanal bir konsoldan veya salt metin SSH oturumundan oturum açtıysanız veya GUI düzgün çalışmıyorsa - o pkexeczaman incelikle bozulur ve komut satırında şifrenizi sorar .)

Doğrulama başarıyla gerçekleştirildiğinde, komut terminalde çalışır.

Komutları Diğer Kullanıcı Olarak Çalıştırmak root
rootÖzeldir çünkü yapılabilecek her şeyi yapar. Ancak, herhangi bir hesap gibi bir kullanıcı hesabıdır ve komutları (doğrudan veya grafiksel bir ön uçla olduğu gibi) veya polkit rootile çalıştırma yolları, sudobaşka bir kullanıcı olarak bir komutu çalıştırmak için hafifçe değiştirilebilir:
sudo -u username command...
gksudo -u username command...
pkexec --user username command...
Ne? sudoİlk önce sen mi yazdın? Bu güvenlik nasıl?
Komutları çalıştırmak sudo, papalık yanıltıcılığını çağırmak gibidir .
Ne zaman bir komutu çalıştırmaksudo [Papalık yanılmazlığı çağırmak] , Ubuntu [Katolik millet] yapmak zor çalışır emin misin gerçekten [gerçekten Papa].
Evet, papalık yanılmazlığının (normatif olsa bile) bildirici olduğunu biliyorum; Paralel mükemmel değil.
Olarak bir şeyler yapmaya çalışıyor rootile sudo(ya polkit) büyük bir anlaşma - Ubuntu sadece diğer zamanlarda tüm gibi bir program çalıştırmak tarafından bu slayt izin gitmiyor.
Parolanızı girmeniz istenir. (Daha sonra kısa bir süredir hatırladığınızdan, sisteminizi yönetirken şifrenizi sürekli girmeniz gerekmez.)
Dikkatli olmanızı hatırlatmanın yanı sıra , bu iki senaryoya karşı koruma sağlar:
- Birisi bilgisayarınızı (veya mobil cihazı) kullanıyor, belki de e-postalarını kontrol etmenin veya başka bir masum olmayan amacın altında. Burada, bazılarına zarar vermeleri hala mümkün - örneğin, belgelerinizi değiştirebilir veya silebilirler. Ancak, şifreyi giremedikleri için sistemi yönetemezler.
- Sistemi yönetmesi gerekmeyen programlar, şifrenizi girmediğiniz sürece yapamaz. Örneğin, web tarayıcınız bir güvenlik hatası nedeniyle tehlikeye atılıyorsa ve kötü amaçlı kod çalıştırıyorsa, yine de yönetimsel görevleri gerçekleştiremez. Kullanıcıları oluşturamaz ve silemez, yüklenen programları değiştiremez
root(LibreOffice gibi paket yöneticisi tarafından yüklenen her şeyi içerir) veya sistemi derin bir seviyede değiştiremez.
Ben duydum su. Bu da ne? Bunu kullanabilir miyim?
subaşka bir kullanıcı olarak kimlik doğrulaması yapar ve bir komut çalıştırır (veya etkileşimli bir kabuk başlatır). Kimin kullanmasına izin verildiğini sınırlamak mümkündür suancak çalışan kullanıcının şifresini değil, hedef hesabın şifresini sudoğrular .
Örneğin, ishal olarak kullanıcı adı gibi, .su username -c 'command...'command...sudo -u username command...
Eğer bir komutu çalıştırdığınızda Ama usernamebirlikte sudo, girdiğiniz şifrenizi . Eğer bir komutu çalıştırdığınızda usernameile su, girdiğiniz usernameparolasına .
Yana sugerçekleştirdiği kimlik doğrulama hedef kullanıcı için , ile suyalnızca kullanıcılar olarak komutları çalıştırabilirsiniz hesapları etkindir .
rootHesabı (gibi www-datave nobody) varsayılan olarak devre dışıdır. Olarak giriş yapmak için çalışacak şifre yok root. Yani sukomutları çalıştırmak için kullanamazsınız root.
Sen edebilirsiniz kullanmak su(tipik insanı temsil sisteminizdeki tüm kullanıcı hesaplarını içerir) giriş yapabilirsiniz başka bir kullanıcı olarak komutları çalıştırmak için.
Konuk olarak giriş yaptığınızda, hiç kullanamazsınız su.
Birleştirerek suvesudo
Bir yönetici bile kullanabilirsiniz değildir Birisi suçalıştırmak için sudoyönetici olarak. (Komutları yönetici olarak çalıştırmak için yöneticinin şifresine ihtiyaç duydukları için bu sorun değildir.) Yani, sınırlı bir kullanıcı komutu çalıştırmak suiçin çalıştırmak sudoiçin kullanabilir root. Bu gibi görünebilir:
su username -c 'sudo command...'
(Grafik programları bu şekilde çalıştırmak özel bir dikkat gerektirir .)
suGibi komutları çalıştırmak için daha güvenli bir yol olmaz mıydı root?
Muhtemelen değil.
Bir kullanıcının rol yapmasına izin verilmemesi durumunda ne olur root?
Onları bir yönetici yerine sınırlı bir kullanıcı yapın.
Bir program için bir yönetici denemeden olarak çalışan Ya sudoiçin root?
sudoŞifre olmadan başarılı olmasına izin verecek şekilde yeniden yapılandırılmadıysanız , başarısız olacaktır.
rootSon bir sudokomutta geridöngü olarak çalıştırılmaması gereken bir program olamaz , bu yüzden şifre gerekmez mi?
Bu başarılı olması çok mümkün olmaz. Bu günlerde, çoğu işletim sistemi (Ubuntu dahil) sudovarsayılan olarak, zaman damgaları yalnızca belirli bir bağlamda uygulanacak şekilde yapılandırılmıştır.
Örneğin, sudo ...bir Terminal sekmesinde çalışırsam ve başarılı bir şekilde kimlik doğrularsam, sudobaşka bir sekmede (veya ilgisiz bir GUI programı tarafından çalıştırılıyorsa veya sanal bir konsoldan veya SSH oturumundan çalıştırıyorsam), hala bir şifre ister. Hemen çalıştırılsa bile.
X kullanıcısı olarak çalışan bir program X kullanıcısının şifresine erişemiyor mu?
Hayır.
Kötü amaçlı bir program yönetici olarak çalışabiliyorsa, yönetici kimliğini sudodoğruladığında veya polkit ile yazıldığında ne yazdığını "dinleyemez" mi?
Potansiyel olarak evet. Ancak daha sonra için girilen bir şifreyi "dinleyebilir" su.
Birisine şifremi söylersem -
İnsanlara şifrenizi söyleme.
Ya birisi benim adıma bir şeyler yapmak için şifremi bilmesi gerekiyorsa, ancak sistemi yönetmelerine izin vermek istemiyorsam?
İdeal olarak, yapmaları gereken şeyi yapmalarını sağlayan ayrı bir kullanıcı hesabına sahip olmaları gerekir. Örneğin, hesaplar arasında dosya paylaşabilir ve birden fazla kullanıcının kendisine yazmasına izin verirken diğer kullanıcılara erişimi reddedebilir.
Ancak, daha az güvenilen bir kişinin hesabınızı paylaşmasına izin verilebileceği bir durumda, kullanıcı sınırlı bir kullanıcı hesabı olmalıdır. Bu amaç için ayrı bir hesap açabilirsiniz (bu mantıklı - eğer sizin ve farklı yeteneklere sahip olmak istediğiniz birinin hesabıysa, farklı bir hesap olmalıdır).
Yani, en güvenli şey her ikisine engellemek olacaktır sudove suve marka insanlar olarak oturum rootelle?
Hayır, insanlar olarak giriş icar ile ilişkili ciddi dezavantajları vardır, çünkü roothiç. Mümkün olduğunda, mümkün olduğu en az sayıda eylem olduğu gibi yapılmalıdır root. Doğrudan bir sistemi yönetmeyle ilgili çoğu davranış bile (örneğin, hangi kullanıcıların yapılandırıldığına bakmak ve günlükleri okumak) genellikle rootayrıcalıklar gerektirmez .
Ayrıca, potansiyel olarak kötü niyetli bir program çalıştırıldığında birisinin ne yazdığını izleyebilir sudoya suda sahte sudo/ suşifre istemi oluşturabiliyorsa, potansiyel olarak kötü niyetli bir program da sahte bir giriş ekranı oluşturabilir.
Bir kullanıcıyı yönetici yapan nedir?
Grup üyeliği.
Ubuntu 12.04 ve sonrasında , yöneticiler adı verilen grubun üyeleridir sudo.
Ubuntu 11.10 ve önceki sürümlerinde , yöneticiler adı verilen grubun üyeleridir admin.
12.04'ten önceki bir Ubuntu sistemi 12.04 veya daha sonraki bir sürüme yükseltildiğinde, admingrup geriye dönük uyumluluk için tutulur (ve içindeki kullanıcılara idari güç vermeye devam eder), ancak sudogrup da kullanılır.
Sınırlı Kullanıcı Hesabı
Yönetici hesabı yerine sınırlı bir kullanıcı hesabı kullanabilir miyim?
İstersen, elbette. Sistem Ayarları > Kullanıcı Hesapları bölümünde sınırlı bir kullanıcı hesabı oluşturun ve bu kullanıcı olarak oturum açın.
Yönetici hesabımı sınırlı bir kullanıcı hesabı yapabilir miyim?
Evet, sadece sudove admingruplarından kaldırın (yukarıya bakın).
Ancak en az bir başka yönetici hesabı olduğundan emin olmalısınız, böylece sisteminizi yönetebilirsiniz. Eğer yoksa, o zaman kurtarma moduna ya da canlı bir CD'ye önyükleme yapmanız ve bazı kullanıcıları tekrar yönetici yapmalısınız . (Bu benzer üzere kayıp bir yönetici şifresini sıfırlama .)
Kullanıcıları ve grupları yönetmek için kullanılan grafiksel araçlar genellikle sizi yönetici olmayan bir sistem oluşturmaz veya en azından sizi uyarır. Komut satırı araçları tipik olarak olmayacak (ne yaptığınızı bildiğinize güvenerek).