Lezione n.3 del 19/10/2007 ========================== Argomenti --------- * Interazione con gli utenti - umask - su, sudo * Comandi per la gestione degli utenti - adduser - rmuser * Informazioni su utenti e gruppi - utenti: file /etc/passwd . superutente . utenti di sistema . utenti normali - password criptate: file /etc/master.passwd . funzioni hash e password . opzione nologin - gruppi: file /etc/group . appartenenza default . modifica/aggiornamento appartenenza - comandi correlati . whoami, groups, id * Inserimento manuale utenti - modifica file di configurazione/utenti gruppi - creazione home directory e assegnazione permessi Riferimenti ::::::::::: * Dispensa 'Amministrazione di un Sistema UNIX in Rete', Capitolo 8 * Dispensa 'Supplementi per il Sistema FreeBSD ed Integrazioni', Capitolo 4 * Cryptographic hash function, Wikipedia http://en.wikipedia.org/wiki/Cryptographic_hash_function * Cryptographic salt, Wikipedia http://en.wikipedia.org/wiki/Salt_%28cryptography%29 Esercizio --------- * Eseguire il login come utente root * Creare utilizzando il comando 'adduser -s' un utente 'pippo' (impostare come home la cartella /tmp/pippo) * Creare manualmente un utente 'pluto' (impostare come home la cartella /tmp/pluto) * 'pluto' puo` creare file nella home di 'pippo'? In caso negativo modificare i diritti delle home di 'pippo' e 'pluto' in modo che i due utenti possano fare tale operazione a vicenda * Creare un nuovo gruppo 'floppyusr' a cui deve appartenere l'utente 'pluto' * 'pluto' appartiene al nuovo gruppo (usare il comando 'id')? Eseguire logout e nuovo login di 'pluto'. Cosa cambia? * Creare una cartella /tmp/floppy appartenente al gruppo 'floppyusr' Assegnare a questa cartella i diritti in modo che: - i membri del gruppo 'floppyusr' abbiano accesso illimitato - a tutti gli altri utenti non sia consentito alcun tipo di accesso Soluzione --------- Comandi ::::::: * vipw - aggiungere la riga pluto:*:1002:1002::0:0:Pluto:/tmp/pluto:/usr/local/bin/bash *Attenzione* scegliere come ID utente e ID gruppo valori non in uso - passwd pluto - emacs /etc/group aggiungere la riga pluto:*:1002: *Attenzione* l'ID di gruppo deve essere lo stesso del primo punto - mkdir /tmp/pluto - cp /usr/share/skel/* /tmp/pluto - cp /usr/share/skel/.* /tmp/pluto - chown -R pluto:pluto /tmp/pluto - chmod -R u+rwx,g+rx,o+rx /tmp/pluto (g ed o a piacere) * su root (oppure logout, login ) emacs /etc/group - aggiungere la seguente riga floppyusr:*:1003:pluto *Attenzione* scegliere come ID gruppo un valore non in uso * su root (oppure logout, login ) mkdir /tmp/floppy - chown :floppyusr /tmp/floppy - chmod g+rwx,o-rwx /tmp/floppy Risposte alle domande ::::::::::::::::::::: * 'pluto' non puo` creare file nella home di 'pippo' con i permessi default. Quindi, dato che non appartengono allo stesso gruppo, bisogna aggiungere il permesso in scrittura per la sezione 'altri' - chmod o+w /tmp/pluto - chmod o+w /tmp/pippo Una soluzione migliore consiste nel definire un gruppo a cui appartengono i due utenti 'pluto' e 'pippo', assegnare tale gruppo alle home dei due utenti e abilitare il diritto di scrittura (gruppo) sulle stesse cartelle. * Le nuove impostazioni sui gruppi diventano effettive al nuovo login, come si puo` osservare dalla segente sequenza di comandi: - id - logout - login (pluto) - id L'output prodotto dal comando 'id' e` diverso nei due casi (solo nel secondo viene mostrato il gruppo al quale 'pluto' e` stato aggiunto).