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

aggiunte avvertenze e istruzioni per ripristinare le configurazioni
(aggiunte avvertenze e istruzioni per ripristinare le configurazioni)
Riga 8: Riga 8:


=== Perché ''sudo'' ===
=== Perché ''sudo'' ===
Usare <code>sudo</code> è meglio (più sicuro) che aprire una sessione come [[root]], in particolare per i seguenti motivi:
Usare <code>sudo</code> in alcune circostanze è meglio (più sicuro) che aprire una sessione come [[root]], in particolare per i seguenti motivi:


* 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.
* Non c'è bisogno di password di root, ma sudo richiede la password dell'utente corrente. È fondamentale nel caso si debba permettere a più persone di svolgere attività di amministrazione, senza bisogno di condividere la stessa password.
* 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]].
* 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, utilizzare una [[shell]] privilegiata con <code>sudo -i</code> (<code>sudo -s</code>, <code>sudo sh</code>, <code>sudo su</code> ed equivalenti) è generalmente sconsigliato perché annulla le caratteristiche di cui sopra. Nel seguito della guida vedremo come disabilitare questa possibilità.
<br/><br/>
(''Fonte: [http://wiki.debian.org/it/sudo Debian Wiki]'')


 
Si noti che per un sistema con un singolo utente, che è il caso per la maggior parte degli utenti desktop, i benefici di ottenere [[privilegi di amministratore]] con <code>sudo</code> sono inesistenti rispetto all'uso di <code>su</code>, se si permette di eseguire una shell come [[root]]. Sarebbe invece necessario studiare il file di configurazione e personalizzarlo in modo opportuno, restringendone l'uso il più possibile, cercando il giusto compromesso tra sicurezza e comodità d'uso.
Si noti che per un sistema con un singolo utente, che è il caso per la maggior parte degli utenti desktop, i benefici di ottenere [[privilegi di amministratore]] con <code>sudo</code> sono molto ridotti rispetto all'uso di <code>su</code> per eseguire una shell come [[root]], salvo si studino le opzioni supportate e si personalizzi il file di configurazione in modo opportuno, restringendone l'uso il più possibile.


== Installazione ==
== Installazione ==
Per installare <code>sudo</code>, se non è presente, su Debian è sufficiente utilizzare [[apt-get]] con [[privilegi di amministratore]]:
Per installare <code>sudo</code>, se non è presente, su Debian basta installare il [[pacchetto]] '''sudo'''. Per esempio con [[apt-get]] e [[privilegi di amministratore]] basta:
<pre>
<pre>
# apt-get install sudo
# apt-get install sudo
Riga 29: Riga 26:
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>.
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>.


Va però aggiunto il proprio utente, per esempio ''pippo'', a questo gruppo:
Ciò '''non''' significa che si debba aggiungere il proprio utente a tale gruppo, specialmente se l'account [[root]] è attivo. Va fatto soltanto se si vuole utilizzare <code>sudo</code> come sostituto per tutte le attività di amministrazione.
 
Se è questo il caso, per aggiungere il proprio utente, per esempio ''pippo'', al gruppo ''sudo'' va eseguito:
<pre>
<pre>
# adduser pippo sudo
# adduser pippo sudo
Riga 42: Riga 41:


Eventualmente, per modificare il file di configurazione, è consigliato l'uso del comando <code>visudo</code>, che effettua anche un controllo sulla sintassi utilizzata.
Eventualmente, per modificare il file di configurazione, è consigliato l'uso del comando <code>visudo</code>, che effettua anche un controllo sulla sintassi utilizzata.
Per rimuoversi invece da tale gruppo, se per esempio il proprio utente si chiama ''pippo'', basta:
<pre>
# deluser pippo sudo
</pre>
Prima di questo comando si consiglia di ottenere i [[privilegi di amministratore]] con l'uso di <code>su</code>, per verificare che l'account [[root]] è attivo prima di rimuoversi dal gruppo.


=== Disabilitare root ===
=== Disabilitare root ===
Se si intende utilizzare soltanto <code>sudo</code> per tutti i comandi, si consiglia di disabilitare l'utente [[root]], così da disporre di un unico modo per diventare amministratori. Per disabilitare l'utente [[root]] digitare il seguente comando:
Se si intende utilizzare soltanto <code>sudo</code> per tutti i comandi, si consiglia di disabilitare l'utente [[root]], così da disporre di un unico modo per diventare amministratori. Per disabilitare l'utente ''root'' digitare il seguente comando:
<pre>
<pre>
$ sudo passwd --lock root
$ sudo passwd --lock root
Riga 50: Riga 55:
Ora è possibile ottenere i [[privilegi di amministratore]] soltanto utilizzando <code>sudo</code>, scrivendolo prima del comando da eseguire come amministratore.
Ora è possibile ottenere i [[privilegi di amministratore]] soltanto utilizzando <code>sudo</code>, scrivendolo prima del comando da eseguire come amministratore.


Per riattivare [[root]], permettendone sia il login che l'utilizzo di <code>su</code>, dare invece il seguente comando:
Non sarà possibile né effettuare il login come utente ''root'', né utilizzare il comando <code>su</code>.
 
Per riattivare [[root]], permettendo nuovamente sia il login che l'utilizzo di <code>su</code>, dare invece il seguente comando:
<pre>
<pre>
$ sudo passwd --unlock root
$ sudo passwd --unlock root
Riga 137: Riga 144:
== File di log ==
== File di log ==
Il comando <code>sudo</code> 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>
== Sitografia ==
* [http://wiki.debian.org/it/sudo Debian Wiki]


{{Autori
{{Autori
Riga 142: Riga 152:
| Verificata_da =
| Verificata_da =
: [[Utente:Stemby|Stemby]]
: [[Utente:Stemby|Stemby]]
: [[Utente:HAL 9000|HAL 9000]] 21:40, 31 ago 2014 (CEST)
: [[Utente:HAL 9000|HAL 9000]] 13:22, 1 set 2014 (CEST)
| Estesa_da =
| Estesa_da =
: [[Utente:Stemby|Stemby]]
: [[Utente:Stemby|Stemby]]
3 581

contributi