13.01.2011

sudoers

Linux'ta hangi kullanıcının hangi işlemi (hangi makine üzerinde) kim olarak yapacağını, bu işlem için şifre girmeye gerek olup olmadığını kontrol eden mekanizma sudoers. Bu verileri tutan dosya da /etc/sudoers dosyası. Lakin bu dosyayı doğrudan düzenleyemiyoruz, visudo'yu kullanıyoruz:
sudo visudo
visudo, eskiden sudoers dosyasını vi editörüyle düzenlemek için verilmiş bir isim. Ubuntu 10.10'da artık default editor vi değil, nano. Bunu değitşrimek için şu sayfada anlatılanları uygulayabilirsiniz.

sudoers içinde alias denen bir takma ad yapısı var. user, host, runas ve command alias olarak 4 çeşit alias tanımlanabiliyor. Örneğin bir kullanıcı alias'ı oluşturmak için
User_Alias MUHASEBE=user1, user2
şeklinde bir tanımlama yapılır. Bu şekilde yapılan şey bir MUHASEBE grubu oluşturmak değil, user1 ve user2 kullanıcılarına kısaca MUHASEBE diye hitap etmek.

Benzer şekilde bir command alias tanımlaması yapmak için
Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /sbin/reboot, /sbin/halt
yazılabilir. Bu şekilde shutdown, reboot ve halt komutları -daha sonra kullanılmak üzere- SHUTDOWN_CMDS ismi altında toplanmış olur. Bir tane de host alias örneği yapalım. Örneğin 192.168.2.0/255.255.255.0 subnet'inde yer alan bilgisayarları içine alacak şu tanımlamayı yazalım.
Host_Alias MUHNET = 192.168.2.0/255.255.255.0
sudoers'ın içinde bir kullanıcının özellikleri şu şekilde tanımlanıyor:
<user> <host> = <operator> <tag> <command>
Bu kurala göre aşağıdaki sudoers tanımlamasını yapabiliriz.
MUHASEBE MUHNET = NOPASSWD: SHUTDOWN_CMDS
Bunun anlamı, MUHASEBE kullanıcı alias'ına uyan kullanıcıların (user1 ve user2),  MUHNET subnetindeki bilgisayarları kapatmak ve tekrar başlatmak için yetkili olsunlar (parola istenmesin).

Benzer bir şekilde admin grubu içindeki (admin bir sistem grubu, user alias değil) içindeki kullanıcılara root yetkileri vermek için
%admin ALL=(ALL) ALL
yazılabilir.

Hiç yorum yok: