Il software è come il sesso, è meglio quando è libero. (Software is like sex, it's better when it's free).
Con questo articolo finalmente termineremo le operazioni preliminari installando e configurando sudo. L' utente/dio root deve essere usato il meno possibile, sia per aumentare la sicurezza del nostro server, sia per ridurre al minimo le possibilità di combinare malanni involontari e, per la legge di Murphy, spesso irreversibili. Con il prossimo articolo si comincerà a fare sul serio :)
Nei sistemi operativi Unix/Linux c'è un utente particolare, detto super utente e contraddistinto dall'avere un UID (User ID) uguale a 0 e nome utente root, che ha totale accesso al sistema senza nessuna restrizione, è l' amministratore del sistema.
Nella maggior parte dei sistemi GNU/Linux, l'amministratore del computer non usa l'utente amministratore (per motivi di sicurezza) ma usa un utente normale per svolgere il lavoro quotidiano. Quando ha la necessità di svolgere mansioni di amministrazione apre un terminale e avvia una sessione come utente root, oppure se si trova già in un terminale come utente normale usa il comando su per diventare utente root.
Io preferisco usare un approccio diverso per svolgere mansioni amministrative, basato sull'utilizzo del comando sudo. Qui esistono diverse scuole di pensiero in merito alla sicurezza di sudo rispetto a su.
In ognuno dei due modelli, sudo e su, ci sono vantaggi e svantaggi.
Siccome sudo costringe l'esecuzione controllata di singoli comandi ha questi vantaggi:
Di contro, se qualcuno scopre la password di un utente abilitato all'utilizzo di sudo come root in effetti può ottenere accesso come root. Nel caso di utilizzo di sudo bisogna prestare una maggiore attenzione alla scelta della password utente.
I sostenitori del modello su, cioè account di root abilitato e utilizzo di una shell di root per compiti amministrativi, sostengono che su sia più sicuro in quanto il livello di root si ottiene dopo l'inserimento di due password, la password utente e la password di root.
D'altra parte, chi cerca di entrare in un sistema ha la necessità di scoprire due cose, il nome utente e la password. Con l'account di root abilitato, una delle due è già nota, serve solo scoprire la password. Con sudo si devono scoprire entrambe (nome utente e password).
Quando in un sistema alcuni compiti amministrativi sono assegnati a vari utenti, l'utilizzo di sudo evita di dover dare la password di root a più utenti. L'amministratore può assegnare a qualsiasi utente, temporaneamente, privilegi particolari, eliminandoli o limitandoli quando non vi è più necessità.
sudo (superuser do) consente di eseguire un comando come se si fosse un altro utente. Effettua una specie di sostituzione, previa autorizzazione, tra l'utente attuale (colui che esegue il comando sudo) e l'utente target (colui che esegue l'effettivo comando). Mentre con il comando su si cambia utente fino al termine della sessione del terminale, sudo assegna i privilegi dell'utente target al solo processo (e ai suoi processi figli) che viene con esso avviato.
Per eseguire dei comandi con privilegi d'amministrazione è sufficiente digitare sudo e successivamente il comando che si desidera eseguire come utente root, come nel seguente esempio:
sudo nano /etc/rc.conf
Con sudo l'amministratore del sistema può assegnare privilegi particolari a qualsiasi utente, definire quali comandi far eseguire e quali no e avere il log (/var/log/auth.log) di tutte le operazioni effettuate su tentativi di accesso non autorizzati.
A me piacciono i sistemi "rootless" , cioè privi dell' utente "root" che tanti problemi di sicurezza può causare. Quindi creiamo un utente amministrativo con una solida password. In seguito a questo utente assegneremo privilegi particolari per poter disabilitare root e amministrare il sistema.
Siccome sono a corto di idee chiamo questo utente "admin"
adduser admin
Per installare sudo :
pacman -S sudo
Per abilitare il nostro utente "admin" a svolgere i compiti amministrativi utilizzando sudo devo aggiungerlo al file /etc/sudoers. Per editare questo file devo utilizzare il comando :
visudo
admin ALL=(ALL) SETENV: ALL
Ora l'utente "admin" dovrebbe essere abilitato al comando "sudo". Prima di proseguire provate a loggarvi sulla console con l'utente admin e poi provate, ad esempio:
sudo nano /etc/rc.conf
Quando siete sicuri che admin abbia i privilegi di amministrazione attraverso sudo possiamo disabilitare l'utente root:
sudo passwd -l root
sudo passwd root
Per terminare questa sezione preliminare non dimenticate di :
127.0.0.1 localhost archi
search mede.it
nameserver xxx.xxx.xxx.xxx
Bene. Terminate le operazioni prelimiari non abbiamo ancora fatto niente :D.
Ma chi ben inizia ...
La prossima volta entreremo nel vivo.
Recent comments
9 hours 6 min ago
6 weeks 1 day ago
9 weeks 6 days ago
11 weeks 3 hours ago
12 weeks 6 days ago
14 weeks 3 days ago
14 weeks 3 days ago
14 weeks 3 days ago
14 weeks 3 days ago
14 weeks 3 days ago