Configurare SUDO per gestire le attività degli amministratori: differenze tra le versioni
Nessun oggetto della modifica |
|||
Riga 18: | Riga 18: | ||
<br/><br/> | <br/><br/> | ||
(''Fonte: [[http://wiki.debian.org/it/sudo Debian Wiki]]'') | (''Fonte: [[http://wiki.debian.org/it/sudo Debian Wiki]]'') | ||
== Installazione == | |||
Per installare ''sudo'' su Debian è sufficiente utilizzare apt: | |||
<pre> | |||
# apt-get install sudo | |||
</pre> | |||
== Configurazione == | |||
Il file di configurazione di ''sudo'', <code>/etc/sudoers</code> è impostato in sola lettura, anche per root! | |||
<br/> | |||
Per modificarlo si deve usare il comando <code>visudo</code>. | |||
=== Esempio di configurazione == | |||
Un esempio di configurazione può essere questo: | |||
<pre> | |||
# /etc/sudoers | |||
# | |||
# This file MUST be edited with the 'visudo' command as root. | |||
# | |||
# See the man page for details on how to write a sudoers file. | |||
# | |||
Defaults env_reset | |||
# Configurazione di default per root | |||
# L'utente root ha i permessi su ogni comando | |||
root ALL=(ALL) ALL | |||
# Definisco un alias contenente una lista | |||
# di utenti amministratori del server | |||
User_Alias ADMINS = utente1, utente2, utente3 | |||
User_Alias SUPERUSERS = utente4, utente5 | |||
# Definisco eventuali alias per gli utenti | |||
# Definisco degli alias per i comandi di sistema | |||
Cmnd_Alias SHUTDOWN = /sbin/shutdown, /sbin/reboot, /sbin/halt | |||
Cmnd_Alias PKGMGMT = /usr/bin/dpkg, /usr/bin/apt-get, /usr/bin/aptitude | |||
# Definisco degli alias per i comandi che voglio impedire | |||
Cmnd_Alias NSHELLS = /bin/sh,/bin/bash | |||
Cmnd_Alias NSU = /bin/su | |||
# Definisco eventuali privilegi degli utenti | |||
# Gli utenti del gruppo ADMINS possono gestire i pacchetti deb e riavviare | |||
# il server | |||
ADMINS ALL = PKGMGMT, SHUTDOWN | |||
# Gli utenti del gruppo SUPERUSERS possono fare tutto e impersonare qualsiasi | |||
# utente, tranne eseguire una shell di root o usare l'hack "sudo su" | |||
SUPERUSERS ALL = ALL, !NSHELLS, !NSU | |||
</pre> |
Versione delle 11:13, 6 nov 2010
Introduzione
Sudo è un programma progettato per far sì che gli amministratori di sistema permettano ad alcuni utenti di eseguire certi comandi come root (o altro utente). La filosofia di base è quella di dare meno privilegi possibile, ma permettere ancora di compiere il proprio lavoro di amministrazione. Sudo è anche un modo efficace per registrare l' attività di root: chi ha usato sudo, con che comando e quando.
Su Debian sudo non è abilitato in modo predefinito
In senso stretto, sudo è installato e abilitato (se è stato scelto il metapacchetto Desktop durante l'installazione). Tuttavia in Debian non vi sono diritti concessi in modo predefinito (a differenza di alcune altre distribuzioni).
Perché sudo
Usare sudo è meglio (più sicuro) che aprire una sessione come root, in particolare per i seguenti motivi:
- Non c'è bisogno di password di root (sudo richiede la password dell'utente corrente).
- Per impostazione predefinita i comandi vengono eseguiti come utente corrente (cioè non privilegiato), permettendo di evitare errori. Solo i comandi preceduti da sudo vengono eseguiti come root.
- Verifica/registrazione: quando un comando è eseguito con sudo il nome dell'utente e il comando sono registrati.
Per le ragioni esposte, il passaggio a root con sudo -i
(o sudo su
) è generalmente sconsigliato perché annulla le caratteristiche di cui sopra. Nel seguito della guida vedremo come disabilitare questa possibilità.
(Fonte: [Debian Wiki])
Installazione
Per installare sudo su Debian è sufficiente utilizzare apt:
# apt-get install sudo
Configurazione
Il file di configurazione di sudo, /etc/sudoers
è impostato in sola lettura, anche per root!
Per modificarlo si deve usare il comando visudo
.
= Esempio di configurazione
Un esempio di configurazione può essere questo:
# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Defaults env_reset # Configurazione di default per root # L'utente root ha i permessi su ogni comando root ALL=(ALL) ALL # Definisco un alias contenente una lista # di utenti amministratori del server User_Alias ADMINS = utente1, utente2, utente3 User_Alias SUPERUSERS = utente4, utente5 # Definisco eventuali alias per gli utenti # Definisco degli alias per i comandi di sistema Cmnd_Alias SHUTDOWN = /sbin/shutdown, /sbin/reboot, /sbin/halt Cmnd_Alias PKGMGMT = /usr/bin/dpkg, /usr/bin/apt-get, /usr/bin/aptitude # Definisco degli alias per i comandi che voglio impedire Cmnd_Alias NSHELLS = /bin/sh,/bin/bash Cmnd_Alias NSU = /bin/su # Definisco eventuali privilegi degli utenti # Gli utenti del gruppo ADMINS possono gestire i pacchetti deb e riavviare # il server ADMINS ALL = PKGMGMT, SHUTDOWN # Gli utenti del gruppo SUPERUSERS possono fare tutto e impersonare qualsiasi # utente, tranne eseguire una shell di root o usare l'hack "sudo su" SUPERUSERS ALL = ALL, !NSHELLS, !NSU