prof. Nunzio Brugaletta |
atapSO |
EnneBi –
Computer Science
Avanti – Indietro – Inizio
L'utente root ha accesso a tutte le risorse del sistema, può installare periferiche e programmi che saranno disponibili per tutti gli utenti, può cancellare o creare file in qualsiasi punto del file system in maniera indipendente dai permessi settati. Poiché, inoltre, Linux mette a disposizione utility per accesso a tutte le risorse per questo utente speciale, un uso improprio della modalità root può anche comportare disfunzioni del sistema e perdita di dati.
L'utente con diritti standard può operare liberamente solo all'interno della sua home. Se installa programmi, quando possibile, o modifica alcune proprietà, quelle ammesse, tutte le modifiche effettuate valgono solo per lui.
È possibile, mediante il comando su (Switch User), modificare temporaneamente la propria identità trasformandosi in un altro utente o anche, per determinate operazioni e temporaneamente, nell'utente root. Naturalmente è necessario conoscere la password dell'utente in cui ci si vuole trasformare:
$ whoami uprova $ su tux Password: $ whoami tux $ exit exit $ whoami uprova
intanto si richiede al sistema di stampare il nome dell'utente che ha effettuato il login: il comando whoami chiede al sistema di stampare l'identità attuale dell'utente. Subito dopo si richiede di cambiare l'identità nell'utente tux assumendone tutti i diritti. Il sistema richiede la password dell'utente di cui si richiede di assumere l'identità e, se inserita correttamente, l'utente cambia. Il comando exit, in questo caso, permette di ritornare all'identità precedente.
In linea teorica si potrebbe assumere l'identità di root anche se si tratta di una scelta estremamente poco consigliabile e pericolosa (qualsiasi errore o anche bug di programma potrebbe comportare risultati disastrosi per il sistema). Il comando su senza specifica del nome utente permette di trasformarsi temporaneamente nell'utente root. Questo potrebbe essere utile se si vuole eseguire qualche compito per cui sono richiesti i privilegi di root ma non è, dal punto di vista della sicurezza, attribuire l'identità di root, per esempio, solo per eseguire singoli comandi non ammessi per i normali utenti.
Nel caso occorra dare la possibilità agli utenti di eseguire singoli comandi si può ricorrere al pacchetto sudo (Switch User and DO) che fornisce la possibilità di eseguire singoli programmi con i privilegi di root senza per questo cambiare l'identità dell'utente stesso.
Il sistema sudo è formato dal file di configurazione /etc/sudoers e dal comando sudo:
il file di configurazione serve per specificare chi e cosa:
$ sudo less /etc/sudoers # /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Defaults env_reset # Uncomment to allow members of group sudo to not need a password # %sudo ALL=NOPASSWD: ALL # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL
come evidenziato anche dal commento che precede l'ultima riga, tutti gli utenti che fanno parte del gruppo admin (il simbolo % anteposto ad un nome indica appunto che si tratta di un gruppo) possono godere dei privilegi del super-utente. Se si vogliono attribuire ad un utente poteri amministrativi basta aggiungere l'utente al gruppo.
Il comando sudo serve per avviare le linee di comando specificate. Per es:
$ su alfa Password: $ whoami alfa $ sudo less /etc/sudoers [sudo] password for alfa: alfa is not in the sudoers file. This incident will be reported. $ exit exit $ whoami tux $ less /etc/group ... admin:x:115:tux
intanto si assume l'identità dell'utente alfa (il buon esito dell'operazione è confermato, dopo la convalida della password dell'utente di cui si vuole assumere l'identità, dall'output del comando successivo whoami). Si tenta la visualizzazione del file di configurazione: il sistema chiede la password ma subito dopo comunica che l'utente alfa non è abilitato ad effettuare operazioni amministrative come sui evince, immediatamente, tornando indietro e visualizzando i gruppi: l'utente alfa non è presente nel gruppo admin.
http://ennebi.solira.org |
ennebi@solira.org |