Jump to content

Users and groups (Italiano)

From ArchWiki
Stato della traduzioneQuesto articolo è la versione tradotta di Users and groups. Data dell'ultima traduzione: 2026-02-28. Se ci sono cambiamenti nella versione inglese, è possibile dare una mano a sincronizzarne la traduzione.

Utenti e gruppi sono utilizzati su GNU/Linux per il controllo degli accessi, vale a dire per controllare l'accesso ai file, alle directory e alle periferiche del sistema. Di suo Linux offre meccanismi di controllo degli accessi relativamente semplici e rudimentali; per opzioni più avanzate, si vedano ACL, Capabilities e PAM#Configuration How-Tos.

Panoramica

Un utente è chiunque utilizzi un computer. In questa introduzione descriviamo i nomi che rappresentano tali utenti. Mettiamo il caso che Maria o Paolo stiano usando il computer: essi possono usare i nomi Dragonlady o Pirate al posto del loro vero nome. La cosa importante è che il computer abbia un nome per ogni account creato, ed è tramite questo nome che una persona ottiene l'accesso per utilizzare il computer. Anche alcuni servizi di sistema vengono eseguiti utilizzando account utente limitati o privilegiati.

La gestione degli utenti viene effettuata a scopo di sicurezza, limitando l'accesso in modi specifici. Il superutente (root) ha accesso completo al sistema operativo e alla sua configurazione; è destinato esclusivamente all'uso amministrativo. Gli utenti non privilegiati possono utilizzare diversi programmi per l'elevazione controllata dei privilegi.

Qualsiasi individuo può avere più di un account, purché utilizzi un nome diverso per ogni account creato. Si tenga presente che esistono alcuni nomi riservati che non possono essere utilizzati, come "root".

Gli utenti possono far parte di un "gruppo" e gli utenti possono essere aggiunti a un gruppo esistente per usufruire dell'accesso privilegiato che esso concede.

Nota Il principiante deve usare questi strumenti con attenzione e tenersi alla larga da qualsiasi altro account utente esistente, diverso dal proprio.

Permessi e proprietà

Da In UNIX Everything is a File:

Il sistema operativo UNIX cristallizza un paio di idee e concetti unificanti che ne hanno plasmato il design, l'interfaccia utente, la cultura e l'evoluzione.
Uno dei più importanti è probabilmente il mantra: "tutto è un file", ampiamente considerato come uno dei punti distintivi di UNIX.
Questo principio di progettazione fondamentale consiste nel fornire un paradigma unificato per l'accesso a una vasta gamma di risorse di input/output: documenti, directory, dischi rigidi, CD-ROM, modem, tastiere, stampanti, monitor, terminali e persino alcune comunicazioni di rete e tra processi. Il trucco consiste nel fornire un'astrazione comune per tutte queste risorse, ognuna delle quali fu chiamata "file" dai padri di UNIX. Poiché ogni "file" è esposto attraverso la stessa API, è possibile utilizzare lo stesso set di comandi di base per leggere e scrivere su un disco, una tastiera, un documento o un dispositivo di rete.

Da Extending UNIX File Abstraction for General-Purpose Networking:

Un'astrazione fondamentale e molto potente, coerente, fornita in UNIX e nei sistemi operativi compatibili è l'astrazione del file. Molti servizi del sistema operativo e interfacce di dispositivi sono implementati per fornire una metafora di file o file system alle applicazioni. Questa particolarità consente nuovi utilizzi e aumenta notevolmente la potenza delle applicazioni esistenti: semplici strumenti progettati per usi specifici possono, con le astrazioni dei file UNIX, essere utilizzati in modi innovativi. Uno strumento semplice, come cat, progettato per leggere uno o più file e inviare il contenuto allo standard output, può essere utilizzato per leggere da dispositivi di I/O attraverso speciali file di dispositivo, che si trovano tipicamente nella directory /dev. Su molti sistemi la registrazione e la riproduzione audio possono essere effettuate rispettivamente e in modo semplice con i comandi cat /dev/audio > miofile e cat miofile > /dev/audio.

