|
|||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
bootable [55]
commercial [7] no-commercial [42] unclassified [20] [7]
Software (10844)
|
Linux v příkazech - sudoV dnešním dílu se podíváme na poměrně mocný program, který vám dovolí předávat všechna, nebo jenom některá superuživatelská práva normálním uživatelům.
You had mail, but the super-user read it, and deleted it! Název programu vznikl složením slov "superuser do", a to poměrně jasně vystihuje jeho funkci. S pomocí suda můžete dovolit normálnímu uživateli spouštět všechny, nebo jen některé příkazy s právy superuživatele. Takto lze např. pohodlně vyřešit situaci, kdy je vhodné (ba přímo nutné), aby někteří uživatelé používali programy určené ke správě, ovládání systému a podobně. InstalaceProgram si můžete stáhnout z domovské stránky http://www.sudo.ws/sudo/ (http://www.courtesan.com/sudo/sudo.html) a následně zkompilovat. S největší pravděpodobností bude ovšem zahrnut i ve vaší distribuci, takže vám doporučuji nejprve sáhnout po distribučním balíčku s binárkou či zdrojáky.
Konfigurace
Veškeré nastavení se provádí v konfiguračním souboru
Nejzákladnější volby
A nyní se můžeme vrhnout na vlastní konfiguraci. Po spuštění programu
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL) ALL
Řekněme tedy, že chceme přidělit uživateli
# User privilege specification
root ALL=(ALL) ALL
spravce ALL=(ALL) ALL
%admini ALL=(ALL) NOPASSWD: ALL
Tak. Nyní můžeme jako uživatel spravce@stroj:~$ sudo /usr/bin/whoami Password: root
Co se vlastně stalo? Uživatel
V předchozím příkladu zbývá nevysvětlený poslední řádek – ten pomocí
Tím jsme si předvedli úplně nejzákladnější funkci programu OmezováníAčkoli nadpis této kapitolky zavání BOFH, představím vám zde velice užitečné možnosti, jak předat pouze určitá práva a některé další "omezující" volby. Nejdříve se ještě můžeme vrátit k zadávání hesla. Vytvořme si v konfiguračním souboru "novou sekci" s následujícím obsahem:
# Defaults specification
Defaults:spravce timestamp_timeout=0, passwd_tries=1
Tímto nastavíme, že uživatel
Volba
Zajímavé je také to, jak Jak už jsem poznamenal v úvodu, předání všech superuživatelských práv není obvykle ta správná cesta. Pojďme tedy skupinu programů omezit:
# User privilege specification
root ALL=(ALL) ALL
spravce ALL= /sbin/shutdown
%admini stroj= /usr/local/sbin/admini/
Tímto nastavením jsme docílili toho, že uživatel Ovšem sudo nemusí dávat uživateli "pouze" práva superuživatele, programy lze spouštět pod libovolným uživatelem, např.:
# User privilege specification
root ALL=(ALL) ALL
jirka ALL=(pepa,lenka,franta) /bin/kill,/usr/bin/killall
Tímto příkazem může uživatel
jirka@stroj:~$ sudo -u pepa killall program
Protože v minulém příkazu v posledním řádku není uvedeno
Náš předchozí příklad můžeme ještě vylepšit o volbu, která zajistí, že
Defaults:jirka runas_default=pepa Aliasy
Protože se občas některé volby opakují a protože jsou delší konfiguráky trošku
nepřehledné a náročnější na úpravy, nabízí # Host alias specification Host_Alias KANCELAR = 192.168.0.0/24 # User alias specification User_Alias SPRAVCI = spravce,jarda User_Alias UZIVATELE = pepa,jirka,lenka,franta # Runas alias specification Runas_Alias OP = operator # Cmnd alias specification Cmnd_Alias WWW = /bin/su www Cmnd_Alias KILL = /bin/kill,/usr/bin/killall Cmnd_Alias HALT = /sbin/halt Cmnd_Alias SHELLS = /bin/sh, /bin/bash, /bin/ksh, \ /bin/tcsh, /usr/local/bin/rsh Tímto zápisem si definujeme aliasy, které můžeme dále použít. Např.:
# User privilege specification
root ALL=(ALL) ALL
SPRAVCI KANCELAR=(ALL) ALL
pepa KANCELAR=(OP) KILL
UZIVATELE ALL=(ALL) HALT
spravce ALL=(ALL) /bin/, WWW, !SHELLS
Všimněte si především posledního řádku. Znak
Podobně můžeme např. povolit uživateli # Cmnd alias specification Cmnd_Alias SIT=/bin/ip *, !/bin/ip *eth0* Cmnd_Alias SNIFFER=/usr/sbin/tcpdump * # User privilege specification root ALL=(ALL) ALL spravce ALL=(ALL) SNIFFER vojta ALL=(ALL) SIT Kompletní ukázkaKompletní a fungující ukázku konfiguračního souboru lze nalézt na oficiálních stránkách, konkrétně na adrese http://www.courtesan.com/sudo/sample.sudoers. Bezpečnost
Kromě toho, že
Z bezpečnostního hlediska je také velice zajímavé použít Logování
Implicitní nastavení logování je u různých distribucí různé; soubor s logy si
můžeme nastavit v úvodu konfiguračního souboru programu Defaults logfile=/var/log/sudo.log Příklad souboru s logy: Oct 30 19:56:28 : spravce : TTY=pts/9 ; PWD=/home/spravce ; USER=root ; COMMAND=/usr/bin/whoami Oct 30 20:00:28 : spravce : TTY=pts/5 ; PWD=/home/spravce ; USER=pepa ; COMMAND=/usr/bin/killall doom3 Oct 30 20:01:04 : petra : user NOT in sudoers ; TTY=tty/1 ; PWD=/home/petra ; USER=root ; COMMAND=/bin/bash Oct 30 20:11:39 : franta : 3 incorrect password attempts ; TTY=pts/10 ; PWD=/etc/ ; USER=root ; COMMAND=/bin/cat /etc/shadow
Vysvětlovat význam jednotlivých položek asi nemá cenu, protože jsou docela
zřejmé. Pozor si ale dávejte především na hodnotu položky
Pokud se Za konzultace bych chtěl poděkovat Honzovi Houšťkovi.
Related article
Linux v příkazech - úvod Linux v příkazech - správa uživatelských účtů Linux v příkazech - ssh, rsync Linux v příkazech - práce se soubory a adresáři Linux v příkazech - TCP, ftp, http Linux v příkazech - konfigurace sítě Linux v příkazech - diagnostika sítě Linux v příkazech - GnuPG Linux v příkazech - archivace a komprese Linux v příkazech - OpenSSL Linux v příkazech - správa procesů Linux v příkazech - čtení a zpracování textu Linux v příkazech - aritmetika Linux v příkazech - vylaďte si Bash! Linux v příkazech - správci verzí Linux v příkazech - manuálové stránky Linux v příkazech - screen Linux v příkazech - vypalování CD/DVD Linux v příkazech - porovnávání souborů Linux v příkazech - plánované spouštění procesů Linux v příkazech - hledání souborů Linux v příkazech – práce s Wi-Fi osd volume v xfce Previous Show category (serial) Next
|
Szukanie oprogramowania
|
|||||||||||||||||||||||||||||||||||||||||||||
©Pavel Kysilka - 2003-2024 | maillinuxsoft.cz | Design: www.megadesign.cz |