Considera il fumetto sopra dall'eccellente webcomic XKCD. Il pigro sulla sedia vuole che il loro amico gli faccia un panino, ma non hanno l'autorità per farglielo fare. Cioè, finché non invoca il potente comando sudo. Dopodiché, in un modo o nell'altro, verrà preparato un panino.
Anche se provare sudo su una persona nella vita reale probabilmente non sarà altrettanto efficace, è il comando magico che supera ogni ostacolo nel mondo di Linux. Cos'è sudo? Perché esiste? La risposta sta nel modo in cui Linux gestisce i permessi.
Comprensione dei permessi utente di Linux
Linux è considerato un sistema operativo sicuro a causa del modo in cui gestisce i permessi. Mentre i sistemi operativi come macOS (che condivideva un antenato con Linux) e Windows ora sono più simili a Linux in questo senso, il sistema operativo Open Source è ancora in qualche modo unico.
Capire come Linux gestisce le autorizzazioni lo rende un molto più facile capire il comando sudo. Tutti i sistemi operativi moderni hanno un livello di autorizzazioni utente "amministratore" o "root". Se disponi di un account amministratore o root, puoi modificare qualsiasi impostazione, eliminare qualsiasi dato e in genere fare tutto ciò che vuoi con il computer.
Ciò include cose che probabilmente non dovresti fare che possono portare alla perdita di dati o alla necessità di una cancellazione completa e di una reinstallazione.
Linux non lo fa 'Non imposta i permessi a livello di utente root come predefiniti. Invece, il tuo account non può accedere alle parti veramente sensibili del sistema senza aumentare il livello di autorizzazione. Ciò significa che il sistema ti chiederà di inserire la password dell'amministratore quando vuoi fare qualcosa fuori dall'ordinario utilizzando un'interfaccia grafica.
Tuttavia, quando vuoi usare la riga di comando terminale per fare le cose, sudo è il più sicuro e il modo più efficiente per farlo.
Sudo e il terminale
Ci sono due modi per darti permessi elevati in Linux. Uno è accedere come utente root in modo permanente. Il problema con questo è che chiunque altro possa accedere al computer può provocare il caos, e anche tu puoi farlo per caso. Sudo eleva le tue autorizzazioni solo per un breve periodo per eseguire i comandi specifici che lo seguono.
Sintassi di Sudo
La sintassi di Sudo (il formato del comando) è semplice. Digita semplicemente "sudo" seguito dal comando che desideri eseguire.
Ad esempio, "sudo apt-get update" aggiornerà tutti i repository di app elencati nei relativi file. Se hai provato a eseguirlo senza sudo, riceverai un messaggio di errore che ti dice che non hai il permesso. Per inciso, questo è generalmente il primo comando sudo che vorrai eseguire dopo una nuova installazione della tua distribuzione Linux preferita.
Il "Su" in Sudo
Il "su" in sudo è l'abbreviazione di "superutente" ed è un comando autonomo. Il comando "su" ti consente di modificare i privilegi dell'utente a cui sudo ti eleva.
Sebbene sudo ti elevi temporaneamente a root, su ti cambia in un altro utente con privilegi adeguati. Potrebbe sembrare una distinzione poco importante, ma ci sono buone ragioni per cambiare l'account a cui sudo eleva un utente.
Prima di tutto, cambiare l'account significa che gli utenti normali non conoscono la password di root. Secondo, c'è un registro di tutti i comandi sudo, il che significa che l'amministratore di sistema (root) può cercare chi ha emesso i comandi su.
La sintassi per su è essenzialmente la stessa di sudo:
Su USERNAME -c COMMAND
Sostituisci USERNAME con l'utente desiderato per eseguire il comando e COMMAND con il comando Linux che desideri eseguire.
Se vuoi eseguire più comandi come un altro utente, usa semplicemente:
Su USER
Sostituisci USER con l'identità dell'account utente desiderata.
Se usi su da solo, Linux passerà all'altro account utente finché non utilizzerai il comando "exit". È importante ricordare che questo o il prossimo utente che accederà al terminale in quella sessione avrà ancora autorizzazioni elevate. Questo è il motivo per cui generalmente è meglio usare sudo piuttosto che su.
Il limite di tempo di Sudo
La prima volta che usi un comando sudo, dovrò inserire una password. Quindi, quella password rimarrà valida per 15 minuti. Puoi modificare questa impostazione predefinita eseguendo il comando sudo visudoe modificando "timestamp_timeout=" con un valore più lungo o più corto. Tuttavia, non ti consigliamo di farlo a meno che tu non abbia una buona ragione per estendere o ridurre il tempo di validità di una password sudo.
Commutazioni opzioni sudo
Sebbene la sintassi sudo sia semplice, vale la pena conoscere diversi interruttori. Questi comandi aprono informazioni aggiuntive o ti aiutano a controllare la sessione sudo:
Ci sono molte più opzioni integrate in sudo e puoi vederle tutte usando la prima opzione -h elencata sopra.
Lo screenshot sopra è ciò che risulta quando usi l'opzione di aiuto.
Utili comandi di Sudo
Quindi quali comandi abilitati da sudo dovrebbero conoscere ogni utente Linux? Abbiamo già trattato sudo apt-get update, ma prendi nota anche di questi:
Questi sono probabilmente i primi comandi sudo che dovrai usare, ma come hai imparato sopra qualsiasi comando può seguire sudo, ma dovresti usare solo quelli che richiedono privilegi più elevati con esso.