Ogni file su un sistema GNU/Linux è di proprietà di un utente e di un gruppo. Vi sono tre tipi di permessi di accesso: lettura, scrittura ed esecuzione. Diversi permessi di accesso possono essere applicati all'utente proprietario del file, al gruppo proprietario e agli altri (coloro che non hanno la proprietà). È possibile determinare i proprietari e i permessi di un file visualizzando il formato di elenco lungo 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

La prima colonna mostra i permessi del file (ad esempio, il file initramfs-linux.img ha i permessi -rw-r--r--). La terza e la quarta colonna mostrano rispettivamente l'utente e il gruppo che sono proprietari del file. In questo esempio, tutti i file sono di proprietà dell'utente root e del gruppo root.

$ ls -l /media/
total 16
drwxrwx--- 1 root vboxsf 16384 Jan 29 11:02 sf_Shared

In questo esempio, la directory sf_Shared è di proprietà dell'utente root e del gruppo vboxsf. È anche possibile determinare i proprietari e i permessi di un file utilizzando il comando stat:

Utente proprietario:

$ stat -c %U /media/sf_Shared/
root

Gruppo proprietario:

$ stat -c %G /media/sf_Shared/
vboxsf

Diritti di accesso:

$ stat -c %A /media/sf_Shared/
drwxrwx---

I permessi di accesso sono visualizzati in tre gruppi di caratteri, che rappresentano rispettivamente i permessi dell'utente proprietario, del gruppo proprietario e degli altri. Ad esempio, i caratteri -rw-r--r-- indicano che il proprietario del file ha i permessi di lettura e scrittura, ma non di esecuzione (rw-), mentre gli utenti appartenenti al gruppo proprietario e gli altri utenti hanno solo il permesso di lettura (r-- e r--). Allo stesso modo, i caratteri drwxrwx--- indicano che il proprietario del file e gli utenti appartenenti al gruppo proprietario hanno tutti i permessi di lettura, scrittura ed esecuzione (rwx e rwx), mentre agli altri utenti è negato l'accesso (---). Il primo carattere rappresenta il tipo di file.

Elencare i file di proprietà di un utente o di un gruppo con l'utility find:

# find / -group nomegruppo
# find / -group numerogruppo
# find / -user utente

L'utente e il gruppo proprietari di un file possono essere modificati con il comando chown (change owner). I permessi di accesso di un file possono essere modificati con il comando chmod (change mode). Vedere chown(1), chmod(1) e Linux file permissions per ulteriori dettagli.

Shadow

Gli strumenti di gestione di utenti, gruppi e password su Arch Linux provengono dal pacchetto shadow, che è una dipendenza del meta pacchetto base.

Elenco dei file

Attenzione Non modificare questi file a mano. Esistono utility che gestiscono correttamente il blocco ed evitano di invalidare il formato del database. Vedere #Gestione degli utenti e #Gestione dei gruppi per una panoramica.
File Scopo
/etc/shadow Informazioni sicure sugli account utente
/etc/passwd Informazioni sugli account utente
/etc/gshadow Contiene le informazioni oscurate per gli account di gruppo
/etc/group Definisce i gruppi ai quali appartengono gli utenti

Gestione degli utenti

Per elencare gli utenti attualmente loggati nel sistema, è possibile utilizzare il comando who. Per elencare tutti gli account utente esistenti, incluse le loro proprietà memorizzate nel database degli utenti, eseguire passwd -Sa come root. Vedere passwd(1) per la descrizione del formato di output.

Per aggiungere un nuovo utente, utilizzare il comando useradd:

