Red Hat Linux 7.0: The Official Red Hat Linux Reference Guide | ||
---|---|---|
Indietro | Capitolo 2. Amministrazione del sistema | Avanti |
Gestire gli utenti ed i gruppi può essere faticoso. Red Hat Linux ha alcuni strumenti e convenzioni che rendono più semplice questa gestione.
Mentre potete utilizzare useradd per creare un nuovo utente dal prompt di shell, il modo più semplice per gestire gli utenti ed i gruppi è tramite l'utility linuxconf (Vedasi Capitolo Capitolo 3).
In seguito vedremo come vengono gestiti utenti e gruppi.
La tabella Tabella 2-1 elenca gli utenti standard creati dal processo di installazione (questo è il contenuto del file /etc/passwd). Il gruppo id (GID) in questa tabella è il gruppo primario dell'utente. Guardate la la sezione Gruppi di utenti privati per maggiori dettagli su come vengono gestiti i gruppi.
Tabella 2-1. Utenti Standard
User | UID | GID | Home Directory | Shell |
---|---|---|---|---|
root | 0 | 0 | /root | /bin/bash |
bin | 1 | 1 | /bin | |
daemon | 2 | 2 | /sbin | |
adm | 3 | 4 | /var/adm | |
lp | 4 | 7 | /var/spool/lpd | |
sync | 5 | 0 | /sbin | /bin/sync |
shutdown | 6 | 0 | /sbin | /sbin/shutdown |
halt | 7 | 0 | /sbin | /sbin/halt |
8 | 12 | /var/spool/mail | ||
news | 9 | 13 | /var/spool/news | |
uucp | 10 | 14 | /var/spool/uucp | |
operator | 11 | 0 | /root | |
games | 12 | 100 | /usr/games | |
gopher | 13 | 30 | /usr/lib/gopher-data | |
ftp | 14 | 50 | /var/ftp | |
nobody | 99 | 99 | / |
La tabella Tabella 2-2, elenca i gruppi standard nel modo in cui sono stati creati dal processo di installazione (questo è essenzialmente il file /etc/group).
Tabella 2-2. Gruppi Standard
Group | GID | Members |
---|---|---|
root | 0 | root |
bin | 1 | root, bin, daemon |
daemon | 2 | root, bin, daemon |
sys | 3 | root, bin, adm |
adm | 4 | root, adm, daemon |
tty | 5 | |
disk | 6 | root |
lp | 7 | daemon, lp |
mem | 8 | |
kmem | 9 | |
wheel | 10 | root |
12 | ||
news | 13 | news |
uucp | 14 | uucp |
man | 15 | |
games | 20 | |
gopher | 30 | |
dip | 40 | |
ftp | 50 | |
nobody | 99 | |
users | 100 |
Red Hat Linux utilizza lo schema user private group (UPG), che rende i gruppi UNIX molto più semplici da amministrare. Lo schema UPG non aggiunge nè cambia niente nel modo in cui lo UNIX standard tratta i gruppi. Offre semplicemente una nuova convenzione nella gestione dei gruppi. Ogni qualvolta create un nuovo utente, in automatico, egli ha un gruppo unico. Lo schema funziona come segue:
Ogni utente ha il suo gruppo primario, del quale è membro.
La umask UNIX di default è 022, ed evita che altri utenti e altri membri di un gruppo primario di utenti abbiano i diritti per modificare i file. Poichè ogni utente ha il proprio gruppo privato nello schema UPG, questa "protezione di gruppi" non è strettamente necessaria. Una umask 002 impedirà agli utilizzatori di modificare i file privati di altri utenti. La umask è situata in /etc/profile.
Se inizializzate il bit SETGID su una directory (con chmod g+s directory), i file creati in questa directory avranno il loro gruppo configurato come il gruppo della directory.
La maggior parte delle organizzazioni IT hanno la consuetudine di creare un gruppo per ogni grande progetto ed assegnare alle persone il gruppo in cui essi stanno lavorando. La gestione dei file è un compito non semplice, perché quando qualcuno crea un file, questo riceve come propietà quelle del gruppo a cui appartiene. Quando una singola persona lavora su progetti multipli, diventa difficile creare file appartenenti al gruppo associato a quel progetto. Nello schema UPG, i gruppi sono assegnati automaticamente ai file sulla base project-by-project, il che rende molto semplice trattare progetti di gruppo.
Supponiamo di avere un progetto chiamato devel con molte persone che utilizzano i file del progetto in una directory devel. Formate un gruppo chiamato devel, utilizzando chgrp in modo che la directory devel appartenga al gruppo devel, ed aggiungete tutti gli utenti del progetto al gruppo devel. Ora questi ultimi saranno in grado di utilizzare i file del progetto devel e di creare nuovi file nella directory devel sempre con i permessi del gruppo devel, e pertanto tutti gli utenti del gruppo potranno modificare questi file.
Se avete progetti multipli come devel, ed utenti che lavorano su diversi progetti, questi non dovranno mai cambiare la loro umask o gruppo quando si muovono da un progetto ad un altro. Il bit setgid della directory principale di ogni progetto "seleziona" il gruppo corretto.
Poiché la directory HOME di ogni utente appartiene all'utente e al suo gruppo privato, è opportuno settare il bit SETGID sulla home directory di ogni utente. Tuttavia, i file vengono creati con il gruppo primario dell'utente e quindi la parte SETGID sarebbe ridondante.
Sebbene UPG non sia nuovo per Red Hat Linux 7.0, molte persone hanno dubbi a tal proposito, come per esempio sul perché UPG sia necessario. Cercheremo di fornire maggiori dettagli con un esempio.
Avete degli utenti che lavorano con dei file nella directory /usr/lib/emacs/site-lisp, e pertanto volete autorizzare questi utenti, non tutti, a muoversi all'interno della directory.
Digitate il seguente comando:
chown -R root.emacs /usr/lib/emacs/site-lisp |
Per permettere agli utenti di creare realmente file all'interno della directory, eseguite il seguente comando:
chmod 775 /usr/lib/emacs/site-lisp |
Ma quando un utente crea un nuovo file, viene assegnato al gruppo di default (di solito users). Per evitare che ciò accada, digitate:
chmod 2775 /usr/lib/emacs/site-lisp |
Ma il nuovo file deve avere i permessi 664 affinché un altro utente del gruppo emacs sia in grado di modificarlo. Per far questo, è necessario che umask sia uguale a 002.
Tutto sembra funzionare bene, a parte il fatto che se il vostro gruppo di default è "users", ogni file che create nella vostra home directory potrebbe essere letto da tutti gli utenti del gruppo "users" (di solito da tutti).
Per evitare che ciò accada, fate in modo che ogni utente abbia un "gruppo privato" come gruppo di defalult.
A questo punto, impostando di default l'umask a 002 , ed assegnado a ciascun utente un gruppo privato di default, potete facilmente formare gruppi da cui gli utenti possono trarre vantaggio senza fare nulla di speciale. Semplicemente create il gruppo, aggiungete gli utenti, ed eseguite i comandi chown e chmod sopra indicati sulle direttive di gruppo.