Users and groups (Français)

État de la traduction:
Cet article est la version francophone de
Users and groups
. Date de la dernière traduction: 2022-10-05. Vous pouvez aider à synchroniser la traduction s'il y a eu des
changements
dans la version anglaise.
Related articles
DeveloperWiki:UID / GID Database
Sudo (Français)
Polkit
File permissions and attributes
systemd-homed
Reset lost root password
Les utilisateurs et les groupes sont utilisés sous GNU/Linux pour le
contrôle d'accès
-c'est-à-dire pour contrôler l'accès aux fichiers, répertoires et périphériques du système. Linux offre par défaut des mécanismes de contrôle d'accès relativement simples et bruts. Pour des options plus avancées, consultez
ACL
,
Capabilities
et
PAM#Configuration How-Tos
.
Vue d'ensemble
Un
utilisateur
est toute personne qui utilise un ordinateur. Dans ce cas, nous décrivons les noms qui représentent ces utilisateurs. Il peut s'agir de Pierre ou de Paul et ils peuvent utiliser les noms Reinedesneiges ou Pirate à la place de leur vrai nom. Tout ce qui compte, c'est que l'ordinateur a un nom pour chaque compte qu'il crée et c'est ce nom qui permet à une personne d'accéder à l'ordinateur. Certains services du système fonctionnent également à l'aide de comptes d'utilisateurs restreints ou privilégiés.
La gestion des utilisateurs est effectuée à des fins de sécurité en limitant l'accès de certaines manières spécifiques. Le
superutilisateur
(«root») a un accès complet au système d'exploitation et à sa configuration ; il est destiné à un usage administratif uniquement. Les utilisateurs non privilégiés peuvent utiliser les programmes
su
et
sudo
pour contrôler
l'escalade des privilèges
.
Toute personne peut avoir plus d'un compte à condition d'utiliser un nom différent pour chaque compte qu'elle crée. En outre, il existe des noms réservés qui ne peuvent pas être utilisés, comme «root».
Les utilisateurs peuvent être regroupés dans un "groupe", et des utilisateurs peuvent être ajoutés à un groupe existant pour utiliser les accès privilégiés qu'il accorde.
Note
Le débutant doit utiliser ces outils avec précaution et éviter d'avoir quoi que ce soit à faire avec un compte utilisateur
existant
autre que le sien
Permissions et appartenance
Extrait de
Sous UNIX, tout est fichier
:
Le système d'exploitation UNIX cristallise un ensemble d'idées et de concepts unificateurs qui ont façonné sa conception, son interface utilisateur, sa culture et son évolution. L'un des plus importants d'entre eux est probablement le mantra : " tout est fichier ", largement considéré comme l'un des éléments fondamentaux d'UNIX.
Ce principe de conception clé consiste à fournir un paradigme unifié pour accéder à un large éventail de ressources d'entrée/sortie : documents, répertoires, disques durs, CD-ROM, modems, claviers, imprimantes, écrans, terminaux et même certaines communications interprocessus et réseau. L'astuce consiste à fournir une abstraction commune pour toutes ces ressources, que les pères d'UNIX appellent chacune un "fichier". Puisque chaque "fichier" est exposé à travers la même API, vous pouvez utiliser le même ensemble de commandes de base pour lire/écrire sur un disque, un clavier, un document ou un périphérique réseau.
Traduit de
Extending UNIX File Abstraction for General-Purpose Networking
[
dead link
2024-01-13—HTTP 401]
:
Une abstraction fondamentale, très puissante et cohérente fournie par UNIX et les systèmes d'exploitation compatibles est l'abstraction des fichiers. De nombreux services et interfaces de périphériques du système d'exploitation sont implémentés pour fournir une métaphore de fichier ou de système de fichiers aux applications. Cela permet de nouvelles utilisations et augmente considérablement la puissance des applications existantes - de simples outils conçus pour des utilisations spécifiques peuvent, grâce aux abstractions de fichiers UNIX, être utilisés de manière novatrice. Un outil simple, tel que cat, conçu pour lire un ou plusieurs fichiers et en sortir le contenu sur la sortie standard, peut être utilisé pour lire des périphériques d'E/S par le biais de fichiers de périphériques spéciaux, qui se trouvent généralement dans le répertoire
/dev
. Sur de nombreux systèmes, l'enregistrement et la lecture de fichiers audio peuvent être effectués simplement à l'aide des commandes "
cat /dev/audio > monfichier
" et "
cat monfichier > /dev/audio
", respectivement.
Chaque fichier sur un système GNU/Linux appartient à un utilisateur et à un groupe. De plus, il existe trois types de permissions d'accès : lecture, écriture et exécution. Différentes autorisations d'accès peuvent être appliquées à l'utilisateur propriétaire d'un fichier, au groupe propriétaire et aux autres (ceux qui ne sont pas propriétaires). On peut déterminer les propriétaires et les autorisations d'un fichier en consultant la liste longue de la commande
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 première colonne affiche les permissions du fichier (par exemple, le fichier
initramfs-linux.img
a les permissions
-rw-r--r--
). Les troisième et quatrième colonnes affichent l'utilisateur et le groupe propriétaires du fichier, respectivement. Dans l'exemple ci-dessus, tous les fichiers appartiennent à l'utilisateur
root
et au groupe
root
.
$ ls -l /media/
total 16
drwxrwx--- 1 root vboxsf 16384 Jan 29 11:02 sf_Shared
Dans cet exemple, le répertoire
sf_Shared
appartient à l'utilisateur
root
et au groupe
vboxsf
. Il est également possible de déterminer les propriétaires et les permissions d'un fichier à l'aide de la commande stat :
Utilisateur propriétaire :
$ stat -c %U /media/sf_Shared/
root
Groupe propriétaire :
$ stat -c %G /media/sf_Shared/
vboxsf
Droits d'accès :
$ stat -c %A /media/sf_Shared/
drwxrwx---
Les droits d'accès sont affichés en trois groupes de caractères, représentant les droits de l'utilisateur propriétaire, du groupe propriétaire et des autres, respectivement. Par exemple, les caractères
-rw-r--r--
indiquent que le propriétaire du fichier a le droit de lire et d'écrire, mais pas d'exécuter (
rw-
), tandis que les utilisateurs appartenant au groupe propriétaire et les autres utilisateurs ont uniquement le droit de lire (
r--
et
r--
). Les caractères
drwxrwx---
indiquent que le propriétaire du fichier et les utilisateurs appartenant au groupe propriétaire ont tous les droits de lecture, d'écriture et d'exécution (
rwx
et
rwx
), tandis que les autres utilisateurs se voient refuser l'accès (
---
). Le premier caractère représente le type du fichier.
Lister les fichiers appartenant à un utilisateur ou à un groupe avec l'utilitaire
find
:
# find / -group
groupname
# find / -group
groupnumber
# find / -user
user
L'utilisateur et le groupe propriétaires d'un fichier peuvent être modifiés à l'aide de la commande
chown
(changement de propriétaire). (changer le propriétaire). Les autorisations d'accès à un fichier peuvent être modifiées à l'aide de la commande
chmod
(changer le mode). (changer le mode).
Consultez
chown(1)
,
chmod(1)
et
Autorisations de fichiers Linux (en)
pour plus de détails.
Shadow
Les outils de gestion des utilisateurs, des groupes et des mots de passe sur Arch Linux proviennent du paquet
shadow
, qui est une dépendance du
méta-paquet
base
.
Liste des fichiers
Attention
Ne modifiez pas ces fichiers à la main. Il existe des utilitaires qui gèrent correctement le verrouillage et évitent d'invalider le format de la base de données. Consultez
#Gestion des utilisateurs
et
#Gestion des groupes
pour un aperçu.
Fichier
Objectif
/etc/shadow
Sécuriser les informations du compte utilisateur
/etc/passwd
Informations sur le compte utilisateur
/etc/gshadow
Contient les informations shadowées pour les comptes de groupe
/etc/group
Définit les groupes auxquels les utilisateurs appartiennent
Gestion des utilisateurs
Pour lister les utilisateurs actuellement connectés sur le système, la commande
who
peut être utilisée. Pour lister tous les comptes utilisateurs existants, y compris leurs propriétés stockées dans la
#Base de données des utilisateurs
, exécutez
passwd -Sa
en tant que «root». Consultez
passwd(1)
pour la description du format de sortie.
Pour ajouter un nouvel utilisateur, utilisez la commande
useradd
:
# useradd -m -G
additional_groups
-s
login_shell
nom_utilisateur
-m
/
--create-home
le répertoire personnel de l'utilisateur est créé sous la forme
/home/
username
. Le répertoire est alimenté par les fichiers du répertoire squelette. Les fichiers créés sont la propriété du nouvel utilisateur.
-G
/
--groups
une liste séparée par des virgules de groupes supplémentaires dont l'utilisateur est également membre. Par défaut, l'utilisateur n'appartient qu'au groupe initial.
-s
/
--shell
chemin d'accès au shell de connexion de l'utilisateur. Assurez-vous que le shell choisi est installé si vous choisissez autre chose que
Bash
. L'interpréteur de commandes par défaut pour les utilisateurs nouvellement créés peut être défini dans
/etc/default/useradd
.
Attention
Pour pouvoir se connecter, le shell de connexion doit être l'un de ceux listés dans
/etc/shells
, sinon le module
PAM
pam_shell
refusera la demande de connexion. En particulier, n'utilisez pas le chemin
/usr/bin/bash
au lieu de
/bin/bash
, à moins qu'il ne soit correctement configuré dans
/etc/shells
; consultez
FS#33677
.
Note
Le mot de passe de l'utilisateur nouvellement créé doit ensuite être défini, en utilisant
passwd
comme indiqué dans
#Exemple d'ajout d'un utilisateur
.
Si un groupe de connexion initial est spécifié par un nom ou un numéro, il doit faire référence à un groupe déjà existant. S'il n'est pas spécifié, le comportement de
useradd
dépendra de la variable
USERGROUPS_ENAB
contenue dans
/etc/login.defs
. Le comportement par défaut (
USERGROUPS_ENAB yes
) est de créer un groupe avec le même nom que le nom d'utilisateur.
Lorsque le shell de connexion est destiné à être non fonctionnel, par exemple lorsque le compte utilisateur est créé pour un service spécifique,
/usr/bin/nologin
peut être spécifié à la place d'un shell normal pour refuser poliment une connexion (consultez
nologin(8)
).
Consultez
useradd(8)
pour d'autres options prises en charge.
Exemple d'ajout d'un utilisateur
Pour ajouter un nouvel utilisateur nommé
archie
, en créant son répertoire personnel et en utilisant tous les paramètres par défaut en termes de groupes, de noms de répertoires, d'interpréteur de commandes utilisé et divers autres paramètres :
# useradd -m archie
Astuce
La valeur par défaut utilisée pour l'interpréteur de commandes de connexion du nouveau compte peut être affichée en utilisant
useradd --defaults
. La valeur par défaut est Bash, un autre shell peut être spécifié avec l'option
-s
/
--shell
; consultez
/etc/shells
pour connaître les shells de connexion valides.
Bien qu'il ne soit pas nécessaire de protéger l'utilisateur nouvellement créé
archie
par un mot de passe, il est fortement recommandé de le faire :
# passwd archie
La commande
useradd
ci-dessus crée aussi automatiquement un groupe appelé
archie
et en fait le groupe par défaut de l'utilisateur
archie
. Faire en sorte que chaque utilisateur ait son propre groupe (avec le même nom de groupe que le nom d'utilisateur) est la meilleure façon d'ajouter des utilisateurs.
Vous pouvez également modifier le groupe par défaut à l'aide de l'option
-g
, mais notez que, dans les systèmes multi-utilisateurs, il n'est pas recommandé d'utiliser un seul groupe par défaut (par exemple
users
) pour chaque utilisateur. La raison en est que, typiquement, la méthode pour faciliter l'accès partagé en écriture pour des groupes spécifiques d'utilisateurs est de définir la valeur
umask
de l'utilisateur à
002
, ce qui signifie que le groupe par défaut aura par défaut toujours accès en écriture à tout fichier que vous créez. Consultez également
Groupes privés d'utilisateurs (en)
. Si un utilisateur doit être membre d'un groupe spécifique, spécifiez ce groupe comme groupe supplémentaire lors de la création de l'utilisateur.
Dans le scénario recommandé, où le groupe par défaut a le même nom que le nom de l'utilisateur, tous les fichiers sont par défaut accessibles en écriture uniquement pour l'utilisateur qui les a créés. Pour autoriser l'accès en écriture à un groupe spécifique, les fichiers/répertoires partagés peuvent être rendus accessibles en écriture par défaut pour tous les membres de ce groupe et le groupe propriétaire peut être automatiquement fixé au groupe qui possède le répertoire parent en définissant le bit
setgid
sur ce répertoire :
# chmod g+s
notre_répertoire_partagé
.
Sinon, le groupe par défaut du créateur du fichier (généralement le même que le nom d'utilisateur) est utilisé.
Si un changement de GID est nécessaire temporairement, vous pouvez également utiliser la commande
newgrp
pour changer le GID par défaut de l'utilisateur en un autre GID au moment de l'exécution. Par exemple, après l'exécution de
newgrp
groupname
, les fichiers créés par l'utilisateur seront associés au GID
groupname
. sans qu'il soit nécessaire de se reconnecter. Pour revenir au GID par défaut, exécutez
newgrp
sans nom de groupe.
Exemple d'ajout d'un utilisateur système
Les utilisateurs système peuvent être utilisés pour exécuter des processus/daemons sous un autre utilisateur, protéger (par exemple avec
chown
) des fichiers et/ou des répertoires et d'autres exemples de renforcement de l'ordinateur.
La commande suivante permet de créer un utilisateur système sans accès au shell et sans répertoire
home
(en option, ajoutez le paramètre
-U
pour créer un groupe portant le même nom que l'utilisateur, et ajoutez l'utilisateur à ce groupe) :
# useradd -r -s /usr/bin/nologin
nom_utilisateur
.
Si l'utilisateur du système nécessite un ID d'utilisateur et de groupe spécifique, spécifiez-les avec les options
-u
/
--uid
et
-g
/
--gid
lors de la création de l'utilisateur :
# useradd -r -u 850 -g 850 -s /usr/bin/nologin
nom_utilisateur
.
Changer le nom de connexion ou le répertoire d'origine d'un utilisateur
Pour changer le répertoire personnel d'un utilisateur :
# usermod -d /my/new/home -m
nom_utilisateur
.
L'option
-m
crée aussi automatiquement le nouveau répertoire et y déplace le contenu.
Astuce
Vous pouvez créer un lien entre l'ancien répertoire personnel de l'utilisateur et le nouveau. Cela permettra aux programmes de trouver les fichiers dont les chemins sont codés en dur.
# ln -s /my/new/home/ /my/old/home
Assurez-vous qu'il n'y ait
pas
de
/
à la fin de
/my/old/home
.
Pour changer le nom de connexion d'un utilisateur :
# usermod -l
newname
oldname
Attention
Assurez-vous que vous n'êtes pas connecté en tant que l'utilisateur dont vous allez changer le nom. Ouvrez un nouveau tty (par exemple
Ctrl+Alt+F6
) et connectez-vous en tant que «root» ou en tant qu'autre utilisateur et
élevez vos privilèges
.
usermod
devrait vous empêcher de faire cette erreur.
Le changement de nom d'utilisateur est sûr et facile lorsqu'il est effectué correctement, il suffit d'utiliser la commande
usermod
. Si l'utilisateur est associé à un groupe portant le même nom, vous pouvez le renommer avec la commande
groupmod
.
Alternativement, le fichier
/etc/passwd
peut être édité directement, consultez
#Base de données des utilisateurs
pour une introduction à son format.
Gardez aussi à l'esprit les points suivants :
Si vous utilisez
sudo
, assurez-vous de mettre à jour votre
/etc/sudoers
pour refléter le(s) nouveau(x) nom(s) d'utilisateur (via la commande
visudo
en tant que root).
Les
crontabs
personnels doivent être ajustés en renommant le fichier de l'utilisateur dans
/var/spool/cron
de l'ancien au nouveau nom, puis en ouvrant
crontab -e
pour modifier les chemins pertinents et ajuster les permissions des fichiers en conséquence.
Le contenu des répertoires/fichiers personnels de
Wine
dans
~/.wine/drive_c/users
,
~/.local/share/applications/wine/Programs
et peut-être plus doivent être renommés/édités manuellement.
Certains modules complémentaires de Thunderbird, comme
Enigmail
, peuvent devoir être réinstallés.
Tout ce qui se trouve sur votre système (raccourcis de bureau, scripts shell, etc.) qui utilise un chemin absolu vers votre répertoire personnel (c'est-à-dire
/home/oldname
) devra être modifié pour refléter votre nouveau nom. Pour éviter ces problèmes dans les scripts shell, utilisez simplement les variables
~
ou
$HOME
pour les répertoires personnels.
N'oubliez pas non plus de modifier en conséquence les fichiers de configuration dans
/etc/
qui dépendent de votre chemin absolu (par exemple Samba, CUPS, etc.). Une bonne façon de savoir quels fichiers vous devez mettre à jour consiste à utiliser la commande grep de cette manière :
grep -r
old_user
*
Autres exemples de gestion des utilisateurs
Pour saisir les informations relatives aux utilisateurs pour le commentaire
GECOS
(par exemple le nom complet de l'utilisateur), tapez :
# chfn
username
(de cette façon,
chfn
fonctionne en mode interactif).
Alternativement, le commentaire GECOS peut être défini plus librement avec :
# usermod -c "Commentaire"
username
Pour marquer le mot de passe d'un utilisateur comme expiré, lui demandant de créer un nouveau mot de passe lors de sa première connexion, tapez :
# chage -d 0
username
Les comptes utilisateurs peuvent être supprimés avec la commande
userdel
:
# userdel -r
username
L'option
-r
spécifie que le répertoire personnel de l'utilisateur et le spool de courrier doivent également être supprimés.
Pour changer le shell de connexion de l'utilisateur :
# usermod -s
/bin/bash
username
Astuce
Le script
adduser
AUR
permet d'effectuer les tâches de
useradd
,
chfn
et
passwd
de manière interactive. Consultez également
FS#32893
.
Base de données des utilisateurs
Les informations sur les utilisateurs locaux sont stockées dans le fichier
/etc/passwd
en texte clair : chacune de ses lignes représente un compte utilisateur et comporte sept champs délimités par des deux-points.
compte:mot de passe:UID:GID:GECOS:répertoire:shell
.
Où :
account
est le nom de l'utilisateur. Ce champ ne peut pas être vide. Les règles de nommage standard *NIX s'appliquent.
password
est le mot de passe de l'utilisateur.
Attention
Le fichier
passwd
est lisible par le monde entier, donc stocker des mots de passe (hachés ou non) dans ce fichier n'est pas sûr. Arch Linux utilise plutôt des mots de passe cachés
«shadowed passwords»
: le champ
password
contiendra un caractère de remplacement (
x
) indiquant que le mot de passe haché est enregistré dans le fichier à accès restreint
/etc/shadow
. Pour cette raison, il est recommandé de toujours changer les mots de passe en utilisant la commande
passwd
.
UID
est l'identifiant numérique de l'utilisateur. Dans Arch, le premier nom de connexion (après root) pour un utilisateur dit normal, par opposition aux services, est UID 1000 par défaut ; les entrées UID suivantes pour les utilisateurs doivent être supérieures à 1000.
GID
est l'identifiant numérique du groupe primaire pour l'utilisateur. Les valeurs numériques des GID sont listées dans
/etc/group
.
GECOS
est un champ facultatif utilisé à des fins d'information ; il contient généralement le nom complet de l'utilisateur, mais il peut également être utilisé par des services tels que
finger
et géré avec la commande
chfn
. Ce champ est facultatif et peut être laissé vide.
directory
est utilisé par la commande login pour définir la variable d'environnement
$HOME
. Plusieurs services ayant leurs propres utilisateurs utilisent
/
, mais les utilisateurs normaux définissent généralement un répertoire sous
/home
.
shell
est le chemin vers le
«shell»
par défaut de l'utilisateur. Ce champ est facultatif et la valeur par défaut est
/bin/bash
.
Exemple :
archie:x:1001:1003:Archie,
un commentaire ici
,,:/home/archie:/bin/bash
En résumé, cela signifie : utilisateur
archie
, dont le mot de passe se trouve dans
/etc/shadow
, dont l'UID est 1001 et dont le groupe principal est 1003. Archie est son nom complet et un commentaire est associé à son compte ; son répertoire personnel est
/home/archie
et son shell est
Bash
.
La commande
pwck
peut être utilisée pour vérifier l'intégrité de la base de données des utilisateurs. Elle peut trier la liste des utilisateurs par GID en même temps, ce qui peut être utile pour la comparaison :
# pwck -s
Attention
Les fichiers par défaut d'Arch Linux sont créés en tant que fichiers
.pacnew
par les nouvelles versions du paquet
filesystem
. À moins que Pacman n'affiche des messages relatifs à l'action, ces fichiers
.pacnew
peuvent, et devraient, être ignorés/supprimés. Les nouveaux utilisateurs et groupes par défaut requis sont ajoutés ou réajoutés selon les besoins par
systemd-sysusers(8)
ou le script d'installation du paquet.
Contrôles d'intégrité automatiques
Au lieu d'exécuter
pwck
/
grpck
manuellement, le
timer de systemd
shadow.timer
, qui fait partie de, et est activé par, l'installation du paquet
shadow
, lancera
shadow.service
quotidiennement.
shadow.service
exécutera
pwck(8)
et
grpck(8)
pour vérifier l'intégrité des fichiers de mots de passe et de groupe.
Si des anomalies sont signalées, le groupe peut être modifié avec la commande
vigr(8)
et les utilisateurs avec
vipw(8)
. Ceci fournit une marge de protection supplémentaire dans la mesure où ces commandes verrouillent les bases de données pour l'édition. Notez que l'éditeur de texte par défaut est vi, mais un autre éditeur sera utilisé si la variable d'environnement
EDITOR
. Si la
variable d'environnement
est définie, cet éditeur sera utilisé à la place.
Gestion des groupes
/etc/group
est le fichier qui définit les groupes sur le système (consultez
group(5)
pour plus de détails). Il y a aussi son compagnon
gshadow
qui est rarement utilisé. Ses détails se trouvent dans
gshadow(5)
.
Affichez l'appartenance à un groupe avec la commande
groups
:
$ groups
user
Si
user
est omis, les noms des groupes de l'utilisateur actuel sont affichés.
La commande
id
fournit des détails supplémentaires, comme l'UID de l'utilisateur et les GIDs associés :
$ id
user
Pour lister tous les groupes du système :
$ cat /etc/group
Créer de nouveaux groupes avec la commande
groupadd
:
# groupadd
groupe
Note
Si l'utilisateur est actuellement connecté, il doit se déconnecter et se reconnecter pour que le changement prenne effet.
Ajouter des utilisateurs à un groupe avec la commande
gpasswd
(consultez
FS#58262
concernant les erreurs) :
# gpasswd -a
user
group
Vous pouvez également ajouter un utilisateur à des groupes supplémentaires avec la commande
usermod
(remplacez
additional_groups
par une liste séparée par des virgules) :
# usermod -aG
groupes_supplémentaires
nom_d_utilisateur
Attention
Si l'option
-a
est omise dans la commande
usermod
ci-dessus, l'utilisateur est retiré de tous les groupes qui ne sont pas listés dans
additional_groups
(c'est-à-dire que l'utilisateur ne sera membre que des groupes listés dans
additional_groups
).
Modifier un groupe existant avec la commande
groupmod
, par exemple pour renommer le groupe
old_group
en
new_group
:
# groupmod -n
new_group
old_group
Note
Ceci changera le nom d'un groupe mais pas le GID numérique du groupe. Par conséquent, tous les fichiers appartenant précédemment à
old_group
appartiendront à
new_group
.
Pour supprimer des groupes existants :
# groupdel
group
Pour supprimer les utilisateurs d'un groupe :
# gpasswd -d
user
group
La commande
grpck
peut être utilisée pour vérifier l'intégrité des fichiers de groupe du système.
Attention
Les fichiers par défaut d'Arch Linux sont créés en tant que fichiers .pacnew par les nouvelles versions du paquet
filesystem
. À moins que Pacman n'affiche des messages relatifs à l'action, ces fichiers
.pacnew
peuvent, et devraient, être ignorés/supprimés. Les nouveaux utilisateurs et groupes par défaut requis sont ajoutés ou réajoutés selon les besoins par
systemd-sysusers(8)
ou le script d'installation du paquet.
Liste des groupes
Cette section explique le but des groupes essentiels du paquet
filesystem
. Il existe de nombreux autres groupes, qui seront créés avec le
GID
correct lorsque le paquet correspondant sera installé. Consultez la page principale du logiciel pour plus de détails.
Note
Une suppression ultérieure d'un paquet ne supprime pas à nouveau l'utilisateur/groupe (UID/GID) créé automatiquement. Ceci est intentionnel car tout fichier créé pendant son utilisation serait autrement laissé orphelin, ce qui constituerait un risque potentiel pour la sécurité.
Groupes d'utilisateurs
Les utilisateurs non «root» doivent souvent être ajoutés à certains des groupes suivants pour permettre l'accès aux périphériques matériels et faciliter l'administration du système :
Groupe
Fichiers affectés
Objectif
adm
Groupe d'administration, couramment utilisé pour donner un accès en lecture aux journaux protégés. Il a un accès complet en lecture aux fichiers du
journal
.
ftp
/srv/ftp/
Accès aux fichiers servis par
Serveurs FTP
.
games
/var/games
Accès à certains logiciels de jeux.
http
/srv/http/
Accès aux fichiers servis par
Serveurs HTTP
.
log
Accès aux fichiers journaux dans
/var/log/
créés par
syslog-ng
.
rfkill
/dev/rfkill
}.
Droit de contrôler l'état d'alimentation des périphériques sans fil (utilisé par
rfkill
).
sys
Droit de gérer les imprimantes dans
CUPS
.
systemd-journal
/var/log/journal/*
Peut être utilisé pour fournir un accès en lecture seule aux journaux de systemd, comme alternative à
adm
et
wheel
.
[1]
. Sinon, seuls les messages générés par l'utilisateur sont affichés.
uucp
/dev/ttyS[0-9]+
,
/dev/tts/[0-9]+
,
/dev/ttyUSB[0-9]+
,
/dev/ttyACM[0-9]+
,
/dev/rfcomm[0-9]+
RS-232
ports série et périphériques qui y sont connectés.
wheel
Groupe d'administration, couramment utilisé pour donner des privilèges permettant d'effectuer des actions administratives. Il a un accès complet en lecture aux fichiers du
journal
et le droit d'administrer les imprimantes dans
CUPS
. Il peut également être utilisé pour donner accès aux utilitaires
sudo
et
su
(aucun des deux ne l'utilise par défaut).
Groupes du système
Les groupes suivants sont utilisés à des fins d’administration, une affectation aux utilisateurs n'est nécessaire que pour des objectifs spécifiques :
Groupe
Fichiers affectés
Objectif
dbus
utilisé en interne par
dbus
kmem
/dev/port
,
/dev/mem
,
/dev/kmem
}
locate
/usr/bin/locate
,
/var/lib/locate
,
/var/lib/mlocate
,
/var/lib/slocate
Consulter
Locate
.
lp
/dev/lp[0-9]*
,
/dev/parport[0-9]*
Accès aux périphériques du port parallèle (imprimantes et autres).
mail
/usr/bin/mail
nobody
Groupe non privilégié.
proc
/proc/
pid
/
Un groupe autorisé à prendre connaissance des informations sur les processus, autrement interdites par l'option de montage
hidepid=
du
système de fichiers proc
. Le groupe doit être explicitement défini avec l'option de montage
gid=
.
root
/*
Administration et contrôle complets du système (root, admin).
smmsp
Groupe
sendmail
.
tty
/dev/tty
,
/dev/vcc
,
/dev/vc
,
/dev/ptmx
utmp
/run/utmp
,
/var/log/btmp
,
/var/log/wtmp
Groupes pré-systemd
Avant la migration de Arch vers
systemd
, les utilisateurs devaient être ajoutés manuellement à ces groupes afin de pouvoir accéder aux périphériques correspondants. Cette méthode a été abandonnée en faveur de
udev
qui marque les périphériques avec un
tag
uaccess
et
logind
assignant les permissions aux utilisateurs dynamiquement via des
ACLs
en fonction de la session actuellement active. Notez que la session ne doit pas être interrompue pour que cela fonctionne (consultez
General troubleshooting#Session permissions
pour le vérifier).
Il existe quelques exceptions notables qui nécessitent l'ajout d'un utilisateur à certains de ces groupes : par exemple, si vous souhaitez autoriser les utilisateurs à accéder à l'appareil même lorsqu'ils ne sont pas connectés. Cependant, notez que l'ajout d'utilisateurs à ces groupes peut même entraîner la rupture de certaines fonctionnalités (par exemple, le groupe
audio
empêchera le changement rapide d'utilisateur et permettra aux applications de bloquer le mixage logiciel).
Groupe
Fichiers affectés
Objectif
audio
/dev/audio
,
/dev/snd/*
,
/dev/rtc0
Accès direct au matériel de sonorisation, pour toutes les sessions. Il est toujours nécessaire pour faire fonctionner
ALSA
et
OSS
dans les sessions distantes, consultez
ALSA#User privileges
. Également utilisé dans
JACK
pour donner aux utilisateurs des droits de traitement en temps réel.
disk
/dev/sd[a-zA-Z]*[1-9]*
Accès aux périphériques blocs non affectés par d'autres groupes tels que
optical
,
floppy
et
storage
.
floppy
/dev/fd[0-9]*
Accès aux lecteurs de disquettes.
input
/dev/input/event[0-9]*
,
/dev/input/mouse[0-9]*
Accès aux périphériques d'entrée. Introduit dans systemd 215
[2]
.
kvm
/dev/kvm
Accès aux machines virtuelles utilisant
KVM
.
optical
/dev/sr[0-9]
,
/dev/sg[0-9]
Accès aux périphériques optiques tels que les lecteurs de CD et de DVD.
scanner
/var/lock/sane
Accès au matériel du scanner.
storage
/dev/st[0-9]*[lma]*
,
/dev/nst[0-9]*[lma]*
Utilisé pour accéder aux disques amovibles tels que les disques durs USB, les lecteurs flash/jump, les lecteurs MP3 ; permet à l'utilisateur de monter les périphériques de stockage.
[3]
Maintenant uniquement pour l'accès direct aux bandes si aucune règle udev personnalisée n'est impliquée.
[4]
[5]
[6]
Également requis pour la manipulation de certains périphériques via
udisks/udisksctl
.
video
/dev/fb/0
,
/dev/misc/agpgart
Accès aux périphériques de capture vidéo, accélération matérielle 2D/3D, framebuffer (
X
peut être utilisé
sans
appartenir à ce groupe).
Groupes non utilisés
Les groupes suivants ne sont actuellement utilisés à aucune fin :
Groupe
Fichiers concernés
Objectif
bin
aucun
Historique
daemon
lock
Utilisé pour l'accès au fichier de verrouillage. Requis par exemple par
gnokii
AUR
.
mem
network
Inutilisé par défaut. Peut être utilisé, par exemple, pour accorder l'accès à NetworkManager (consultez
NetworkManager#Set up PolicyKit permissions
).
power
uuidd
users
Le groupe principal des utilisateurs lorsque les groupes privés d'utilisateurs ne sont pas utilisés (généralement non recommandé), par exemple lors de la création d'utilisateurs avec
USERGROUPS_ENAB no
dans
/etc/login.defs
ou l'option
-N
/
--no-user-group
de
useradd
.
Autres outils liés à ces bases de données
The factual accuracy of this article or section is disputed.
Reason:
Does Arch Linux really prefer
chage
over
vipw -s
and
vigr -s
. (Discuss in
Talk:Users and groups#Utilities to handle the shadow file in acrh
)
getent(1)
peut être utilisé pour lire un enregistrement particulier.
% getent groupe tty
Comme indiqué dans
#Base de données des utilisateurs
, l'utilisation d'utilitaires spécifiques tels que
passwd
et
chfn
, est une meilleure façon de modifier les bases de données. Néanmoins, il y a des moments où les modifier directement est préférable. Pour ces cas,
vipw
,
vigr
sont fournis. Il est fortement recommandé d'utiliser ces éditeurs personnalisés plutôt qu'un éditeur de texte général, car ils verrouillent les bases de données contre les modifications simultanées. Ils permettent également d'éviter les entrées invalides et/ou les erreurs de syntaxe. Notez qu'Arch Linux préfère l'utilisation d'outils spécifiques, comme
chage
, pour modifier la base de données fantôme plutôt que d'utiliser
vipw -s
et
vigr -s
de
util-linux
. Consultez également
FS#31414
.