Configurare SUDO per gestire le attività degli amministratori: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Riga 32: Riga 32:
=== Esempio di configurazione ===
=== Esempio di configurazione ===
Un esempio di configurazione può essere questo:
Un esempio di configurazione può essere questo:
<pre>
# visudo
</pre>
<pre>
<pre>
# /etc/sudoers
# /etc/sudoers

Versione delle 11:26, 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:

# visudo
# /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