[linux] Docasna zmena skupiny

Lubomir Host rajo na platon.sk
Úterý Září 2 09:33:55 CEST 2003


On Mon, Sep 01, 2003 at 10:18:28PM +0200, -=[ DjM ]=- wrote:
> zdravim
> 
> mam asi podobny problem ako sa tu riesi. poslal by si nejake ukazky 
> pouzitia 'sudo'? ...dakedy staci dobry priklad ako studovat pol manualu :)

ideme editovat subor /etc/sudoers. Edituje sa prikazom 'visudo'
- skontroluje to syntax a tak pod.

Ak prevadzkujes webserver, a chcesl dovolit webmastrom (ktorim kvoli
security nemaju uid=0) napr. restart apacha, upravu suborov, ktore
apache vlastni, killnut nejake FastCGI a pod., tak sa to da spravit
takto elegantne:


--------------------------------------%<--------------------------------------
# Host alias specification  -- ten isty subor /etc/sudoers mozes pouzivat na viacerych
# strojoch, takze si specifikujes aliasy na hostname a potom pouzivas
# aliasy na definiciu toho, co kde kto moze robit
Host_Alias  WEBSERVERS      =   hostname.webservera.sk

# User alias specification - tito useri budu mat povolene manipulovat
# s apachom, vid nizsie
User_Alias  WEBMASTERS      =   webmaster1, webmaster2

# Runas alias specification - id, pod ktorym bezi apache. Webmastri budu
# mat moznost spustat prikazy pod tymto uid
Runas_Alias APACHE          =   www-data

# Cmnd alias specification - a tuto si zadefinujeme povolene prikazy.
# Povoleny je restart apacha a citanie logov
Cmnd_Alias  APACHE_CTL      =   /usr/sbin/apachectl *, \
                                /etc/init.d/apache *, \
                                /usr/bin/tail -f /var/log/apache/error.log, \
                                /usr/bin/tail -f /var/log/apache/access.log

# User privilege specification - useri specifikovani aliasom WEBMASTERS
# mozu na strojoch s aliasom WEBSERVERS spustat tieto prikazy:
#   - ako uzivatel APACHE mozu spustit lubovolny prikaz
#   - mozu sa suidnut na usera 'www-data' (su sa musi spustit s uid 0)
#   - ako user root mozu restartnut apacha
WEBMASTERS  WEBSERVERS =    (APACHE) ALL, \
                            (root) /bin/su www-data, \
                            (root) APACHE_CTL
--------------------------------------%<--------------------------------------


A dalsi priklad, ako jednemu vybranemu userovi (ktori je v podstate
spravcom servera) povolit na Debiane upgrade balikov prip.
doinstalovanie nejakeho dalsieho balika (zdroje balikov, odkial sa moze
instalovat su nastavene napevno, takze instalacia podstrceneho balika by
nemala byt mozna). Nie je pozadovane heslo


-----------------------------%<-----------------------------
Cmnd_Alias  APT_GET         =   /usr/bin/apt-get update, \
                                /usr/bin/apt-get upgrade, \
                                /usr/bin/apt-get install *

userovo_meno   ALL = NOPASSWD: APT_GET
-----------------------------%<-----------------------------

(userovo_meno) % sudo apt-get update
(userovo_meno) % sudo apt-get upgrade

Ked povolujes spustanie niektoreho prikazu, tak nezabudni skontrolovat,
ci ten prikaz neumoznuje pod sebou spustat dalsie prikazy. Ak by si
napr. namiesto '/usr/bin/tail -f /var/log/apache/error.log' povolit
'/usr/bin/less -f /var/log/apache/error.log', tak to by si dal tomu
userovi rootovske prava, kedze less moze pod sebou spustat dalsie
prikazy.



-- 
Lubomir Host 'rajo' <rajo AT platon.sk>        ICQ #:  257322664
Platon Software Development Group              http://platon.sk/
GnuPG key: http://pauli.fmph.uniba.sk/~8host/gpg.key
http://www.gnu.org/philosophy/no-word-attachments.html



Další informace o konferenci linux