Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 34
Superuser
Gli utenti normali, solitamente, possono modificare solo i propri file.
Tra gli utenti del sistema operativo si distingue l’Amministratore del sistema, o utente root, che possiede: • il massimo della visibilità sulle risorse del sistema e • la disponibilità massima dei permessi sui file e sull’uso delle procedure. Questa modalità operativa è indicata con superuser. Accedere come superuser Si può acquisire il privilegio di superuser in diversi modi, ad esempio: aprendo una nuova shell con il comando su. Infatti il comando su (switch user), seguito dal nome di un utente, consente di aprire una shell come altro utente. Se l’utente non è specificato, per default, viene assunto l’utente root , ma verrà richiesto di inserire la password associata all’Amministratore detta “root password” e il prompt della linea di comandi diventa il simbolo #. Per tornare all’utente precedente si deve usare la combinazione di tasti Ctrl+D. Attenzione! All’Amministratore è riservata l’esecuzione dei comandi che riguardano la configurazione del sistema e la modifica dei parametri di ambiente comuni a tutti gli utenti. Questo è il motivo per il quale la possibilità di accesso al sistema in modalità superuser deve essere accuratamente controllata, inserendo (e modificando spesso) la password associata all’Amministratore. In Linux Ubuntu la password dell’utente root è bloccata. Quindi non è possibile fare un login come utente root, né usare il comando su per diventare utente root. Accedere come superuser Quando si è connessi come utente normale, è possibile ottenere i privilegi riservati all’Amministratore del sistema per la durata di un unico comando inserendo, prima del comando, la parola sudo (superuser do, esegui come superuser). La sintassi generale è: sudo comando In base a come è configurato il comando sudo potrebbe essere richiesta la password dell’utente. Per esempio: sudo adduser studente esegue come Amministratore di sistema il comando adduser per aggiungere il nuovo utente studente. Superuser L’accesso come superuser consente all’Amministratore del sistema di superare qualsiasi protezione di lettura, scrittura o esecuzione sui file di qualsiasi tipo. Al superuser spetta il compito di: • creare gli utenti • creare i gruppi • assegnare gli utenti ai gruppi • assegnare file, directory e programmi a un gruppo • cambiare nome a un gruppo • cancellare un utente • cancellare un gruppo Creare un nuovo utente Creare un nuovo account utente significa, in pratica, fornire: • un nome per l’utente (lo username con cui l’utente effettuerà il login) • una password
• una cartella chiamata home directory (che si trova in
/home e prende lo stesso nome dell’utente) Creare un nuovo utente: useradd Per creare un nuovo utente sul sistema operativo Linux si utilizza il comando useradd (o adduser) dalla linea comandi (terminale). La sintassi è: useradd [opzioni] nomeutente Il comando useradd può essere lanciato soltanto dall'utente superuser, ossia dall'amministratore del sistema. Esempi Per creare l'utente "studente", accedo come superuser e digito sul terminale il comando: useradd studente In alternativa accedo come utente normale e digito sul terminale: sudo useradd studente Opzioni di useradd Le opzioni più usate sono: -d dir Imposta la home directory dell'utente su dir. -s shell Imposta la shell di login dell'utente come shell. -g group Imposta il gruppo iniziale (predefinito) dell'utente su group, che può essere il nome del gruppo (o l’ID numerico del gruppo) che deve già esistere. -G group1, group2,... Rende l'utente un membro di altri gruppi già esistenti: group1, group2,... -m crea la directory nomeutente (se non è già esistente) sotto la directory home: /home/nomeutente Esempi con useradd Esempio: sudo useradd -m -g studenti stud1 Crea l’utente stud1 e la directory stud1 nella home: home/stud1, imposta il gruppo studenti come gruppo principale di appartenenza di stud1 Esempio: sudo useradd -d /home/studente -s /bin/bash -g LabInfo studente Crea l’utente studente e la directory studente nella home: home/studente, imposta /bin/bash come shell di login di studente e imposta il gruppo LabInfo come gruppo principale di appartenenza di studente Esempio: sudo useradd -m -g [gr_princ] –G [gr_agg] –s [shell] utente Cancellare un utente: userdel Per eliminare un utente (p. es. studente) sul sistema operativo Linux si utilizza il comando userdel (o deluser) come superuser: userdel studente In questo caso per eseguire la cancellazione di un utente è necessario avere i permessi dell’Amministratore di sistema. In alternativa si può utilizzare il comando: sudo userdel studente Questo comando non elimina i file nella directory home dell'utente a meno che, non si aggiunga l'opzione –r: sudo userdel –r studente L’opzione –r specifica che la cartella /home/studente verrà cancellata. Cancellare un utente: osservazioni L’utente non può essere eliminato mentre è connesso. Un’operazione non necessaria, ma che sarebbe opportuno eseguire ogni volta che si elimina un utente, è verificare che non esistano file sul disco aventi come proprietario l’utente appena eliminato. Modificare un profilo utente: usermod Per modificare un profilo utente (p. es. studente) sul sistema operativo Linux si utilizza il comando usermod come superuser. La sintassi è: usermod [opzioni] nomeutente In alternativa si può utilizzare il comando: sudo usermod [opzioni] nomeutente Questo comando modifica l'account dell'utente specificato in vari modi, ad esempio : -d newdir Cambia la home directory dell'utente in newdir. -l username Cambia il nome di login dell'utente in username. -s newshell Cambia la shell di login dell'utente in newshell. Modificare un profilo utente: usermod -g newgroup Cambia il gruppo iniziale (predefinito) dell'utente in newgroup, che può essere il nome del gruppo (o l’ID numerico del gruppo) e che deve già esistere. -G gruppo1, gruppo2,... Modifica i gruppi di appartenenza dell'utente. Se, in precedenza, l'utente apparteneva ad altri gruppi, che non vengono specificati, l'utente non apparterrà più a tali gruppi. -L Disabilita (lock) l'account in modo che l'utente non possa effettuare il login. -U Sblocca (unlock) l'account dopo un'operazione di blocco (-L). Creare o modificare una password: passwd Il comando passwd consente di creare o modificare una password. La sintassi è la seguente: passwd [opzioni] [nomeutente] Un utente normale può creare o modificare la propria password digitando il comando passwd Il sistema chiede di inserire una password che non verrà visualizzata sul monitor mentre si digita da tastiera. Se si utilizzano i privilegi da Amministratore di sistema è possibile cambiare la password di un altro utente: sudo passwd nomeutente Creare e gestire un gruppo Un gruppo è un insieme di account utente che vengono trattati come una singola entità: se un gruppo viene autorizzato a compiere determinate azioni (per esempio modificare un file), allora tutti i membri di quel gruppo potranno intraprendere quella azione. Ogni utente appartiene ad uno o più gruppi che sono definiti in un file di sistema: /etc/group Il file /etc/group contiene le seguenti informazioni: group name : password : GID : list of users Dove GID (Group Identifier) è l’identificativo numerico del gruppo. Creare e gestire un gruppo Il comando groupadd (o addgroup) crea un nuovo gruppo e memorizza le informazioni nel file /etc/group. La sintassi è la seguente: groupadd [options] group In pratica il comando groupadd ha la stessa sintassi di adduser. Nella maggior parte dei casi è opportuno usare l'opzione -f per impedire la creazione di duplicati di gruppi già esistenti: Per esempio: sudo groupadd -f friends Se il gruppo indicato (friends) esiste già, viene segnalato l’errore e il gruppo non viene creato. Creare e gestire un gruppo Il comando groups visualizza i gruppi di appartenenza di un utente. La sintassi è la seguente: groups [usernames] Esempio: whoami studente groups studente LabInfo Visualizza il gruppo LabInfo a cui appartiene l’utente corrente (studente) Creare e gestire un gruppo Esempio: groups docente root docente : docente users root : root bin daemon sys adm disk wheel src Visualizza il gruppo users a cui appartiene l’utente docente e i gruppi a cui appartiene il root Eliminare un gruppo: groupdel Il comando groupdel (o delgroup) elimina un gruppo esistente. La sintassi è la seguente: groupdel group Questi comandi hanno la stessa sintassi di userdel (o deluser) e sono utilizzati per rimuovere i gruppi dal sistema. Per rimuovere il gruppo studente occorre usare il comando: groupdel studente Attenzione: per eliminare un gruppo, è necessario avere eliminato in precedenza tutti gli utenti appartenenti ad esso. Come per gli utenti, è buona norma, ogni qualvolta si elimina un gruppo, verificare che non esistano file aventi come gruppo proprietario quello appena eliminato. Modificare un gruppo: groupmod Se si vuole invece modificare un gruppo si deve utilizzare il comando groupmod. La sintassi è la seguente: groupmod [options] group Il comando groupmod modifica il gruppo dato, cambiandone il nome o l’ID. Per esempio: sudo groupmod -n nuovonome studente Modifica il nome del gruppo studente in nuovonome. Il comando groupmod non influisce su alcun file di proprietà di questo gruppo: semplicemente modifica l'ID o il nome nei record del sistema. Database utenti Le informazioni degli utenti locali sono contenute nel file: /etc/passwd Ogni riga del file si riferisce ad un utente con le seguenti informazioni: account:password:UID:GID:GECOS:home:shell • account è il nome utente • password è la password utente • UID è l’identificativo numerico dell’utente • GID è l’identificativo numerico del gruppo principale • GECOS opzionale-informazioni utente • home è il percorso cartella utente • shell è l’interprete dei comandi utilizzato Utenti e gruppi Prima di creare utenti e gruppi è bene: • Definire quanti e quali gruppi possono essere utili all’ambito in cui verranno utilizzati • Creare i gruppi • Creare gli utenti assegnando uno o più gruppi • Assegnare una password ad ogni utente E’ sempre possibile apportare modifiche a utenti e gruppi, con gli appositi comandi. Utenti e gruppi Prima di creare utenti e gruppi è bene: • Definire quanti e quali gruppi possono essere utili all’ambito in cui verranno utilizzati • Creare i gruppi • Creare gli utenti assegnando uno o più gruppi • Assegnare una password ad ogni utente E’ sempre possibile apportare modifiche a utenti e gruppi, con gli appositi comandi. Comandi chown, chgrp, chmod In Linux è possibile: • cambiare il proprietario di un file o di una directory con il comando chown • cambiare il gruppo proprietario di un file o di una directory con il comando chgrp • cambiare le autorizzazioni di un file o di una directory utilizzando il comando chmod Modificare il proprietario: chown Il comando chown (change owner) permette di modificare l’utente e il gruppo proprietari di un file o di una directory. La sintassi è la seguente: chown [options] user_spec files Dove il parametro user_spec può essere specificato in diversi modi. Per esempio: se si vuole rendere l'utente studente proprietario di diversi file e una directory, si esegue: sudo chown studente myfile myfile2 mydir Modificare il proprietario: chown Per esempio, si crei un file di testo (vuoto) con il nome rubrica.txt: touch rubrica.txt e si verifichi, con il comando ls, quali siano i proprietari di questo file: ls –la rubrica.txt Se si vuole che l’utente studente diventi il proprietario del file rubrica.txt, occorre scrivere il comando: sudo chown studente rubrica.txt Si osservi che l’utente indicato deve essere già esistente: in caso negativo viene visualizzato un errore. Modificare il proprietario: chown Nel caso in cui si voglia assegnare anche il gruppo (per esempio classe3CI), si usa la seguente sintassi: sudo chown studente:classe3CI rubrica.txt Questo metodo può essere utilizzato anche nel caso in cui si voglia modificare solamente il gruppo e lasciare invariato l’utente proprietario: sudo chown :classe3CI rubrica.txt Se si vogliono modificare i proprietari di più file (per esempio una cartella e tutti i file contenuti in essa) è necessario utilizzare l’opzione –R. Modificare il gruppo: chgrp Il comando chgrp (change group) permette di modificare solo il gruppo proprietario di un file o di una directory. La sintassi è la seguente: chgrp [options] group_spec files Dove il parametro group_spec può essere specificato in diversi modi. Per esempio: se si vuole rendere il gruppo studente proprietario di diversi file e una directory, si esegue: sudo chgrp studente myfile myfile2 mydir Si osservi che il comando: sudo chgrp classe3CI rubrica.txt è equivalente a: sudo chown :classe3CI rubrica.txt Modificare i permessi: chmod I comandi più importanti per la gestione dei permessi sui file sono chmod e umask Il comando chmod (change mode) modifica gli attributi di un file o di una directory per i permessi in lettura, scrittura ed esecuzione (rwx). La sintassi è la seguente: chmod [options] permissions files Dove l’argomento permissions può assumere forme diverse: • --reference=file imposta gli stessi permessi di un altro dato file. • Un numero ottale, lungo fino a quattro cifre, che specifica il i permessi assoluti del file in bit • Una o più stringhe che specificano autorizzazioni assolute o relative Modificare i permessi: chmod Vedremo solo la terza forma che ha la seguente sintassi: chmod tipoutente opzione permesso pathname dove tipoutente può essere uno dei caratteri: • u per user (cioè il proprietario del file o della directory) • g per group • o per others • a per all (è il tipo utente di default). L’opzione può essere: + per aggiungere un permesso – per togliere un permesso = per sostituire i permessi esistenti con i nuovi Modificare i permessi: chmod Il permesso è indicato con le seguenti lettere: r (read) per un file consente la lettura del suo contenuto; per una directory consente solo di listare i nomi dei file e delle directory in essa contenuti. w (write) per un file consente la modifica di un file; per una directory consente l’aggiunta di nuovi file nella directory e la cancellazione di file in essa presenti. x (execute) per un file lo rende eseguibile; per una directory consente una lista dettagliata dei file (purché sia presente anche il permesso r); inoltre i file in essa contenuti possono essere letti e modificati in accordo con i permessi sui singoli file. Modificare i permessi: chmod Ad esempio: ug+rw aggiunge i permessi di lettura e scrittura per l'utente e il gruppo, a-x (o semplicemente -x) rimuove il permesso di esecuzione per tutti o=r imposta direttamente il permesso di sola lettura per gli “altri utenti”. Queste stringhe possono essere combinate separandole con delle virgole, ad esempio: ug+rw,a-x Modificare i permessi: chmod Esempi: chmod u=rx *.prg il comando consente all’utente proprietario di tutti i file, con estensione .prg, di leggere ed eseguire i file. Il permesso di scrittura eventualmente esistente viene eliminato; inoltre non vengono cambiati i permessi esistenti per gli altri utenti e il cambiamento non riguarda gli altri file presenti nella directory. chmod +r arch1 attribuisce a tutti il permesso di lettura sul file arch1; gli eventuali altri permessi esistenti non vengono cambiati. La lettura del file da parte di altri utenti deve essere resa possibile assegnando il permesso x alla directory che contiene il file. Modificare i permessi: chmod Esempi: chmod +rx . concede a tutti gli utenti il permesso di lettura e ricerca all’interno della directory corrente, indicata con il punto . chmod g–w arch2 toglie ai membri del gruppo la possibilità di modificare il file arch2. Il comando ls -l consente di verificare i cambiamenti apportati