# useradd -m -G gruppi_aggiuntivi -s shell_di_login nomeutente
-m/--create-home
viene creata la directory home dell'utente come /home/nomeutente. La directory viene popolata dai file contenuti nella directory skeleton. I file creati sono di proprietà del nuovo utente.
-G/--groups
un elenco separato da virgole di gruppi supplementari di cui l'utente è anche membro. L'impostazione predefinita prevede che l'utente appartenga solo al gruppo iniziale.
-s/--shell
un percorso verso la shell di login dell'utente. Assicurarsi che la shell scelta sia installata se si sceglie qualcosa di diverso da Bash. La shell predefinita per i nuovi utenti creati può essere impostata in /etc/default/useradd.
Attenzione Per poter essere in grado di effettuare il login, la shell di login deve essere tra quelle elencate in /etc/shells, altrimenti il modulo PAM pam_shells(8) negherà la richiesta di login.
Nota La password per l'utente appena creato va definita utilizzando passwd, come mostrato in #Esempio di aggiunta di un utente.

Se viene specificato un gruppo di login iniziale tramite nome o numero, questo deve riferirsi a un gruppo già esistente. Se non specificato, il comportamento di useradd dipenderà dalla variabile USERGROUPS_ENAB contenuta in /etc/login.defs. Il comportamento predefinito (USERGROUPS_ENAB yes) è quello di creare un gruppo con lo stesso nome dell'utente.

Quando la shell di login è destinata a non essere usata da un vero utente, ad esempio quando l'account utente è creato per un servizio specifico, si può specificare /usr/bin/nologin al posto di una shell regolare in modo da rifiutare un login (si veda nologin(8)). Per altre opzioni supportate si veda useradd(8).

Esempio di aggiunta di un utente

Per aggiungere un nuovo utente chiamato archie, creandone la directory home e utilizzando tutti gli altri valori predefiniti in termini di gruppi, nomi di directory, shell utilizzata e vari altri parametri:

useradd -m archie

Sebbene non sia obbligatorio proteggere il nuovo utente archie con una password, è caldamente raccomandato farlo:

passwd archie

Il comando useradd sopra descritto creerà automaticamente anche un gruppo chiamato archie e lo imposterà come gruppo predefinito per l'utente archie. Fare in modo che ogni utente abbia il proprio gruppo (con il nome del gruppo uguale al nome dell'utente) è il modo preferito per aggiungere utenti.

Si potrebbe anche impostare il gruppo predefinito su qualcos'altro usando l'opzione -g, ma si noti che, nei sistemi multi-utente, l'uso di un singolo gruppo predefinito (es. users) per ogni utente non è raccomandato. Il motivo è che tipicamente, il metodo per facilitare l'accesso in scrittura condiviso per specifici gruppi di utenti consiste nell'impostare il valore umask dell'utente a 002, il che significa che il gruppo predefinito avrà sempre, per impostazione predefinita, l'accesso in scrittura a qualsiasi file creato. Vedere anche User Private Groups. Se un utente deve essere membro di un gruppo specifico, specificare quel gruppo come gruppo supplementare al momento della creazione dell'utente.

Nello scenario raccomandato, in cui il gruppo predefinito ha lo stesso nome del nome utente, tutti i file sono per impostazione predefinita scrivibili solo dall'utente che li ha creati. Per consentire l'accesso in scrittura a un gruppo specifico, i file e le directory condivisi possono essere resi scrivibili per impostazione predefinita per chiunque faccia parte di questo gruppo e il gruppo proprietario può essere impostato automaticamente al gruppo che possiede la directory genitore impostando il bit setgid su questa directory:

chmod g+s la_nostra_directory_condivisa

In caso contrario, viene utilizzato il gruppo predefinito del creatore del file (solitamente lo stesso del nome utente).

Se è richiesto temporaneamente un cambio di GID, è possibile utilizzare anche il comando newgrp per cambiare il GID predefinito dell'utente in un altro GID durante l'esecuzione. Ad esempio, dopo aver eseguito newgrp nomegruppo, i file creati dall'utente saranno associati al GID nomegruppo, senza richiedere un nuovo login. Per tornare al GID predefinito, eseguire newgrp senza un nome di gruppo.

