Sen bir yöneticisin ama değil root
. root
Kullanı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, root
gerç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-data
kullanı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 .
root
bir şey yapmasına izin verildi . Şey hala var root
sisteminin kendisi onlardan gerçekleştirmek veya mantıklı olamaz çünkü yapamaz. Yani root
edemez 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 root
ve root
idari görevleri gerçekleştirmek için kullanılır.
Olarak giriş yapabilir miyim root
?
root
Hesabı 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 root
gibi varlık olarak www-data
, lp
, nobody
ve diğer insan olmayan hesaplar. (Run cat /etc/passwd
veya getent passwd
hepsini 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-data
da 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, root
kaç tane grafik programının root
çalışacak şekilde tasarlanmadığı ve düzgün çalışamayacağı riski ile birlikte , root
sahipsiz 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 root
Ubuntu varsayılan olarak devre dışıdır, bir almak için yolu vardır root
olarak kimlik doğrulaması yapmadan kabuk root
benzer bir etkiyi,: en yaygın olanlarıdır sudo -s
veya-i
, kurtarma modu ve benzeri teknikler . (Bu şeylerin ne olduğunu bilmiyorsanız endişelenmeyin.) Bu aslında giriş yapmıyor: kurtarma modunda root
herhangi bir giriş yapılmadan önce olursunuz ; ile sudo
tabanlı 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", ek
kullanı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 sudo
olarak bir komutu çalıştırmak için kullanırdım root
:
sudo command...
Bu benim şifremi isteyecek . ( root
Şifreniz root
değ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 . sudo
bunları ç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 root
gerektiren bir komutu çalıştırarak, root
yine 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 root
aracı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, sudo
temelli 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 root
olan gksudo
ve 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 root
sahnelerin 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
, pkexec
grafik 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...
pkexec
Terminalden çalıştırılsa bile, grafiksel olarak bir parola ister (bu, davranışının gksudo
dü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 pkexec
zaman 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 root
ile çalıştırma yolları, sudo
baş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 root
ile 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?
su
baş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 su
ancak çalışan kullanıcının şifresini değil, hedef hesabın şifresini su
doğ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 username
birlikte sudo
, girdiğiniz şifrenizi . Eğer bir komutu çalıştırdığınızda username
ile su
, girdiğiniz username
parolasına .
Yana su
gerçekleştirdiği kimlik doğrulama hedef kullanıcı için , ile su
yalnızca kullanıcılar olarak komutları çalıştırabilirsiniz hesapları etkindir .
root
Hesabı (gibi www-data
ve nobody
) varsayılan olarak devre dışıdır. Olarak giriş yapmak için çalışacak şifre yok root
. Yani su
komutları ç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 su
vesudo
Bir yönetici bile kullanabilirsiniz değildir Birisi su
çalıştırmak için sudo
yö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 su
için çalıştırmak sudo
için kullanabilir root
. Bu gibi görünebilir:
su username -c 'sudo command...'
(Grafik programları bu şekilde çalıştırmak özel bir dikkat gerektirir .)
su
Gibi 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 sudo
iç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.
root
Son bir sudo
komutta 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) sudo
varsayı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, sudo
baş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 sudo
doğ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 sudo
ve su
ve marka insanlar olarak oturum root
elle?
Hayır, insanlar olarak giriş icar ile ilişkili ciddi dezavantajları vardır, çünkü root
hiç. 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 root
ayrıcalıklar gerektirmez .
Ayrıca, potansiyel olarak kötü niyetli bir program çalıştırıldığında birisinin ne yazdığını izleyebilir sudo
ya su
da 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, admin
grup geriye dönük uyumluluk için tutulur (ve içindeki kullanıcılara idari güç vermeye devam eder), ancak sudo
grup 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 sudo
ve admin
grupları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).