Users and groups (Français) - ArchWiki

Jump to content
From ArchWiki
É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 :

  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 adduserAUR 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] [7] É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 gnokiiAUR.
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.

Category:

- Security (Français)

Hidden category:

- Pages or sections flagged with Template:Accuracy