Modificare i valori predefiniti dell'utente

I valori predefiniti utilizzati per la creazione di nuovi account sono impostati in /etc/default/useradd e possono essere mostrati mediante useradd --defaults. Ad esempio, per cambiare la shell predefinita a livello globale, impostare SHELL=/usr/bin/shell. Una shell diversa può essere specificata anche a livello utente con l'opzione -s/--shell. Mediante chsh -l si possono elencare le shell di login valide. È anche possibile specificare file da aggiungere alle directory home degli utenti appena creati in /etc/skel. Questa possibilità si rivela utile per quei window manager minimalisti dove i file di configurazione necessitano di una configurazione manuale per avere un comportamento tipico dei desktop environment. Ad esempio, per impostare scorciatoie predefinite quanto si creano nuovi utenti:

# mkdir /etc/skel/.config
# cp ~archie/.config/sxhkd /etc/skel/.config

Si veda anche: Display manager#Run ~/.xinitrc as a session per aggiungere xinitrc come opzione per tutti gli utenti sul display manager.

Esempio di aggiunta di un utente di sistema

Gli utenti di sistema possono essere utilizzati per eseguire processi e demoni sotto un utente diverso, proteggendo (ad esempio con chown) file e directory e per per altre possibilità di sicurezza del computer.

Con il seguente comando viene creato un utente di sistema senza accesso alla shell e senza una directory home (si può aggiungere il parametro -U per creare un gruppo con lo stesso nome dell'utente e aggiungere l'utente a questo gruppo):

# useradd --system -s /usr/bin/nologin nomeutente

Se l'utente di sistema richiede un ID utente e di gruppo specifico, specificarli con le opzioni -u/--uid e -g/--gid al momento della creazione dell'utente:

# useradd --system -u 850 -g 850 -s /usr/bin/nologin nomeutente

Cambiare il nome di login o la directory home di un utente

Per cambiare la directory home di un utente:

# usermod -d /mia/nuova/home -m nomeutente

L'opzione -m crea automaticamente anche la nuova directory e vi sposta il contenuto.

Suggerimento È possibile creare un collegamento dalla vecchia directory home dell'utente alla nuova. Questa operazione permetterà ai programmi di trovare i file che hanno percorsi già impostati.
# ln -s /mia/nuova/home/ /mia/vecchia/home

Assicurarsi che non ci sia uno / finale su /mia/vecchia/home.

Per cambiare il nome di login di un utente:

# usermod -l nuovonome vecchionome
Attenzione Assicurarsi di non aver effettuato l'accesso come l'utente di cui si sta per cambiare il nome. Aprire una nuova tty (ad esempio Ctrl+Alt+F6) e accedere come root o come un altro utente ed elevarlo a root. usermod dovrebbe impedire di fare questa operazione per errore.

Cambiare un nome utente è sicuro e facile se fatto correttamente: basta usare il comando usermod. Se l'utente è associato a un gruppo con lo stesso nome, è possibile rinominarlo con il comando groupmod. In alternativa, è possibile modificare direttamente il file /etc/passwd: si veda #Database degli utenti per un'introduzione al suo formato.

