- Home
- Packages
- Forums
- Wiki
- Bugs
- AUR
- Download

# Users and Groups (Italiano)

From ArchWiki

Sommario
Quest'articolo descrive come gestire gli account utente ed i gruppi. Benché alcuni ambienti desktop forniscano delle interfacce grafiche per tale scopo, esse non saranno trattate qui.
Panoramica
Sui sistemi GNU/Linux, Utenti e gruppi sono usati per il controllo degli accessi. Il super utente (root) ha completo accesso al sistema operativo e alla sua configurazione; esso è concepito solamente per un utilizzo amministrativo. Gli utenti non privilegiati possono usare i programmi su e sudo per operazioni con privilegi di root.
Correlati
DeveloperWiki:UID / GID Database
PolicyKit
chmod
Change username

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.

## 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 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 /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 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 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 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 della shell di login dell'utente; gli script di init di Arch Linux usano Bash; 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 -s /bin/bash archie

Per aggiungere l'utente ad altri gruppi in un secondo momento:

    # usermod -aG [gruppi_aggiuntivi] [nome_utente]

Attenzione: Se l'opzione `-a` viene omessa, l'utente viene rimosso da tutti i gruppi non elencati in `[gruppi_aggiuntivi]` (cioè l' utente sarà membro solo di quei gruppi elencati in `[gruppi_aggiuntivi]`).

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 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 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 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

Nota:

- Alcuni di questi non sono più necessari quando è in esecuzione un sistema con systemd. Si veda Systemd: Informazioni_supplementari.
- Nessuno di questi gruppi è necessario per autorizzazioni desktop standard come l'audio, 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
--- | --- | ---
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.
rfkill | `/dev/rfkill` | Permette di controllare lo stato di alimentazione dei dispositivi wireless (utilizzato dal pacchetto rfkill).
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.
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.
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).

### 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 | none | Storico
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.
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`
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 usare la virtualizzazione hardware di KVM.
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

Retrieved from "https://wiki.archlinux.org/index.php?title=Users_and_Groups_(Italiano)&oldid=275501"
Category:

- Security (Italiano)

## Navigation menu