Chiunque di voi utilizzi Linux, sia per lavoro che per svago, si sarà sicuramente imbattuto almeno in una volta nel discusso comando “sudo“, salito tanto alla ribalta grazie al (ingiusto ed immeritato, secondo chi scrive) successo di Ubuntu e di tutte le sue derivate.
Il funzionamento di sudo è semplice, ed è molto ben riassunto da questa divertente e surreale vignetta:

In parole povere, sudo permette di eseguire comandi critici, normalmente concessi al solo “superutente” root, semplicemente inserendo la password dell’utente loggato in quel momento. Compromettendo pesantemente tutta la sicurezza del Sistema.
Molti di voi potranno obiettare che l’utilizzo di sudo è comunque permesso solo agli utenti precedentemente abilitati dal root stesso, ma è un dato di fatto che far si che un utente (termine che il più delle volte fa rima con “utonto“) possa installare – e disinstallare – qualsiasi cosa gli passi per la mente non rende di certo quel dato Sistema un Sistema sicuro e stabile.
E allora sui tre pc in cui ho installato ubuntu qualcosa deve essere andato storto, perchè l’utente root è abilitatissimo 😀
Però forse capisco il problema, che è IMHO un difetto di progettazione di Ubuntu. In fase di installo del sistema viene chiesta l’immissione di una password che valrà uguale sia per l’utente normale (ma installatore) sia per l’utente root.
Questo è un problema. Non è sicuro impostare in default la stessa password per il primo utente del sistema e per l’utente root.
Un altro problema c’è da notate: all’utente che installa il sistema vengono dati in default un po’ troppi permessi… (vedi in System >> Users & Groups). In altre parole sudo è impostato per dare dei permessi speciali a chi installa il sistema.
Da un punto di vista puramente logico non sembra sbagliato, ma IMHO lo è. Un solo potente controllore (root) basta e avanza.
Per cui subito dopo l’installo:
1 – Modificare la password di root (o quella utente)
2 – Togliere i troppi privilegi a chi installa il sistema
E’ tutto risolvibile lato utente (e così io ho sempre fatto), però non sarebbe male vedere la cosa in default….
Ed ora che mi ci hai fatto pensare, questi sono discorsi che l’utonto normale non si farebbe mai…
Bell’appunto! Perchè non segnalarlo?
Davidonzo, ti spiego subito dove sta il problema sicurezza: procurati un qualsiasi Sistema basato su Ubuntu, magari server senza particolari revisioni post-install, e da utente prova a scrivere:
# sudo rm -rf /path.che.preferisci
e a dare la password utente (che e’ quella richiesta, appunto, da sudo)
Ecco dove sta il nostro “piccolo” problema di sicurezza…
Aggiungo che non e’ per niente vero che senza pwd di root non puoi far nulla. In una Ubuntu-based, ad esempio, il root e’ “disabilitato” (privato della pwd quindi impossibilitato a loggarsi) e fai TUTTO con sudo + pwd utente.
Pure la cancellazione di / , se ti va…
Sudo usato come nella vignetta ha senso se sai la password di root.
Altrimenti sarà sempre l’utente root a poter fissare dei permessi speciali all’utente non root.
Dove sta il problema di sicurezza?
Se sono l’amministratore del sistema e non setto nessun permesso speciale per gli altri utenti, questi hanno voglia di scrivere sudo nel terminale. Senza password di root non possono far niente…
Spero ci siano pochi utenti linux che ti visitano, perchè, hey, stai per scatenare una flame war! E io mi ci infilo subito!
Io uso ubuntu sul mio pc di sviluppo, detesto sudo, ho abilitato l’utente root ma devo dire che su di un pc personale fa comodo!
Ubuntu… Si può dire quello che si vuole, ma fa dei numeri che tutte le altre distro non fanno; come “numeri” intendo comunità di sviluppo alle spalle e utilizzatori. Poi, mi puoi far presente che con slackware hai più controllo, che con gentoo hai più performance, che debian (la mammina) è più “etica”. Ma sono i numeri che contano, o sbaglio?
Sudo è comodo se sei tu l’amministratore 😀 Per il resto ti do ragione