Tenere inoltre presenti le seguenti note:

  • Se si utilizza sudo, assicurarsi di aggiornare la propria configurazione per riflettere i nuovi nomi utente (tramite il comando visudo come root).
  • I crontab personali devono essere regolati rinominando il file dell'utente in /var/spool/cron dal vecchio al nuovo nome e quindi aprendo crontab -e per cambiare eventuali percorsi e fare in modo che regoli i permessi del file di conseguenza.
  • È necessario rinominare e modificare manualmente i contenuti delle directory e dei file personali di Wine in ~/.wine/drive_c/users, ~/.local/share/applications/wine/Programs e possibilmente anche altri.
  • Potrebbe essere necessario reinstallare alcune estensioni di Thunderbird, come Enigmail.
  • Qualsiasi cosa sul sistema (scorciatoie desktop, script di shell, ecc.) che utilizzi un percorso assoluto verso la propria home (cioè /home/vecchionome) dovrà essere modificata per riflettere il nuovo nome. Per evitare questi problemi negli script di shell, utilizzare semplicemente le variabili ~ o $HOME per le directory home.
  • Inoltre, non dimenticare di modificare di conseguenza i file di configurazione in /etc/ che si basano sul percorso assoluto (ad es. Samba, CUPS, e così via). Un buon modo per scoprire quali file è necessario aggiornare consiste nell'usare il comando grep in questo modo: grep -r vecchio_utente *

Altri esempi di gestione utente

