Difference between revisions of "Users and groups (Italiano)"

From ArchWiki
Jump to: navigation, search
(pagina allineata)
(pagina allineata)
Line 196: Line 196:
  
 
{{Nota|Alcuni di questi non sono più necessari quando viene eseguito un sistema con systemd. Si veda [[Systemd_(Italiano)#Informazioni_supplementari|qui]].}}
 
{{Nota|Alcuni di questi non sono più necessari quando viene eseguito un sistema con systemd. Si veda [[Systemd_(Italiano)#Informazioni_supplementari|qui]].}}
{{nota|Nessuno di questi gruppi è necessario per autorizzazioni desktop standard come l'audio, 3D, stampa, montaggio, ecc..., finché la sessione logind (o consolekit) non è interrotto (per esempio avviando X su una VT diversa da quello in cui si connessi).}}
+
{{nota|Nessuno di questi gruppi è necessario per autorizzazioni desktop standard come l'audio, 3D, stampa, montaggio, ecc..., finché la sessione ''logind'' non è interrotto (per esempio avviando X su una VT diversa da quello in cui si connessi).}}
  
 
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:
 
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:
Line 239: Line 239:
  
 
=== Gruppi di sistema ===
 
=== Gruppi di sistema ===
I seguenti gruppi sono usati per scopi di sistema ed è difficile che siano utili ad un utente inesperto di Arch:
+
 
 +
I seguenti gruppi sono usati per scopi di sistema ed è difficile che siano utili agli utenti alle prime armi con Arch:
  
 
{| border="1"  
 
{| border="1"  
 
! Gruppo || File interessati || Scopo
 
! Gruppo || File interessati || Scopo
|-
 
| adm || {{ic|/var/log/journal/*}} || Fornisce accesso completo ai log di systemd, altrimenti vengono mostrati solo i messaggi generati dagli utenti.
 
 
|-
 
|-
 
| avahi || ||
 
| avahi || ||
Line 283: Line 282:
 
|-
 
|-
 
| smmsp || || Gruppo di [[wikipedia:it:sendmail|sendmail]].  
 
| smmsp || || Gruppo di [[wikipedia:it:sendmail|sendmail]].  
 +
|-
 +
| systemd-journal || {{ic|/var/log/journal/*}} ||Fornisce accesso completo ai log di Systemd. In caso contrario, vengono visualizzati solo i messaggi generati dagli utenti.
 
|-
 
|-
 
| tty || {{ic|/dev/tty}}, {{ic|/dev/vcc}}, {{ic|/dev/vc}}, {{ic|/dev/ptmx}} || Ad esempio garantisce l'accesso a {{ic|/dev/ACMx}}
 
| tty || {{ic|/dev/tty}}, {{ic|/dev/vcc}}, {{ic|/dev/vc}}, {{ic|/dev/ptmx}} || Ad esempio garantisce l'accesso a {{ic|/dev/ACMx}}

Revision as of 16:48, 15 April 2013

Sommario help replacing me
Quest'articolo descrive come gestire gli account utente ed i gruppi. Benché alcuni desktop environment forniscano delle interfacce grafiche per tale scopo, esse non saranno trattate qui.
Panoramica
Template:Access control overview (Italiano)
Correlati
DeveloperWiki:UID / GID Database
PolicyKit
chmod
Change username

Gli utenti ed 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.

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.

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.

Nota: I principianti dovranno utilizzare questi strumenti con cautela ed evitare di modificare altri account esistenti, tranne che il proprio.

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 e posseduto da un utente e da 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 /boot/ -l
total 10709
drwxr-xr-x 2 root root    4096 Jan 12 00:33 grub
-rw-r--r-- 1 root root 6025196 20 ott 13.13 initramfs-linux-fallback.img
-rw-r--r-- 1 root root 1859544 20 ott 13.13 initramfs-linux.img
-rw-r--r-- 1 root root 3020080 19 ott 10.30 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 /media/ -l
total 16
drwxrwx--- 1 root vboxsf 16384 Jan 29 11:02 sf_Shared

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 loggati sul sistema è possibile usare il comando who.

Per aggiungere un nuovo utente, usare il comando useradd:

# useradd -m -g [gruppo_iniziale] -G [gruppi_addizionali] -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 di useradd dipenderà dalla variabile di ambiente USERGROUPS_ENAB definita in /etc/login.defs.
  • -G precede una lista di gruppi aggiuntivi a cui l'utente appartiene; ogni gruppo deve essere sparato dal successivo da una virgola, senza usare mai gli spazi; di default non è previsto nessun gruppo aggiuntivo.
  • -s definisce il percorso ed il nome della shell di login dell'utente; gli script di init di Arch Linux usano Bash; dopo il che processo di boot è completo, ed effettuato l'accesso verrà eseguita; 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 -s /bin/bash archie

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]

Gli account utente possono essere rimossi tramite il comando userdel.

# userdel -r [nomeutente]

L'opzione -r specifica che la cartella home e le mail di sistema 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 utente
  • password è la passrword dell'utente
  • UID è l'identificativo numerico dell'utente
  • GID è l'identificativo numerico del gruppo principale dell'utente
  • GECOS questo campo è opzionale e contiene le informazioni aggiuntive dell'utente; di solito contiene il nome completo dell'utente
  • cartella_home contiene il percorso della cartella $HOME dell'utente
  • shell indica l'interprete dei comandi utilizzato dall'utente (il default è /bin/sh)
Nota: Arch Linux usa le password shadowed. Il file passwd è leggibile da tutti gli utenti, per cui memorizzare le password (sia crittate che altrimenti) in questo file non sarebbe sicuro. Per questo il campo password contiene il carattere segnaposto x, il quale indica che la password crittata è 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 addizionali, 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 è loggato quando viene lanciato il comando, sarà necessario che effettui un log out ed acceda nuovamente al sistema per far sì che le modifiche abbiano effetto.

Lista di gruppi

Gruppi per gli utenti

Nota: Alcuni di questi non sono più necessari quando viene eseguito un sistema con systemd. Si veda qui.
Nota: Nessuno di questi gruppi è necessario per autorizzazioni desktop standard come l'audio, 3D, stampa, montaggio, ecc..., finché la sessione logind non è interrotto (per esempio avviando X su una VT diversa da quello in cui si connessi).

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
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.
camera Accesso alle fotocamere digitali.
disk /dev/sda[1-9], /dev/sdb[1-9] Accesso alle periferiche a blocchi che non appartengono ai gruppi optical, floppy e storage.
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.
lp /etc/cups, /var/log/cups, /var/cache/cups, /var/spool/cups Accesso alle stampanti; permette all'utente di gestire le stampe.
network Pemette di cambiare le impostazioni di rete nel caso si usino programmi come NetworkManager.
networkmanager Richiesto per connettersi via wireless se si usa NetworkManager. Questo gruppo non è incluso in Arch di default, sarà quindi necessario aggiungerlo manualmente.
optical /dev/sr[0-9], /dev/sg[0-9] Accesso ai dispositivi ottici come lettori CD o DVD.
power Permette l'uso del programma pm-utils (sospensione, ibernazione...) e dei programmi di controllo del risparmio energetico.
scanner /var/lock/sane Accesso agli scanner.
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.
uucp /dev/ttyS[0-9], /dev/tts/[0-9] Permette di accedere a periferiche seriali ed USB come modem, controller, porte seriali/RS232.
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.
wheel Gruppo di Amministrazione, comunemente utilizzato per consentire l'accesso ai comandi sudo e su ( non lo usa di default). Verrà utilizzato in futuro da systemd per consentire l'avvio e l'arresto dei servizi da utente non root.[1]

Gruppi di sistema

I seguenti gruppi sono usati per scopi di sistema ed è difficile che siano utili agli utenti alle prime armi con Arch:

Gruppo File interessati Scopo
avahi
bin /usr/bin/* Accesso in sola lettura ai file eseguibili in /usr/bin/.
clamav /var/lib/clamav/*, /var/log/clamav/* Usato da Clam AntiVirus.
daemon
dbus /var/run/dbus/*
ftp /srv/ftp usato da server FTP come Proftpd
gdm Cartella di autorizzazione del server X (ServAuthDir) gruppo di GDM.
hal /var/run/hald, /var/cache/hald
http
kmem /dev/port, /dev/mem, /dev/kmem
log /var/log/* Accesso ai file di log in /var/log.
mail /usr/bin/mail
mem
mpd /var/lib/mpd/*, /var/log/mpd/*, /var/run/mpd/*, opzionalmente cartelle di musica gruppo di MPD.
nobody Gruppo senza privilegi.
ntp /var/lib/ntp/* Gruppo di NTPd.
policykit Gruppo di PolicyKit.
root /* Accesso completo al sistema ed alla sua amministrazione (root, admin).
smmsp Gruppo di sendmail.
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
users Gruppo standard degli utenti.
vboxsf cartelle condivise delle macchine virtuali Usato da VirtualBox.
fuse Utilizzato da fuse per consentire supporto utente .

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.
kvm /dev/kvm Permette di beneficiare della velocità della virtualizzazione hardware di KVM se la propria CPU ha l'estensione Intel VT-x o AMD-V.
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
rfkill Non utilizzato! Diritti di controllo dello stato di accensione dei dispositivi wireless (probabilmente dovrebbe essere usato da rfkill).
stb-admin Non utilizzato! Diritti di accesso a system-tools-backends