Eki 05 2009

7 adımda visudo ile sistem kullanıcılarına özel haklar tanıma

Category: FreeBSD,Linux,Linux-KomutlarBayram Karagöz @ 12:51

visudo ile sistem kullanıcılarına özel haklar tanıma;

visudo ile kullanıcılara özel haklar tanınarak kullanıcıların bazı komutları root olarak çalıştırabilmesini sağlayabiliriz.

örnek olarak oluşturacağımız bayram kullanıcısına birkaç tane komutu root hakları ile çalıştırabilme yetkisi vereceğiz.

1- öncelikle kullanıcı oluşturulur.


$adduser
Username: bayram
Full name: bayram
Uid (Leave empty for default):
Login group [bayram]:
Login group is bayram. Invite bayram into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash rbash nologin) [sh]: bash
Home directory [/home/bayram]:
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : bayram
Password : *****
Full Name : bayram
Uid : 1005
Class :
Groups : bayram
Home : /home/bayram
Shell : /usr/local/bin/bash
Locked : no
OK? (yes/no): yesy
OK? (yes/no): yes
adduser: INFO: Successfully added (bayram) to the user database.
Add another user? (yes/no): no
Goodbye!

2- oluşturulan kullanıcıya belirli komutları verebilmek için visudo ile sudo konfigurasyon dosyasını açarız.


$visudo

açılan dosyada uygun yere aşağıdaki kısmı yapıştıralım.


Defaults syslog=local3
User_Alias OWNER = ali
Cmnd_Alias SHUTDOWN = /sbin/shutdown
Cmnd_Alias TAIL = /usr/bin/tail
Cmnd_Alias LESS = /usr/bin/less
Cmnd_Alias POSTGRESQL = /usr/local/etc/rc.d/postgresql
Cmnd_Alias APACHE = /usr/local/etc/rc.d/apache.sh
Cmnd_Alias SIP = /usr/local/etc/rc.d/sip-xxxxxxx.sh
Cmnd_Alias B2BUA = /home/ssp/scripts/b2bua.sh
Cmnd_Alias RTPPROXY = /home/ssp/scripts/rtpproxy.sh
Cmnd_Alias SER = /home/ssp/scripts/ser.sh
Cmnd_Alias ASTERISK = /home/ssp/scripts/asterisk.sh
Cmnd_Alias IVR = /home/ssp/scripts/ivr.sh
Cmnd_Alias CRONTAB = /usr/bin/crontab
Cmnd_Alias FSCK = /sbin/fsck
Cmnd_Alias DU = /usr/bin/du
Cmnd_Alias KILL = /bin/kill
Cmnd_Alias TCPDUMP = /usr/sbin/tcpdump
Cmnd_Alias MAKE = /usr/bin/make
OWNER ALL= NOPASSWD: SHUTDOWN, TAIL, LESS, POSTGRESQL, APACHE, SIP, B2BUA, RTPPROXY, SER, ASTERISK, IVR, CRONTAB, FSCK, DU, KILL, TCPDUMP, MAKE

#ayrintili bilgi icin http://www.gratisoft.us/sudo/man/sudoers.html

3- kullanıcılara bu hakları tanıdıktan sonra yine kullanıcıların yazdıkları komutları takip etmemiz gerekmektedir. bunun için loglamam mekanizmasını aktif hale getirmeliyiz. öncelikle syslog.conf dosyasını açarak logların nereye düşmesi gerektiğini tayin edelim.

$vi /etc/syslog.conf

4- sudo ile ilgili logların local3 kısmında toplanmasını ve bu toplanan logların /var/log/sudo.log dosyasonda loglanmasını istersek;

bu logların /var/log/messages altına düşmesini engellemek için;


*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages

satırını


*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err;local3.none /var/log/messages

satırına dönüştürelim.

daha sonra yine aynı dosyada uygun bir yere;


local3.* /var/log/sudo.log

satırını ekleyelim.

5- sudo.log dosyasını oluşturalım ve haklarını tanımlayalım.


$touch /var/log/sudo.log
$chmod 600 /var/log/sudo.log

6- syslog u restart edelim.


$/etc/rc.d/syslogd restart

7- işlem tamamdır. bu konfigürasyondan sonra root olmayan kullanıcıların sudo ile çalıştırdığı doğru veya yanlış tüm komutlar /var/log/sudo.log dosyasında loglanacaktır.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
  • Share/Bookmark
Create PDF    Makaleyi PDF formatında gönder

Etiketler: