Corso ForTIC C2 Azioni concesse all`utente root Creazione di gruppi
Transcript
Corso ForTIC C2 Azioni concesse all`utente root Creazione di gruppi
Corso ForTIC C2 – IPC Falcone Gallarate Anno scolastico 2006/2007 Corso ForTIC C2 LEZIONE n. 4 ● ● ● ● Azioni concesse all'utente root Creazione di gruppi e utenti I livelli di inizializzazione E se si dimentica la password di root? I contenuti di questo documento, salvo diversa indicazione, sono rilasciati sotto una licenza Creative Commons License. Per prendere visioni dei termini della licenza visitare il sito http://creativecommons.org/licenses/by-nc-sa/2.0/ o richiederne una copia a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA Sandra Farnedi 1/11 Corso ForTIC C2 – IPC Falcone Gallarate Anno scolastico 2006/2007 L'UTENTE PRIVILEGIATO root In un sistema LINUX solo l'utente root (detto anche superuser) può svolgere il ruolo di amministratore. L'utente root ha la completa e totale visibilità del sistema compresi i file degli altri utenti. Tuttavia, chiunque conosca la password di root può svolgere tale ruolo pur mantenendo la propria identità. Un qualunque utente che voglia acquisire i diritti di root può eseguire il comando su (oppure sudo) gli verrà richiesta la password di root e, se la conosce, gli verranno concessi tutti i diritti del superuser. Sandra Farnedi 2/11 Corso ForTIC C2 – IPC Falcone Gallarate Anno scolastico 2006/2007 Se, oltre ad acquisire i diritti di root se ne vuole anche acquisire l'identità, si dovrà eseguire il comando su a fronte del quale si diventerà a tutti gli effetti l'utente root. Per riprendere la propria identità o per uscire dalla modalità superuser è sufficiente eseguire il comando exit o digitare contemporaneamente i due tasti Ctrl+d Nota: il comando su -nomeutente consente, a qualunque utente, di cambiare identità diventando a tutti gli effetti l'utente nomeutente (ovviamente bisogna conoscerne la password). Sandra Farnedi 3/11 Corso ForTIC C2 – IPC Falcone Gallarate Anno scolastico 2006/2007 CREAZIONE di utenti e gruppi LINUX è un sistema multiutente e i suoi utenti possono essere assegnati a vari gruppi che possono disporre di privilegi comuni per collaborare per esempio alla gestione dei file di un progetto. Se non viene altrimenti specificato, ogni utente appartiene al gruppo contenente solo l’utente stesso; non ci sono limiti al numero di utenti appartenenti ad un gruppo ed è inoltre ammesso che un utente appartenga a più gruppi, anche in questo caso senza limitazioni di sorta. Uno dei compiti dell'amministratore, e quindi di root, è quello di creare gli utenti, di assegnarli ai vari gruppi e di concedere loro i diritti di cui devono disporre. Sandra Farnedi 4/11 Corso ForTIC C2 – IPC Falcone Gallarate Anno scolastico 2006/2007 COMANDI DI BASE per gestire utenti e gruppi useradd userdel groupadd groupdel passwd man crea un utente cancella un utente crea un gruppo rimuove un gruppo assegna la passwd ad un utente manuale dei comandi per conoscerne i dettagli Sandra Farnedi 5/11 Corso ForTIC C2 – IPC Falcone Gallarate Anno scolastico 2006/2007 ESEMPIO PRATICO Premessa Il sistema Linux consente l’accesso contemporaneo al sistema da parte di più utenti. Tali utenti devono essere tutti dotati di un nome d’accesso (login) e di una password. Ciascun utente dispone di una zona di disco di sua proprietà detta home directory, alla quale gli altri utenti del sistema possono accedere solo se egli lo consente. Obiettivo Vogliamo creare l’utente mario per il signor Mario Rossi e vogliamo che tale utente appartenga al gruppo programmatori che ancora non esiste. Dobbiamo quindi prima creare il gruppo programmatori, poi l’utente mario con la sua home directory, assegnargli una password e controllare che i diritti di accesso alla sua home directory siano in linea con l’attività da lui svolta. In generale, in ambiente Linux, le home directory di tutti gli utenti si trovano sotto la directory /home e il loro nome coincide con quello dell’utente a cui si riferiscono, così, per esempio, la home directory dell’utente mario si chiamerà /home/mario Fa eccezione la home directory dell’utente root che di solito è /root Bisogna inoltre ricordare che, anche se i gruppi e gli utenti hanno un nome, di solito mnemonico, il sistema fa riferimento ad essi tramite dei numeri univoci che vengono loro assegnati al momento della creazione. Sandra Farnedi 6/11 Corso ForTIC C2 – IPC Falcone Gallarate Anno scolastico 2006/2007 Procedimento Per creare il gruppo programmatori: groupadd programmatori Per creare l'utente mario1, il cui vero nome è Mario Rossi, con relativa home directory e assegnazione al gruppo programmatori: useradd -m mario -c MarioRossi -g programmatori Per assegnare una password all'utente mario: passwd mario Attenzione a non modificare inavvertitamente la password di root! Il comando passwd , se non è seguito dal nome di un utente, consente di cambiare la password dell'utente che lo esegue, quindi, se si è connessi come superuser, provoca il cambiamento della password di root. Quando si vorranno cancellare l’utente mario e/o il gruppo programmatori si useranno rispettivamente i comandi userdel –r mario (se l’opzione –r non è specificata, viene rimosso solo l’utente mentre la sua home directory rimane) e groupdel programmatori 1 I nomi utente non possono contenere lettere maiuscole Sandra Farnedi 7/11 Corso ForTIC C2 – IPC Falcone Gallarate Anno scolastico 2006/2007 File coinvolti Vediamo quali file vengono modificati a fronte dell’esecuzione di ciascuno dei suddetti comandi. La visualizzazione dei file di testo può essere eseguita tramite il comando less nome-del-file mentre la loro manipolazione, può essere effettuata col comando vi (per utenti esperti) oppure con gli editor grafici gedit o kwrite che funzionano in modo simile al BloccoNote di Windows. 1. l’esecuzione del comando addgroup provoca l’inserimento nel file /etc/group di una riga del tipo: programmatori::600: 2. dove programmatori e 600 sono rispettivamente il nome e il numero del gruppo; per ulteriori dettagli consultare il manuale del file tramite il comando man group l’esecuzione del comando userdadd -inserisce nel file /etc/passwd una riga del tipo: mario::525:600:Mario Rossi:/home/mario/:/bin/bash 3. per il significato dei singoli campi si veda man passwd -inserisce nel file /etc/shadow una riga del tipo: mario::12341:0:99999:7::: per il significato dei singoli campi si veda man shadow -crea la home directory /home/mario del nuovo utente e vi inserisce i file di personalizzazione dell’utente stesso .bash_profile ecc. -fa in modo che tale directory appartenga all’utente mario del gruppo programmatori (nota: in qualsiasi momento è possibile modificare l'utente e il gruppo a cui un file o una directory appartengono tramite i comandi chown e chgrp) Il comando passwd mario assegna una password all’utente mario modificando i file /etc/passwd e /etc/shadow Sandra Farnedi 8/11 Corso ForTIC C2 – IPC Falcone Gallarate Anno scolastico 2006/2007 I LIVELLI DI INIZIALIZZAZIONE Il comando init e il file /etc/inittab Linux offre la possibilità di selezionare vari livelli di inizializzazione (runlevel) che l’utente root può modificare intervenendo sul file /etc/inittab o utilizzando il comando init numero-del-livello-di-inizializzazione dove il livello di inizializzazione può assumere i seguenti valori: 0 effettua lo shutdown del sistema 1 attiva la modalità monoutente 2 attiva la multiutenza senza utilizzare NFS 3 attiva la multiutenza in maniera completa 4 non utilizzato 5 attiva la multiutenza in ambiente X11 (interfaccia grafica) 6 effettua il reboot (riavvio) del sistema L’interfaccia grafica è gestita dal sistema X Windows (X11) che consente l’utilizzo del client xdm a tutti gli utenti che si connettono al sistema. Il livello di inizializzazione di default è dichiarato nella riga id:x:initdefault: del file /etc/inittab dove x può assumere i valori suddetti. Quindi, se si vuole passare dalla modalità X11 alla modalità a carattere, basterà dare il comando init 3, se si vuole ritornare all’interfaccia grafica bisognerà dare il comando init 5, e, volendo spegnere il sistema, in alternativa al comando shutdown, si può usare il comando init 0. Sandra Farnedi 9/11 Corso ForTIC C2 – IPC Falcone Gallarate Anno scolastico 2006/2007 ESERCIZI Eseguire gli esercizi proposti utilizzando gli appositi comandi e, dopo l’esecuzione di ciascuno di essi, controllare le modificazioni subite dai file coinvolti. 1. Creare i due gruppi studenti e docenti 2. Creare gli utenti gio (Giovanni Bianchi con password primo), luca (Luca Neri con password secondo), paola (Paola Verdi con password terzo) appartenenti al gruppo studenti 3. Creare gli utenti anna (Anna Brambilla con password doc1) e piero (Piero Colombo con password doc2) appartenenti al gruppo docenti 4. Creare l’utente preside (Amilcare Cencelli con password scuola) appartenente ad entrambi i gruppi 5. Cancellare tutti i gruppi e gli utenti creati negli esercizi precedenti e le rispettive home directory 6. Creare il gruppo corso e due utenti ad esso appartenenti che abbiano come nome utente, l’uno il vostro nome e l'altro il vostro cognome, assegnando loro due password che dovete cercare di non dimenticare 7. Ripetere le operazioni da 1 a 6 utilizzando l'interfaccia grafica proposta dalla distribuzione che state utilizzando 8. Controllare il livello di inizializzazione corrente 9. Entrare in modalità non grafica 10.Ritornare alla modalità grafica 11.Riavviare il sistema 12.Spegnere il sistema Sandra Farnedi 10/11 Corso ForTIC C2 – IPC Falcone Gallarate Anno scolastico 2006/2007 E SE SI DIMENTICA LA 2 PASSWORD DI root? Se si utilizza LILO come boot manager è sufficiente entrare in single user mode, ovvero una modalità senza passwd dove non è possibile accedere al sistema se non tramite l'utente root dalla console del PC, e quindi cambiare la passwd di root. Quindi al boot del sistema linux: inserire la stringa linux single, attendere il caricamento del runlevel 1 ed al prompt cambiare la password attraverso il comando passwd come nell’esempio: boot: linux single [.... caricamento del sistema ...] # passwd Changing passord for root. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. Se invece si utilizza GRUB come boot manager, la procedura è la seguente: ● al prompt di GRUB, accedere alla linea di comando attraverso il comando “c” ● specificare la locazione del kernel e la modalità di accesso single attraverso il comando: kernel /vmlinuz-<version> single ro root=/dev/hd<disk/root-partition> ● ● ● specificare, se necessario, il file “suggeritore” dei giusti supporti e dei moduli da caricare attraverso il comando initrd /initrd-<version>.img effettuare il boot del sistema attraverso il comando boot Ad esempio al prompt di GRUB premere il tasto “c” e poi digitare: kernel /vmlinuz-2.4.7-10 single ro root=/dev/hdc7 boot ● A questo punto, una volta mostrato il prompt, si potrà cambiare la password di root attraverso il comando passwd come nel caso visto in precedenza per LILO 2 Vedi Linux&C. n.55 pag. 12 Sandra Farnedi 11/11