SudoSudo (superuser do) è una manna dal cielo. In estrema sintesi permette a un normale utente di svolgere operazioni assumendo temporaneamente i privilegi di root, pur non autenticandosi effettivamente come tale.

I vantaggi di sudo sono indiscutibili. Tra i più importanti: non è necessario condividere la password di root con chi necessiti dei privilegi di root; l’utente deve porre maggiore attenzione per ogni singolo comando che lancia con sudo e (quindi) una maggiore attenzione porta a una sensibile diminuzione di errori dovuti alla disattenzione; l’utilizzo di sudo può essere limitato e limitato sotto molti aspetti, mentre invece l’account di root non ha nessun limite – ne consegue che se la necessità è quella di utilizzare i privilegi di root in alcuni contesti ben definiti, sudo è conveniente rispetto a un accesso totale come root.

Può succedere che qualcuno abbia la necessità di utilizzare sudo senza password, soprattutto scrivendo script bash che per svolgere determinati passaggi necessitano appunto dei privilegi di root. Cercando su Google “sudo senza password” (senza virgolette) vengono fuori numerosi articoli che consigliano sistematicamente di aggirare il problema così:

echo password | sudo -S comando

(dove password è la password dell’utente e comando è il comando da eseguire. La password, scritta in chiaro, viene stampata e semplicemente passata a sudo)

Questa è la conseguenza di un fenomeno ormai pericolosamente diffuso e imperante sul web: ridistribuire notizie, informazioni, istruzioni senza sapere esattamente cosa si stia facendo e di cosa si stia parlando. Qualcuno scrive una cazzata (cosa comprensibile) e altri diecimila copia-incollano alla “zozza maniera” senza porsi il minimo dubbio su quello che stanno facendo.

Faccio subito due puntualizzazioni fondamentali:

  1. aggirare il controllo della password di sudo può essere solo una pessima idea. Ognuno di noi è libero di farlo (d’altronde io stesso lo faccio, la comodità della cosa è innegabile), ma bisognerebbe avere consapevolezza di quello che si sta facendo, delle conseguenze che può portare e soprattutto essere nella situazione di assumersi poi le responsabilità di quella che – lo ripeto – può essere solo una pessima idea;
  2. generalmente e in qualsiasi contesto, non bisogna mai salvare la propria password in chiaro, per nessun motivo, nemmeno per questioni di comodità come questa. Si mette in grave rischio la sicurezza informatica del sistema dove si esegue questa scelta scellerata (il vostro sistema GNU/Linux, in questo caso specifico). Se non esistono alternative a questa scelta, allora è meglio lasciar perdere e rassegnarsi al dover inserire (manualmente) la password ogni volta che ci viene richiesta.

Si può aggirare il controllo della password di sudo semplicemente modificando il file di configurazione di sudo con il comando (come root):

visudo

In fondo alla configurazione è sufficiente aggiungere qualcosa come:

utente   ALL=NOPASSWD: ALL

(dove utente è il nome dell’utente)

In questo modo l’utente specificato è autorizzato a utilizzare sudo senza che gli venga richiesta la password. Nell’esempio specifico, inoltre, questa autorizzazione è valida per qualsivoglia comando voglia eseguire l’utente. Sarebbe quindi meglio limitare questa possibilità.

A questo scopo (ma anche per approfondire sufficiente l’argomento) vi rimando alle pagine del manuale:

man sudo

E ad un’ottima guida per Ubuntu (comunque valida per qualsiasi distribuzione GNU/Linux, tanto il file di configurazione è sempre quello) che potete trovare qui.

Espandi/comprimi Commenti
Cristiano
(27/12/2010, 10:42)

Sono arrivato a questo articolo per lo stesso motivo per cui molti vogliono loggarsi come root: la pigrizia.
In effetti il concetto di sicurezza, base della filosofia linux non deve essere messo in discussione ma chi come me utilizza il pc principalmente per diletto, ama provare, cercare nuovi programmi, applicare modifiche, compilare sorgenti ecc. In una sessione di “lavoro” mi vedo costretto ad inserire la password 40 o 50 volte ed a quel punto viene meno anche il discorso della maggior attenzione a ciò che si sta facendo. Inoltre costretti da questo obbligo si tende ad utilizzare una psw corta e veloce da inserire perdendo quindi anche la minima sicurezza determinata dalla password utente. La modifica delle impostazioni di sudo per consentire i comandi senza l’inserimento della password può essere un primo passo ma, faccio un esempio, se voglio cambiare i permessi ad un file di cui non sono proprietario mentre sto utilizzando dolphin da utente non lo posso fare, dovrò comunque uscire e rientrare con kdesudo dolphin.
In buona sostanza arrivo al dunque: la sicurezza è un concetto basilare ma finchè complichiamo la vita a chi si avvicina a linux non abbiamo alcuna speranza di contrastare il dominio windows.
Io ritengo che chi installa un server o un pc multiutente sarà accorto nella gestione dei permessi ma l’utente desktop dovrebbe avere maggiori possibilità di “scardinarsi” il proprio sistema commettendo errori se è ciò che desidera.

Pierluigi
(19/01/2013, 17:39)

Grazie mille per questo articolo, è quello che mi serviva :)
Programmando in PHP feci uno script bash per sincronizzare la mia workspace con la directory del server(per accedervi si deve essere root) quindi ogni volta che devo testare i cambiamenti dovevo mettere la password. Ora non è più necessario :) Grazie!

XHTML - Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>