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