Sudo komutu, Unix ve benzeri işletim sistemlerinde bulunan, bir kullanıcının başka bir kullanıcı yetkisiyle (genellikle root kullanıcısı) komut çalıştırmasını sağlayan bir programdır. Sudo komutunu kullanarak bir komut çalıştırmadan önce, kullanıcıdan kendi şifresini girmesi istenir (gereksinimlere göre şifresiz erişim de sağlanabilir). Şifre doğruysa ve /etc/sudoers dosyasındaki yapılandırma erişime izin veriyorsa, komut çalıştırılır. Girilen şifre 5 dakika kadar geçerli olur, o sırada girilen komutlarda yeniden şifre istenmez.
Sudo komutu kullanarak yetkilendirmeyi dağıtmak, geleneksel su komutuna kıyasla çeşitli avantajlara sahiptir:
- Sudo ile girilen tüm komutların kaydı tutulur.
- Sudo ile tek bir şifrenin paylaşılmasına gerek yoktur – yetkili her gerçek kullanıcının kendine özel bir şifresi vardır.
- Sudo kullanarak kullanıcının yetkileri sadece belli komutları çalıştıracak şekilde kısıtlanabilir.
/etc/sudoers Yapılandırma Dosyası
Redhat sistemlerinde (ve benzeri bir çok sistemde) genel alışkanlık, sudo ile root kullanıcısına erişim yetkisinin belli bir gruba dahil kullanıcılara sınırlanmasıdır, genellikle bu grubun ismi “wheel” ve ID’si 10′dur.“wheel” grubunun ismi, “big wheel” deyiminden gelmektedir. Bu deyim, İngilizcede büyük gücü ya da etkisi olan insanları tanımlamak için kullanılır.
“wheel” grubundaki kullanıcılara root kullanıcısı erişimi vermek için sudoers dosyasına aşağıdaki satır eklenir:
%wheel ALL=(ALL) ALLBu satır /etc/sudoers dosyasına herhangi bir metin düzenleyicisiyle eklenmemelidir. Bu yapılandırma dosyasındaki bir arıza, tüm sudo mekanizmasını bozabilir. Bu yüzden “visudo” komutu kullanılmalı, bu komut girildikten sonra çıkan metin düzenleme ekranından değişiklik yapılmalıdır. Visudo komutu, dosyayı kalıcı olarak yazmadan önce sözdiziminin geçerliliğini kontrol eder.
“visudo” komutu, standart olarak vi programını çalıştırmaktadır. Eğer farklı bir metin düzenleyici kullanılması istenirse, VISUAL değişkeni kullanılmalıdır. Örneğin, nano kullanmak için visudo komutundan önce “export VISUAL=nano” komutu girilmelidir.
Gereksinimlere göre, şifresiz bir şekilde (sadece sisteme girişte kullanılan şifreye güvenilerek) erişim sağlanması uygun görülürse, üstte girilen satır şu şekilde değiştirilmelidir:
%wheel ALL=(ALL) NOPASSWD: ALL
Kullanıcı Yapılandırması
Üstteki ayarlar yapıldıktan sonra yetkili olması gereken kullanıcıların wheel grubuna eklenmesi gerekir. Bunun için, aşağıdaki komutun verilmesi gerekmektedir:# usermod -a -G wheel
Kayıt izlenmesi
Sudo komutunun etkinliği /var/log/auth.log dosyasında tutulur. Yetkili bir kullanıcının etkinliğinin oluşturacağı kayıt aşağıdaki gibidir:Aug 5 06:02:49 localhost sudo: can : TTY=pts/1 ; PWD=/home/can ; USER=root ; COMMAND=/usr/bin/tail /var/log/auth.logYetkisiz bir kullanıcının erişiminin kaydı ise şu şekilde tutulur:
Aug 5 06:00:28 localhost sudo: bican : user NOT in sudoers ; TTY=pts/1 ; PWD =/home/bican ; USER=root ; COMMAND=/usr/bin/emacs /etc/resolv.conf
Hiç yorum yok:
Yorum Gönder