{ }
menu zespół linki Logowanie
Stabilny hosting
BSDGuru zawdzięcza
firmie Datanet.pl
Hosting BSDGuru.org - DataNet.pl

Sudo, czyli uruchamianie poleceń jako inny użytkownik

strona projektu: www.sudo.ws

Sudo (superuser do) umożliwia wykonanie polecenia jako inny użytkownik. W większości przypadków
będzie to root. O przydatności tego narzędzia chyba nie muszę mówić, więc przystępujemy do
instalacji:

# cd /usr/ports/security/sudo
# make install clean

lub

# pkg_add -r sudo

Wykonując powyższe polecenia upewnijmy się, że instalujemy najświeższą wersję - posiadanie dziurawej
wersji tego typu oprogramowania mogłoby być tragiczne w skutkach.

Dla testu wklepujemy:

$ sudo ls /root

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

Password:
user is not in the sudoers file. This incident will be reported.
$ su -
Password:
# mail
& [klepiemy enter]

Klawo, prawda?

To samo mamy tu:

# tail /var/log/messages

Powyższe możemy skonfigurować za pomocą edycji pliku /etc/syslog.conf, np.:

# vim /etc/syslog.conf
[...]
local2.debug /var/log/sudo.log
[...]
# touch /var/log/sudo.log
# killall -HUP syslogd

Teraz przystąpimy do właściwej konfiguracji, znajduje się ona w pliku /usr/local/etc/sudoers.
Zaznaczam, iż nie można tego pliku modyfikować dowolnym edytorem, należy uzywać narzędzia visudo.
Załóżmy, że chcemy dać grupie wheel i rootowi możliwość wykonywania wszystkich poleceń:

# visudo [przechodzimy kursorem gdzie chcemy i wciskamy 'i']
[...]
root ALL = (ALL) ALL
%wheel ALL = (ALL) ALL
[...]
[escape, wpisujemy ':wq' i enter]

Niech userzy bajka, bojka i brawurka to osoby, które powinny mieć możliwość rebootowania (za pomocą
shutdown aby pokazać możliwości sudo) i wykonywania wszystkich poleceń jako user www (wszystko bez
podawania hasła):

[...]
User_Alias ATOMOWKI = bajka, bojka, brawurka
[...]
ATOMOWKI ALL = (www) ALL, NOPASSWD: /sbin/shutdown -r now
[...]

Mam nadzieję, że już mniej więcej wiesz o co chodzi z sudoers. Jeśli nie to polecam dokładnie
przestudiować ten plik, w przykładach jest pokazane na prawdę wiele możliwości.
Oczywiście zachęcam także do przeczytania mana sudo(8), sudoers(5) i visudo(8).

--
Wszelkie prawa zastrzeżone.
Autor nie ponosi odpowiedzialności za szkody powstałe w wyniku korzystania z tego artykułu.

Autor: 
Wojciech "voytar" Łukowicz Kontakt: admin<at>voytar.pl
Porozmawiaj o tym artykule na forum: 

tytus, pt., 18/04/2008 - 19:52