2.4. Account di amministrazione

Eseguire il comando id per determinare il proprio nome utente. Si dovrebbe vedere l'UID 0 (Unique User ID zero) e il nome utente root. Gli Unix tradizionalmente mantengono il concetto di superutente o root, un account speciale con UID 0, che è libero di svolgere qualsiasi compito amministrativo. Ciò è appena un po' diverso nella pratica con Linux perché esso utilizza un meccanismo di capacità molto più flessibile, ma il principio è il medesimo. Fare il login come root è fortemente sconsigliato, così vedremo adesso come aggirare il problema. Si dovrà sempre utilizzare un account di utente regolare ed eseguire solo specifici comandi privilegiati usando sudo, un programma che servirà come un "contenitore" (wrapper) per comandi amministrativi.

Adesso si crei un account non privilegiato eseguendo il comando adduser mario. Una volta fatto questo, eseguire echo "mario ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers. Il metodo sudo è il "contenitore" amministrativo menzionato prima ed esso garantisce a mario i privilegi di avviare qualsiasi comando con i privilegi di root.

Fatto questo, effettuare un logout completo (uscendo da tutte le shell, cioè digitando logout, exit o premendo Ctrl+d in tutti i terminali attivi). Poi si rieffettui il login con il nome utente non privilegiato appena creato.

Per vedere il sistema sudo al lavoro, eseguire id; dovrebbe dire che mario è il proprio user ID attivo. Poi dare sudo id e si veda come il programma id sia eseguito con privilegi di root. Si può utilizzare sudo e non si dovrà mai fare il login come superutente.

Useremo sudo estesamente; per modificare file di configurazione del sistema per esempio, si utilizzerà: sudo nano NOME FILE.