Difference between revisions of "Users and groups (Italiano)"
(pagina allineata) |
m (modificato menu in italiano) |
||
Line 9: | Line 9: | ||
[[zh-TW:Users and Groups]] | [[zh-TW:Users and Groups]] | ||
− | {{Related articles start}} | + | {{Related articles start (Italiano)}} |
{{Related|DeveloperWiki:UID / GID Database}} | {{Related|DeveloperWiki:UID / GID Database}} | ||
{{Related|polkit}} | {{Related|polkit}} |
Revision as of 12:48, 2 January 2014
zh-CN:Users and Groups zh-TW:Users and Groups
Gli utenti e i gruppi sono usati nei sistemi GNU/Linux per il controllo degli accessi - ciò permette di determinare quali utenti e servizi sono autorizzati ad accedere ai file, alle cartelle oppure alle periferiche presenti sul sistema. Linux offre dei sistemi relativamente semplici di default. Per avere delle opzioni avanzate, consultare ACL e LDAP Authentication.
Contents
Panoramica
Un utente è chiunque utilizzi un computer. In questo caso, ci si riferisce ai nomi che rappresentano questi utenti. Questi utenti possono essere Mary o Bill e possono utilizzare il nome di Dragonlady o Pirate al posto del loro nome reale. L'importante è che sul sistema sia presente un nome per ogni account creato, e questo nome sarà quello necessario per accedevi. Anche alcuni servizi vengono eseguiti usando account utente limitati o privilegiati.
La gestione degli utenti è stata creata per motivi di sicurezza per limitare gli accessi in determinati modi specifici. Il superutente (root) ha accesso completo al sistema operativo e la sua configurazione, è destinato solo per uso amministrativo. Gli utenti non privilegiati possono usare i programmi su e sudo per un utilizzo controllato dei privilegi.
Può capitare che una persona abbia più di un account, a patto che utilizzi nomi diversi per ogni account. Inoltre, ci sono alcuni nomi riservati e non dovranno essere usati, come "root".
Infine, gli utenti possono essere raggruppati in un "gruppo", e gli utenti possono scegliere di far parte di un gruppo per usufruire dei privilegi che esso garantisce.
Permessi di accesso e proprietà
Da In UNIX ogni cosa è un File::
- Il sistema UNIX è il risultato di alcune idee e concetti unificatori che hanno modellato il suo design, la sua interfaccia utente, la sua cultura ed evoluzione. Una tra le più importanti è probabilmente il mantra: "ogni cosa è un file", largamente considerata come uno dei punti basilari di UNIX.
- Questo concetto chiave di design consiste nel fornire un paradigma unificato per l'accesso ad un ampio spettro di risorse input/output: documenti, cartelle, dischi rigidi, lettori CD, modem, tastiere, stampanti, monitor, terminali e perfino alcune comunicazioni tra processi o di rete. Il trucco è fornire un'astrazione comune per tutte queste risorse, ognuna delle quali fu chiamata "file" dai padri di UNIX. Dato che ogni "file" è accessibile per mezzo delle stesse API, si può usare lo stesso set di comandi di base per accedere in lettura/scrittura ad un disco, una tastiera, un documento o un dispositivo di rete.
Da Estensione dell'Astrazione File di UNIX per il Networking generico:
- Un'astrazione fondamentale, efficacissima e coerente, fornita in UNIX e sistemi operativi compatibili, è l'astrazione file. Molti servizi e interfacce per i dispositivi nei sistemi operativi sono implementati per fornire una metafora di file o file system alle applicazioni. Questo permette nuovi utilizzi per le applicazioni esistenti, ed inoltre ne aumenta fortemente le capacità — semplici strumenti con usi specifici possono, con l'astrazione file di UNIX, essere usati in nuove maniere. Un modesto programma come cat, disegnato per leggere uno o più file e mostrare il loro contenuto nello standard output, può essere usato per leggere l'input/output di dispositivi per mezzo di speciali file dispositivo, di solito posti dentro la cartelle
/dev
. Su molti sistemi, la registrazione e la riproduzione audio può essere semplicemente eseguita con i comandi, rispettivamente, "cat /dev/audio > myfile
" e "cat myfile > /dev/audio
".
Ogni file in un sistema GNU/Linux appartiene a un utente e a un gruppo. In aggiunta, ci sono tre tipi di permessi di accesso: il permesso di lettura, di scrittura, e di esecuzione. Differenti tipi di accesso possono essere applicati all'utente proprietario, al gruppo proprietario oppure agli altri(coloro che non ne hanno il possesso). Si possono visualizzare i proprietari ed i permessi dei file usando l'opzione long lisintg del comando ls
:
$ ls -l /boot/
total 13740 drwxr-xr-x 2 root root 4096 Jan 12 00:33 grub -rw-r--r-- 1 root root 8570335 Jan 12 00:33 initramfs-linux-fallback.img -rw-r--r-- 1 root root 1821573 Jan 12 00:31 initramfs-linux.img -rw-r--r-- 1 root root 1457315 Jan 8 08:19 System.map26 -rw-r--r-- 1 root root 2209920 Jan 8 08:19 vmlinuz-linux
Nella prima colonna sono visualizzati i permessi dei file(ad esempio, il file initramfs-linux.img
ha i permessi -rw-r--r--
). Nella terza e la quarta sono visualizzati rispettivamente l'utente ed il gruppo proprietari. Nello stesso esempio tutti i file sono posseduti dall'utente root e dal gruppo root.
$ ls -l /media/
total 16 drwxrwx--- 1 root vboxsf 16384 Jan 29 11:02 sf_Shared</nowiki>
In questo esempio, la cartella sf_Shared
è posseduta dall'utente root e dal gruppo vboxsf. Si possono ottenere maggiori informazioni riguardo ai proprietari ed ai permessi dei file usando il comando stat
:
L'utente proprietario:
$ stat -c %U /media/sf_Shared/
root
Il gruppo proprietario:
$ stat -c %G /media/sf_Shared/
vboxsf
Permessi di accesso:
$ stat -c %A /media/sf_Shared/
drwxrwx---
I permessi di accesso sono visualizzati in tre gruppi di caratteri, rappresentano rispettivamente i permessi dell'utente proprietario, del gruppo proprietario, e degli altri. Ad esempio i la serie di caratteri -rw-r--r--
indicano che l'utente proprietario ha i permessi di lettura e scrittura, ma non di esecuzione (rw-
), mentre gli utenti appartenenti al gruppo proprietario e gli altri hanno solo il permesso di lettura (r--
e r--
). Invece, la serie di caratteri drwxrwx---
indicano che l'utente proprietario e gli utenti appartenenti al gruppo proprietario hanno i permessi di lettura, scrittura ed esecuzione (rwx
e rwx
), mentre gli altri utenti viene negato ogni tipo di accesso (---
). Il primo carattere indica il tipo di file.
Per elencare i file posseduti da un utente o un gruppo con il comando find
:
# find / -group [group]
# find / -user [user]
L'utente ed il gruppo proprietario dei file possono essere cambiati con il comando chown
(change owner). I permessi di accesso ai file possono essere cambiati con il comando chmod
(change mode).
Consultare man chown, man chmod, e Linux file permissions per maggiori informazioni.
Lista dei file
File | Funzione |
---|---|
/etc/shadow |
Informazioni riservate degli account utente |
/etc/passwd |
Informazioni degli account utente |
/etc/gshadow |
Contiene informazioni riservate dei gruppi di utenti |
/etc/group |
Definisce a quali gruppi appartengono i vari utenti |
/etc/sudoers |
Lista di chi può eseguire cosa con sudo |
/home/* |
Cartelle home |
Gestione degli utenti
Per visualizzare gli utenti connessi al sistema è possibile usare il comando who
.
Per aggiungere un nuovo utente, usare il comando useradd
:
# useradd -m -g [gruppo_iniziale] -G [gruppi_aggiuntivi] -s [login_shell] [nomeutente]
-m
crea la carella home nel percorso/home/[nomeutente]
; all'interno della cartella home, un utente non-root può salvare file, cancellarli ed installare programmi.-g
indica il nome o il numero del gruppo principale di appartenenza dell'utente; il gruppo deve esistere; se non viene specificato, il comportamento diuseradd
dipenderà dalla variabile di ambienteUSERGROUPS_ENAB
definita in/etc/login.defs
.-G
precede una lista di gruppi aggiuntivi a cui l'utente appartiene; ogni gruppo deve essere separato dal successivo da una virgola, senza usare mai gli spazi; di default non è previsto nessun gruppo aggiuntivo.-s
definisce il percorso ed il nome del file della shell di login dell'utente; dopo che il processo di avvio è completo, la shell di login di default è quella definita qui; assicurarsi che la shell indicata sia installata se si sceglie una shell diversa da bash.
Un esempio per un classico sistema desktop, il comando per l'aggiunta di un utente chiamato archie specificando bash come shell di login:
# useradd -m -g users -G wheel -s /bin/bash archie
Per aggiungere l'utente ad altri gruppi in un secondo momento:
# usermod -aG [gruppi_aggiuntivi] [nome_utente]
In alternativa , può essere utilizzato gpasswd . Anche se il nome utente può essere aggiunto solo ( o rimossa ) da un gruppo alla volta .
# gpasswd --add [nome_utente] [gruppo]
Per inserire le informazioni dell'utente per il campo GECOS (es. il nome completo), digitare:
# chfn [nomeutente]
(in questo modo chfn
verrà eseguito in modo interattivo).
Per creare la password dell'utente, digitare:
# passwd [nomeutente]
Per contrassegnare la password di un utente come scaduta, imponendo loro di crearne una nuova la prima volta che effettuano il log-in, digitare:
# chage -d 0 [username]
Gli account utente possono essere rimossi tramite il comando userdel
.
# userdel -r [nomeutente]
L'opzione -r
specifica che la cartella home
e la coda (spool) della posta dell'utente verranno cancellati.
Database Utente
Le informazioni degli utenti locali sono contenute nel file /etc/passwd
. Per visualizzare gli account utente presenti sul sistema:
$ cat /etc/passwd
Ogni riga del file fa riferimento ad un account, e segue questo schema:
account:password:UID:GID:GECOS:cartella_home:shell
dove
account
è il nome utentepassword
è la passrword dell'utenteUID
è l'identificativo numerico dell'utenteGID
è l'identificativo numerico del gruppo principale dell'utenteGECOS
questo campo è opzionale e contiene le informazioni aggiuntive dell'utente; di solito contiene il nome completo dell'utentecartella_home
contiene il percorso della cartella$HOME
dell'utenteshell
indica l'interprete dei comandi utilizzato dall'utente (il default è/bin/sh
)
passwd
è leggibile da tutti gli utenti, per cui memorizzare le password (sia criptate che altrimenti) in questo file non sarebbe sicuro. Per questo il campo password
contiene il carattere segnaposto x
, il quale indica che la password criptata è salvata nel file ad accesso limitato /etc/shadow
.Gestione dei gruppi
Nel file /etc/group
sono definiti i gruppi presenti sul sistema (man group
per maggiori informazioni).
Per visualizzare l'appartenenza ai gruppi con il comando groups
:
$ groups [user]
Se il parametro user
viene omesso, verranno mostrate i gruppi a cui appartiene l'utente corrente.
Il comando id
fornisce informazioni aggiuntive, come l'UID dell'utente ed i GID associati:
$ id [user]
Per elencare tutti i gruppi del sistema:
$ cat /etc/group
Per creare un nuovo gruppo usare il comando groupadd
:
# groupadd [group]
Aggiungere un utente ad un gruppo con il comando gpasswd
:
# gpasswd -a [user] [group]
Per eliminare un gruppo esistente:
# groupdel [group]
Per rimuovere un utente da un gruppo:
# gpasswd -d [user] [group]
Se l'utente è ancora connesso al sistema, sarà necessario che si disconnetta e acceda nuovamente al sistema per far sì che le modifiche abbiano effetto.
Lista di gruppi
Gruppi per gli utenti
- Nessuno di questi gruppi è necessario per autorizzazioni desktop standard come l'audio, grafica 3D, stampa, montaggio, ecc..., finché la sessione logind non è interrotto (si veda e si controlli i permessi sulla sessione).
Gli utenti di pc Workstation/desktop sono soliti aggiungere i propri utenti non-root ai seguenti gruppi per permettere l'accesso alle periferiche e facilitare l'amministrazione del sistema:
Gruppo | File interessati | Scopo |
---|---|---|
camera | Accesso alle fotocamere digitali. | |
floppy | /dev/fd[0-9] |
Accesso ai lettori floppy. |
games | /var/games |
Concede l'accesso ad alcuni giochi. |
locate | /usr/bin/locate , /var/lib/locate , /var/lib/mlocate , /var/lib/slocate |
Permette l'uso del comando updatedb. |
networkmanager | Richiesto per connettersi via wireless se si usa NetworkManager. Questo gruppo non è incluso in Arch di default, sarà quindi necessario aggiungerlo manualmente. | |
rfkill | /dev/rfkill |
Permette di controllare lo stato di alimentazione dei dispositivi wireless (utilizzato dal pacchetto rfkill). |
users | Gruppo standard degli utenti. | |
uucp | /dev/ttyS[0-9] , /dev/tts/[0-9] |
Permette di accedere a periferiche seriali ed USB come modem, controller, porte seriali/RS232. |
wheel | Gruppo di Amministrazione, comunemente utilizzato per consentire l'accesso alle utility sudo e su ( non lo usa di default), , configurabili in /etc/pam.d/su and /etc/pam.d/su-l ).
|
Gruppi di sistema
I seguenti gruppi sono usati per scopi di sistema ed è difficile che siano utili agli utenti alle prime armi con Arch:
- Alcuni di questi non sono più necessari quando è in esecuzione un sistema con systemd. Si veda Systemd: Informazioni_supplementari.
Gruppo | File interessati | Scopo |
---|---|---|
audio | /dev/audio , /dev/snd/* , /dev/rtc0 |
Accesso diretto all'hardware sonoro , per tutte le sessioni (requisito imposto sia da ALSA che da OSS). Le sessioni locali hanno già la possibilità di modificare i controlli del mixer audio e l'accesso. |
avahi | ||
bin | none | Storico |
clamav | /var/lib/clamav/* , /var/log/clamav/* |
Usato da Clam AntiVirus. |
daemon | ||
dbus | /var/run/dbus/* |
|
disk | /dev/sda[1-9] , /dev/sdb[1-9] |
Accesso alle periferiche a blocchi che non appartengono ai gruppi optical, floppy e storage. |
ftp | /srv/ftp |
usato da server FTP come Proftpd |
fuse | Utilizzato da fuse per permettere il montaggio da utente. | |
gdm | Cartella di autorizzazione del server X (ServAuthDir) | gruppo di GDM. |
http | ||
kmem | /dev/port , /dev/mem , /dev/kmem |
|
log | /var/log/* |
Accesso ai file di log in /var/log .
|
lp | /etc/cups , /var/log/cups , /var/cache/cups , /var/spool/cups |
Accesso alle stampanti; permette all'utente di gestire le stampe. |
/usr/bin/mail |
||
mem | ||
mpd | /var/lib/mpd/* , /var/log/mpd/* , /var/run/mpd/* , opzionalmente cartelle di musica |
gruppo di MPD. |
network | Pemette di cambiare le impostazioni di rete nel caso si usino programmi come NetworkManager. | |
nobody | Gruppo senza privilegi. | |
ntp | /var/lib/ntp/* |
Gruppo di NTPd. |
optical | /dev/sr[0-9] , /dev/sg[0-9] |
Accesso ai dispositivi ottici come lettori CD o DVD. |
policykit | Gruppo di PolicyKit. | |
power | Permette l'uso del programma pm-utils (sospensione, ibernazione...) e dei programmi di controllo del risparmio energetico. | |
root | /* |
Accesso completo al sistema ed alla sua amministrazione (root, admin). |
scanner | /var/lock/sane |
Accesso agli scanner. |
smmsp | Gruppo di sendmail. | |
storage | Accesso ai dischi rimovibili come dischi esterni USB, pennine USB, lettori MP3; consente all'utente di montare le periferiche di archiviazione. | |
sys | Permette l'amministrazione delle stampanti in CUPS. | |
systemd-journal | /var/log/journal/* |
Fornisce accesso completo ai log di Systemd. In caso contrario, vengono visualizzati solo i messaggi generati dagli utenti. |
tty | /dev/tty , /dev/vcc , /dev/vc , /dev/ptmx |
Ad esempio garantisce l'accesso a /dev/ACMx
|
vboxsf | cartelle condivise delle macchine virtuali | Usato da VirtualBox. |
video | /dev/fb/0 , /dev/misc/agpgart |
Accesso alle periferiche di acquisizione video, DRI/3D accelerazione hardware (X può essere usato anche senza appartenere a questo gruppo). Le sessioni locali hanno già la possibilità di utilizzare l'accelerazione hardware e di acquisizione video. |
Gruppi per software
I seguenti gruppi permettono ai propri membri di usare software specifici:
Gruppo | File interessati | Scopo |
---|---|---|
adbusers | file dei dispositivi in /dev/ |
Diritti di acesso al Debugging Bridge di Android. |
cdemu | /dev/vhba_ctl |
Permesso per l'utilizzo dell'emulazione con cdemu. |
thinkpad | /dev/misc/nvram |
Usato dagli utenti di ThinkPad per accedere a programmi come tpb. |
vboxusers | /dev/vboxdrv |
Permette l'uso del programma VirtualBox. |
vmware | Permette l'uso del programma VMware. | |
Ssh | Sshd può essere configurato per consentire solo i membri appartenenti a questo gruppo di effettuare il login. | |
wireshark | Ottenere i diritti per catturare i pacchetti con Wireshark. |
Gruppi obsoleti o non utilizzati
I seguenti gruppi al momento non sono utilizzati:
Gruppo | Scopo |
---|---|
stb-admin | Non utilizzato! Diritti di accesso a system-tools-backends |
Kvm | Aggiunta di un utente al al gruppo kvm utilizzato per consentire agli utenti non-root di accedere a macchine virtuali utilizzando KVM. Questo è stato deprecato in favore dell'uso delle regole udev, e questo viene fatto automaticamente.
|