web-dev-qa-db-fra.com

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

Certains documentation Je suis en train de passer a un commutateur booléen pour savoir si un utilisateur est un utilisateur "système" ou un utilisateur "normal" (par défaut à "normal").

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

134
Sean Allred

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 d'avoir à taper le nom d'utilisateur), mais cela ne montrerait pas 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.defs contient ces lignes:

# Valeurs min/max pour la sélection automatique des UID dans useradd 
 # 
 # SYS_UID_MIN à SYS_UID_MAX inclus est la plage de 
 # UID pour les comptes administratifs et système alloués dynamiquement. 
 # UID_MIN à UID_MAX inclus est la plage d'UID de 
 # Comptes d'utilisateurs alloués dynamiquement. 
 # 
 UID_MIN 1000 
 UID_MAX 60000 
 # Système comptes 
 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 de 
 # GID pour les groupes d'administration et système alloués dynamiquement. 
 # GID_MIN à GID_MAX inclus est la plage de GID de 
 # Groupes alloués dynamiquement. 
 # 
 GID_MIN 1000 
 GID_MAX 60000 
 # Comptes système 
 SYS_GID_MIN 100 
 SYS_GID_MAX 499
92
Hauke Laging

La principale différence est le but du compte, c'est donc principalement une distinction utile pour les administrateurs et les auditeurs. Il existe quelques différences techniques - par rapport à la documentation adduser :

Les utilisateurs du système seront créés sans aucune information de vieillissement dans /etc/shadow, et leurs identificateurs numériques sont choisis dans le SYS_UID_MINSYS_UID_MAX plage, définie dans /etc/login.defs, au lieu de UID_MINUID_MAX (et leurs homologues GID pour la création de groupes).

Pour autant que je sache (je ne connais pas Puppet), la différence du point de vue de Puppet est de savoir s'il passe le -r option pour adduser.

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