Per inserire le informazioni utente per il commento GECOS (ad esempio il nome completo dell'utente), digitare:

# chfn nomeutente

(in questo modo chfn viene eseguito in modalità interattiva).

In alternativa, il commento GECOS può essere impostato più liberamente con:

# usermod -c "Commento" nomeutente

Per contrassegnare la password di un utente come scaduta e richiederne la creazione di una nuova al primo accesso, digitare:

# chage -d 0 nomeutente

Gli account utente possono essere eliminati con il comando userdel:

# userdel -r nomeutente

L'opzione -r specifica che devono essere eliminati anche la directory home dell'utente e lo spool della posta. Per cambiare la shell di login dell'utente:

# usermod -s /usr/bin/bash nomeutente
Suggerimento Lo script adduserAUR permette di eseguire i compiti di useradd, chfn e passwd in modo interattivo. Vedere anche FS#32893.

Database degli utenti

Le informazioni sugli utenti locali sono memorizzate nel file di testo semplice /etc/passwd: ognuna delle sue righe rappresenta un account utente e ha sette campi delimitati dai due punti.

account:password:UID:GID:GECOS:directory:shell

dove:

  • account è il nome utente. Questo campo non può essere vuoto. Si applicano le regole di denominazione standard *NIX.
  • password è la password dell'utente.
    Attenzione Il file passwd è leggibile da tutti (world-readable), quindi memorizzare le password (sotto forma di hash o altro) in questo file non è sicuro. Al contrario, Arch Linux utilizza le password oscurate: il campo password conterrà un carattere segnaposto (x) che indica che l'hash della password è salvato nel file ad accesso limitato /etc/shadow. Per questo motivo si raccomanda di cambiare sempre le password utilizzando il comando passwd.
  • UID è l'ID numerico dell'utente. In Arch il primo nome di login (dopo root) per un cosiddetto utente normale, a differenza dei servizi, è UID 1000 per impostazione predefinita; le successive voci UID per gli utenti saranno superiori a 1000.
  • GID è l'ID numerico del gruppo primario per l'utente. I valori numerici per i GID sono elencati in /etc/group.
  • GECOS è un campo opzionale utilizzato per scopi informativi; solitamente contiene il nome completo dell'utente, ma può anche essere utilizzato da servizi come finger e gestito con il comando chfn. Questo campo è facoltativo e può essere lasciato in bianco.
  • directory è utilizzata dal comando login per impostare la variabile d'ambiente $HOME. Diversi servizi con i propri utenti utilizzano /, ma gli utenti normali solitamente impostano una directory sotto /home.
  • shell è il percorso verso la shell di comando predefinita dell'utente. Questo campo è facoltativo e il valore predefinito è /usr/bin/bash.

Esempio:

archie:x:1001:1003:Archie,qualche commento qui,,:/home/archie:/usr/bin/bash

che, nelle sue varie parti, significa: utente archie, la cui password si trova in /etc/shadow, il cui UID è 1001 e il cui gruppo primario è 1003. Archie è il nome completo e c'è un commento associato all'account; la directory home è /home/archie e usa Bash.

Il comando pwck può essere utilizzato per verificare l'integrità del database degli utenti. Può ordinare contemporaneamente l'elenco degli utenti per UID, il che può essere utile per il confronto:

# pwck -s
Attenzione I valori predefiniti dei file in Arch Linux vengono creati come pacnew files dalle nuove versioni del pacchetto filesystem. A meno che Pacman non emetta messaggi correlati per l'azione, questi file .pacnew possono, e dovrebbero, essere ignorati e rimossi. I nuovi utenti e i gruppi predefiniti vengono aggiunti o aggiunti nuovamente secondo il bisogno da systemd-sysusers(8) o dallo script di installazione del pacchetto.

Controlli di integrità automatici

Invece di eseguire manualmente pwck e grpck, il timer di systemd shadow.timer, che fa parte di shadow ed è abilitato dall'installazione di questo pacchetto, avvierà shadow.service quotidianamente. shadow.service eseguirà pwck(8) e grpck(8) per verificare l'integrità sia dei file delle password che di quelli dei gruppi. Se vengono segnalate discrepanze, i gruppi possono essere modificati con il comando vigr(8) e gli utenti con vipw(8). Ciò fornisce un ulteriore margine di protezione in quanto questi comandi bloccano i database per la modifica. Si noti che l'editor di testo predefinito è vi, ma se la variabile d'ambiente EDITOR è impostata, questo verrà utilizzato al suo posto.

Mantenere allineati gli utenti di sistema con i valori presenti in sysuser.d di systemd

Attenzione systemd non fornisce alcun modo ufficiale per migrare gli account esistenti ad account di sistema completamente bloccati [1].

Man mano che i pacchetti adottano il change-sysusers-to-fully-locked-system-accounts, gli utenti di sistema creati dai pacchetti in passato non erediteranno i nuovi valori predefiniti dei pacchetti a motivo dell'aumentata sicurezza dello stato bloccato o scaduto. Questi utenti devono essere modificati a mano per questo cambiamento. Lo script user-analysis.sh fa proprio questo.

Inoltre, lo script identifica anche gli utenti orfani (quelli creati da un pacchetto non più presente nel sistema) e può eliminarli automaticamente.

Gestione dei gruppi

Il file /etc/group è quello che definisce i gruppi nel sistema (si veda group(5) per i dettagli). Esiste anche gshadow che viene usato raramente. I suoi dettagli sono in gshadow(5).

Visualizzare l'appartenenza ai gruppi con il comando groups:

$ groups utente

Se utente è omesso, vengono visualizzati i nomi dei gruppi dell'utente corrente.

Il comando id fornisce ulteriori dettagli, come l'UID dell'utente e i GID associati:

$ id utente

Per elencare tutti i gruppi presenti sul sistema:

$ cat /etc/group

Creare nuovi gruppi con il comando groupadd:

# groupadd gruppo
Nota Se l'utente è attualmente loggato, deve disconnettersi e riconnettersi affinché le modifiche abbiano effetto.

È possibile aggiungere utenti a un gruppo con il comando gpasswd (si veda FS#58262 riguardo agli errori):

# gpasswd -a utente gruppo

In alternativa, aggiungere un utente a gruppi supplementari con usermod (sostituire gruppi_aggiuntivi con un elenco separato da virgole):

# usermod -aG gruppi_aggiuntivi nomeutente
Attenzione Se l'opzione -a viene omessa nel comando usermod sopra riportato, l'utente viene rimosso da tutti i gruppi non elencati in gruppi_aggiuntivi, vale a dire l'utente sarà membro solo dei gruppi elencati in gruppi_aggiuntivi.

Modificare un gruppo esistente con il comando groupmod, ad esempio per rinominare il gruppo vecchio_gruppo in nuovo_gruppo:

# groupmod -n nuovo_gruppo vecchio_gruppo
Nota Questo comando cambierà il nome di un gruppo ma non il GID numerico del gruppo. Pertanto, tutti i file che prima erano di proprietà di vecchio_gruppo saranno ora di proprietà di nuovo_gruppo.

Per eliminare gruppi esistenti:

# groupdel gruppo

Per rimuovere utenti da un gruppo:

# gpasswd -d utente gruppo

Il comando grpck può essere utilizzato per verificare l'integrità dei file dei gruppi di sistema.

Attenzione I valori predefiniti dei file in Arch Linux vengono creati come pacnew files dalle nuove versioni del pacchetto filesystem. A meno che Pacman non emetta messaggi correlati per l'azione, questi file .pacnew possono, e dovrebbero, essere ignorati e rimossi. I nuovi utenti e i gruppi predefiniti vengono aggiunti o aggiunti nuovamente secondo il bisogno da systemd-sysusers(8) o dallo script di installazione del pacchetto.

Elenco dei gruppi

Questa sezione spiega lo scopo dei gruppi essenziali del pacchetto filesystem. Esistono molti altri gruppi, che verranno creati con il GID corretto quando viene installato il relativo pacchetto. Vedere la pagina principale del software per i dettagli.

Nota Quando si rimuove un pacchetto, questa azione non rimuove anche l'utente e il gruppo (UID e GID) creati in modo automatico. Questo comportamento è intenzionale perché altrimenti qualsiasi file creato durante il suo utilizzo rimarrebbe orfano e ciò sarebbe un potenziale rischio per la sicurezza.

Gruppi utente

Gli utenti di workstation/desktop non-root hanno spesso bisogno di essere aggiunti ad alcuni dei seguenti gruppi per consentire l'accesso alle periferiche hardware e facilitare l'amministrazione del sistema:

Gruppo File interessati Scopo
adm Gruppo di amministrazione, comunemente usato per dare accesso in lettura ai log protetti. Ha pieno accesso in lettura ai file del journal.
ftp /srv/ftp/ Accesso ai file serviti dai server FTP.
games /var/games Accesso ad alcuni software di gioco.
http /srv/http/ Accesso ai file serviti dai server HTTP.
log Accesso ai file di log in /var/log/ creati da syslog-ng.
rfkill /dev/rfkill Diritto di controllare lo stato di alimentazione dei dispositivi wireless (usato da rfkill).
sys Diritto di amministrare le stampanti in CUPS.
systemd-journal /var/log/journal/* Può essere usato per fornire accesso in sola lettura ai log di systemd, come alternativa a adm e wheel. In caso contrario, vengono visualizzati solo i messaggi generati dall'utente.
uucp /dev/ttyS[0-9]+, /dev/tts/[0-9]+, /dev/ttyUSB[0-9]+, /dev/ttyACM[0-9]+, /dev/rfcomm[0-9]+ Porte seriali RS-232 e dispositivi ad esse collegati.
wheel Gruppo di amministrazione, comunemente usato per dare privilegi per eseguire azioni amministrative. Ha pieno accesso in lettura ai file del journal e il diritto di amministrare le stampanti in CUPS. Può anche essere usato per dare accesso alle utility sudo e su (nessuna delle due lo usa per impostazione predefinita). Fornisce l'accesso all'utility run0.

Gruppi di sistema

I seguenti gruppi sono utilizzati per scopi di sistema, l'assegnazione agli utenti è richiesta solo per scopi dedicati:

Gruppo File interessati Scopo
dbus usato internamente da dbus
kmem /dev/port, /dev/mem, /dev/kmem
locate /usr/bin/locate, /var/lib/locate, /var/lib/mlocate, /var/lib/slocate Si veda Locate.
lp /dev/lp[0-9], /dev/parport[0-9] Accesso ai dispositivi della porta parallela (stampanti e altro).
mail /usr/bin/mail
nobody Gruppo non privilegiato.
proc /proc/pid/ Un gruppo autorizzato ad apprendere informazioni sui processi altrimenti proibite dall'opzione di montaggio hidepid= del file system proc. Il gruppo deve essere esplicitamente impostato con l'opzione di montaggio gid=.
root /* Amministrazione e controllo completo del sistema (root, admin).
smmsp gruppo sendmail.
tty /dev/tty, /dev/vcc, /dev/vc, /dev/ptmx
utmp /run/utmp, /var/log/btmp, /var/log/wtmp Vedere utmp, wtmp e btmp.

Gruppi pre-systemd

Prima che Arch migrasse a systemd, gli utenti dovevano essere aggiunti manualmente a questi gruppi per poter accedere ai dispositivi corrispondenti. Questo metodo è stato deprecato a favore di udev che contrassegna i dispositivi con un tag uaccess e logind che assegna i permessi agli utenti dinamicamente tramite ACL in base a quale sessione è attualmente attiva. Si noti che, perché ciò funzioni, la sessione non deve essere interrotta (si veda General troubleshooting#Session permissions per controllarlo).

Esistono alcune eccezioni rilevanti che richiedono l’aggiunta di un utente ad alcuni di questi gruppi: ad esempio, se si desidera consentire agli utenti di accedere al dispositivo anche quando non sono autenticati. Tuttavia, si noti che l’aggiunta degli utenti a tali gruppi può compromettere alcune funzionalità (ad esempio, l’appartenenza al gruppo audio compromette il cambio rapido di utente e consente alle applicazioni di impedire il mixaggio software).

Gruppo File interessati Scopo
audio /dev/audio, /dev/snd/, /dev/rtc0 Accesso diretto all'hardware audio, per tutte le sessioni. È ancora richiesto per far funzionare ALSA e OSS in sessioni remote, vedere ALSA#User privileges, altrimenti non raccomandato. A differenza di alcune altre distribuzioni, questo gruppo non viene utilizzato per i privilegi in tempo reale.
disk /dev/sd[a-zA-Z][1-9], /dev/nvme[0-9]p[1-9], /dev/mmcblk[0-9]p[1-9] Accesso ai dispositivi a blocchi non interessati da altri gruppi come optical, floppy e storage.
floppy /dev/fd[0-9] Accesso alle unità floppy.
input /dev/input/event[0-9], /dev/input/mouse[0-9] Accesso ai dispositivi di input. Introdotto in systemd 215.
kvm /dev/kvm Accesso alle macchine virtuali che utilizzano KVM.
optical /dev/sr[0-9], /dev/sg[0-9] Accesso ai dispositivi ottici come unità CD e DVD.
scanner /var/lock/sane Accesso all'hardware dello scanner.
storage /dev/st[0-9][lma], /dev/nst[0-9][lma] Usato per ottenere l'accesso a unità rimovibili come dischi rigidi USB, chiavette flash, lettori MP3; permette all'utente di montare dispositivi di archiviazione. Ora esclusivamente per l'accesso diretto ai nastri se non sono coinvolte regole udev personalizzate. Richiesto anche per manipolare alcuni dispositivi tramite udisks/udisksctl.
video /dev/fb/0, /dev/misc/agpgart Accesso ai dispositivi di cattura video, accelerazione hardware 2D/3D, framebuffer (X può essere usato senza appartenere a questo gruppo).

Gruppi inutilizzati

I seguenti gruppi non sono attualmente utilizzati per alcuno scopo:

Gruppo File interessati Scopo
bin nessuno Storico
daemon
lock Usato per l'accesso ai file di blocco. Richiesto ad esempio da gnokiiAUR.
mem
network Inutilizzato per impostazione predefinita. Può essere usato ad esempio per concedere l'accesso a NetworkManager (vedere NetworkManager#Set up PolicyKit permissions).
power
uuidd
users Il gruppo primario per gli utenti quando non vengono utilizzati i gruppi privati degli utenti (generalmente non raccomandato), ad esempio quando si creano utenti con USERGROUPS_ENAB no in /etc/login.defs o l'opzione -N/--no-user-group di useradd.