Quelle est la différence entre un utilisateur normal et un utilisateur du système?

124

Dans certains documents que je consulte, un commutateur booléen est activé, qu’il s’agisse ou non d’un utilisateur «système» ou d’un utilisateur «normal» (réglé par défaut sur «normal»).

Quelle est la différence entre ces deux modes d'utilisation? Je n'ai pas besoin de savoir ce qu'est un utilisateur ni pourquoi vous en avez besoin (même les «faux»), mais cette distinction particulière n'est pas intuitive pour moi.

Sean Allred
la source

Réponses:

85

Ce n'est pas une différence technique mais une décision organisationnelle. Par exemple, il est logique d'afficher les utilisateurs normaux dans une boîte de dialogue de connexion (afin que vous puissiez cliquer dessus au lieu de devoir taper le nom d'utilisateur), mais pas pour afficher les comptes système (les UID sous lesquels les démons et autres processus automatiques s'exécutent). .

Ainsi, une bordure est définie ou plutôt deux plages pour les UID des deux groupes. Dans openSUSE, le fichier /etc/login.defscontient les lignes suivantes:

# Valeurs min / max pour la sélection automatique de l'identifiant utilisateur dans useradd
#
# SYS_UID_MIN à SYS_UID_MAX inclus est la plage pour
# UID pour les comptes système et administratifs alloués dynamiquement.
# UID_MIN à UID_MAX inclus est la plage des UID de manière dynamique
# comptes utilisateurs alloués.
#
UID_MIN 1000
UID_MAX 60000
# Comptes système
SYS_UID_MIN 100
SYS_UID_MAX 499

et

# Valeurs min / max pour la sélection automatique de gid dans groupadd
#
# SYS_GID_MIN à SYS_GID_MAX inclus est la plage pour
# GID pour les groupes système et administratifs alloués dynamiquement.
# GID_MIN à GID_MAX inclus est la plage de GID de manière dynamique
# groupes alloués.
#
GID_MIN 1000
GID_MAX 60000
# Comptes système
SYS_GID_MIN 100
SYS_GID_MAX 499
Hauke ​​Laging
la source
3
Il convient de noter que Debian et d’autres auront des règles système cachées pour la plupart (comme dans les règles PAM régissant les choix d’authentification du système), qui distinguent selon que les UID sont supérieurs à 1000 ou inférieurs à. Choisissez vos UID avec soin.
Dave
38

La principale différence est l’objet du compte. Il s’agit donc d’une distinction utile pour les administrateurs et les auditeurs. Il y a quelques différences techniques - de la adduserdocumentation:

Les utilisateurs du système seront créés sans information de vieillissement dans /etc/shadow, et leurs identifiants numériques sont choisis dans la SYS_UID_MIN- SYS_UID_MAXplage, défini dans /etc/login.defs, au lieu de UID_MIN- UID_MAX(et leurs homologues GID pour la création de groupes).

Autant que je sache (je ne connais pas Puppet), la différence de son point de vue est de savoir si l' -roption passe à adduser.

Pour une perspective plus large, voir Est-il possible de "cacher" un compte à / etc / passwd?

Gilles
la source
Sur CentOS: Bien que useradd --system foouserne crée pas de répertoire de base pour cet utilisateur, conformément à la page de manuel de useradd(8)(qui dit: Notez que useradd ne créera pas de répertoire de base pour un tel utilisateur, quel que soit le paramètre par défaut défini dans /etc/login.defs (CREATE_HOME) Vous devez spécifier les options -m si vous souhaitez créer un répertoire de base pour un compte système. ), Le répertoire de base du nouvel utilisateur foouserest considéré comme inexistant /home/foouserdans /etc/passwd.
David Tonhofer
De plus, l'UID est sélectionné par décompte SYS_UID_MAX, généralement entre 1000. Nous avons donc l'UID 998 par exemple pour le foouser.
David Tonhofer