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

estesa e verificata
(→‎Configurazione: aggiunto warning e link)
(estesa e verificata)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili}}
== Introduzione ==
== 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 <code>sudo</code>, con che comando e quando.
''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).


Su Debian, a partire da Squeeze ''sudo'' è installato e abilitato (se è stato scelto il metapacchetto Desktop durante l'installazione). Tuttavia, è necessario iscrivere gli utenti al gruppo <code>sudo</code> se se si vuole permetter loro di utilizzare questo strumento.
La filosofia di base in particolare è quella di consentire i [[privilegi di amministratore]] a meno comandi 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 <code>sudo</code>, con che comando e quando.
 
Su Debian, a partire da Squeeze <code>sudo</code> è installato e abilitato (se è stato scelto il metapacchetto Desktop durante l'installazione), ma di default nessun utente può usarlo, a meno che in fase di installazione si sia disabilitato [[root]].


=== Perché ''sudo'' ===
=== Perché ''sudo'' ===
Usare ''sudo'' è meglio (più sicuro) che aprire una sessione come root, in particolare per i seguenti motivi:
Usare <code>sudo</code> è 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).
* Non c'è bisogno di password di root, ma sudo richiede la password dell'utente corrente. Fondamentale per permettere a più persone di svolgere attività di amministrazione senza condividere la stessa password.
* 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.
* In una shell i comandi vengono eseguiti come utente corrente (cioè non privilegiato) e per impostazione predefinita non viene avviata una shell privilegiata, 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.
* 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 <code>sudo -i</code> (o <code>sudo su</code>) è generalmente sconsigliato perché annulla le caratteristiche di cui sopra. Nel seguito della guida vedremo come disabilitare questa possibilità.
Per le ragioni esposte, il passaggio a root con <code>sudo -i</code> (o <code>sudo su</code>) è generalmente sconsigliato perché annulla le caratteristiche di cui sopra. Nel seguito della guida vedremo come disabilitare questa possibilità.
Riga 16: Riga 18:


== Installazione ==
== Installazione ==
Per installare ''sudo'' su Debian è sufficiente utilizzare apt:
Per installare <code>sudo</code>, se non è presente, su Debian è sufficiente utilizzare [[apt-get]] con [[privilegi di amministratore]]:
<pre>
<pre>
# apt-get install sudo
# apt-get install sudo
Riga 22: Riga 24:


== Configurazione ==
== Configurazione ==
Il file di configurazione di '''sudo''' (<code>/etc/sudoers</code>) è già preconfigurato per permettere un utente di eseguire ogni comando come amministratore, se appartiene al gruppo <code>sudo</code>.
Il file di configurazione di <code>sudo</code> (<code>/etc/sudoers</code>) è già preconfigurato per permettere un utente di eseguire ogni comando come amministratore, se appartiene al gruppo <code>sudo</code>.


Per aggiungere un utente, per esempio ''pippo'' a questo gruppo:
Va però aggiunto il proprio utente, per esempio ''pippo'', a questo gruppo:
<pre>
<pre>
# adduser pippo sudo
# adduser pippo sudo
Riga 31: Riga 33:
È necessario un logout e un nuovo login per risultare iscritti al gruppo.
È necessario un logout e un nuovo login per risultare iscritti al gruppo.


Eventualmente, per modificare il file di configurazione, è consigliato usare il comando <code>visudo</code>, che effettua anche un controllo sulla sintassi utilizzata.
Si può verificare di essere membri di ''sudo'', digitando '''senza''' privilegi di amministratore:
<pre>
$ groups
</pre>
 
Eventualmente, per modificare il file di configurazione, è consigliato l'uso del comando <code>visudo</code>, che effettua anche un controllo sulla sintassi utilizzata.


=== Disabilitare root ===
=== Disabilitare root ===
Riga 46: Riga 53:


=== Esempio di configurazione ===
=== Esempio di configurazione ===
Un esempio di configurazione può essere questo:
Per modificare il file di configurazione, con [[privilegi di amministratore]] digitare:
<pre>
<pre>
# visudo
# visudo
</pre>
</pre>
Equivalentemente con <code>sudo</code>, se abilitato per tutti i comandi, il comando di prima può essere digitato come segue con i privilegi del proprio utente:
<pre>
$ sudo visudo
</pre>
Un esempio di configurazione può essere questo:
<pre>
<pre>
# /etc/sudoers
# /etc/sudoers
Riga 101: Riga 114:


== Esempio di sessione ''sudo'' ==
== Esempio di sessione ''sudo'' ==
Una tipica sessione di ''sudo'' si presenta così:
Una tipica sessione di <code>sudo</code> si presenta così:
<pre>
<pre>
utente1@server $ sudo comando
utente1@server $ sudo comando
Riga 120: Riga 133:


== File di log ==
== File di log ==
Il comando ''sudo'' logga tutte le sue attività nel file <code>/var/log/auth.log</code>
Il comando <code>sudo</code> logga tutte le sue attività nel file <code>/var/log/auth.log</code>


{{Autori
{{Autori
| Autore = [[Utente:Ferdybassi|Ferdybassi]] 12:42, 6 nov 2010 (CET)
| Autore = [[Utente:Ferdybassi|Ferdybassi]] 12:42, 6 nov 2010 (CET)
| Verificata_da =
: [[Utente:Stemby|Stemby]]
: [[Utente:HAL 9000|HAL 9000]] 21:40, 31 ago 2014 (CEST)
| Estesa_da =
| Estesa_da =
: [[Utente:Stemby|Stemby]]
: [[Utente:Stemby|Stemby]]
| Numero_revisori = 1
: [[Utente:HAL 9000|HAL 9000]]
| Numero_revisori = 2
}}
}}


[[Categoria:Shell]]
[[Categoria:Shell]]
[[Categoria:Monitoraggio]]
[[Categoria:Monitoraggio]]
3 581

contributi