sudo
Servis dosya kesin olarak adlandırılan ayrıcalıkları başlatmanın ardından kalmaz emin olmak için vardır. Temel olarak, yeniden başlattıktan sonra, kök izinlerini çağıran normal kullanıcıların normal kullanıcı olarak kalacağını garanti eder.
Sudo hakkında ayrıntılı bir açıklama
Aşağıdaki tüm açıklamalar bu soruyu okuyan herkes için tüm bilgileri almak ve daha sonra hizmet klasöründeki sudo dosyasının orada ne yaptığını açıklamaktır.
Ubuntu veya root olmak ile "root like" ayrıcalıkları (Yönetici veya süper kullanıcı Ayrıcalıkları) kazanmak için kullanılan bir kullanıcı olmak sudo
arasındaki farkı kullanan başka bir dağıtım yüklediğinizde :sudo
Kök olarak
- Bir oturumda çalıştırdığınız komutların her biri veya tümü için bir parola istenmez
- Yürüttüğünüz tüm komutlar varsayılan olarak günlüğe kaydedilmez
- Sistem ne yaptığınızı bildiğinizi varsayar (Her komut çalıştırdığınızda parola istememesinin nedeni)
- Hata yaparsanız ikinci bir şans veya son dakika seçeneği yoktur
Sudo olarak
- Bir oturumda çalıştırdığınız komutların her biri veya tümü için bir parola girmeniz istenir. Örneğin, bir terminal açar ve yönetici ayrıcalıkları gerektiren bir komutu yürütürseniz, siz terminali kapatana veya oturumu kapatana kadar bu oturum için bir kez parola soracaktır. Bu, hangi komutu ve nerede kullandığınıza bağlı olarak değişir. Bir veya birden çok kez sorabilir.
- Süper kullanıcı ayrıcalıklı bir komut kullanmak için gerçekten izin istediğiniz için yürüttüğünüz tüm komutlar günlüğe kaydedilir.
- Sistem geçici olarak izin istediğinizi varsayar ve idari hak geçici olarak ödünç verilir (Oturumu kapatıncaya kadar terminal kapatılır, vb.)
- Herhangi bir hatayı düzeltmek için son dakika seçeneğiniz vardır. Bu, sizden şifre istendiğinde yapılır.
SUDO neden yaratıldı
SUDO'nun yaratılması yapıldı, çünkü geçmişte kök kullanmak çözümlerden daha fazla sorun yarattı. Kullanıcılar tüm bunlar bazı bahar temizliği yaptı ve tam anlamıyla sildiyse anlamına geliyordu haklarını vardı /usr
, /lib
ve /bin
.. ne olacağını tahmin etmek (onlar onlara ihtiyacı yoktu düşündüğü için) klasörler. Geçmişteki birçok sorun, kullanıcıların root kullanırken sahip oldukları gücü bilmemeleriydi. Temelde kökleri vardı ama Linux'u, dosya sistemi hiyerarşisini, hangi dosyaların önemli olduğunu vb. Anlamadılar. (Bir ferrariye sahip olmak ve nasıl sürüleceğini bilmemek gibi bir şey ... bir otoyolda!)
SUDO , bir şey yapmak için geçici yönetici ayrıcalıklarına ihtiyaç duyduklarında GUI uygulamaları (Güncelleme Yöneticisi gibi) tarafından da kullanılır. Sadece belirli bir sayıda komut için ihtiyaç duyarlar (Tipik olarak 1) ve daha sonra kullanıcı seviyesi ayrıcalığına geri dönerler. Bu, kök ayrıcalıklarına her zaman sahip olmaktan kaçınmak ve kullanıcı sistemin önemli bir bölümünü kaldırmaya karar verirse hata yapmaktan kaçınmaktır.
Ayrıca, kök kullanıcı varsayılan olarak devre dışı bırakıldığı için daha iyi bir güvenlik sağlar.
Son olarak, bir Masaüstü Bilgisayarınız veya Sunucunuz varsa, herkesin root olmasını veya tüm yönetici ayrıcalıklarına sahip olmasını istemezsiniz. Kız kardeşiniz veya küçük kardeşleriniz anahtarla /boot
karşılaşırsa ne olacağını merak etmeye başlarsa çok kötü bir fikir DEL. Burası sudo
kötü bir şey olma şansını azaltmak için devreye giriyor.
Ne gelmez belirli kullanıcıların sınırlı süper kullanıcı yetkileri sağlayın demek?
sudo kullanıcısı veya sudoers aslında belirli bir kullanıcı için sudo komutunun ne kadar sınırlı olduğunu veya açıldığını söyleyen bir yapılandırma dosyasına sahiptir. Dosya /etc/sudoers
, bir sudo kullanıcısını sınırlamak veya erişim sağlamak için tüm bilgilere sahiptir. Varsayılan olarak her şeye erişim ile birlikte gelir, ancak bunu istediğiniz gibi yapılandırabilir veya sınırlandırabilirsiniz.
man sudoers
Bir terminalde sudoers dosya türünün nasıl kullanılacağı hakkında bilgi için . Örneğin, normal biçim:
KULLANICI EVİ = KOMUTLAR
Örneğin cyrex server1 = /bin/ls
, ana sunucudaki kullanıcı cyrex'e ls komutunu çalıştırmak için erişim sağlar.
Örneğin cyrex server1 (root) = /bin/ls
, ana sunucudaki kullanıcı cyrex'e ls komutunu root olarak çalıştırmak için erişim verir.
Örneğin cyrex ALL = /bin/ls
, tüm ana bilgisayarlardaki cyrex kullanıcısına ls komutunu çalıştırmak için erişim sağlar.
Örneğin cyrex ALL = ALL
, tüm ana bilgisayarlardaki cyrex kullanıcısına tüm komutları çalıştırmak için erişim sağlar.
Örneğin luis ALL=(root) NOPASSWD: /bin/kill, /usr/bin/killall
, sudo kill
ve killall
komutları için bir şifre sormadan root olarak çalıştırmamı sağlayacak .