¿Cuál es la diferencia entre un usuario normal y un usuario del sistema?

124

Alguna documentación que estoy revisando tiene un cambio booleano sobre si un usuario es o no un usuario del 'sistema' o un usuario 'normal' (por defecto es 'normal').

¿Cuál es la diferencia entre estos dos modos de envío de usuarios? No necesito saber qué es un usuario o por qué los necesita (incluso los "falsos"), pero esta distinción particular no es intuitiva para mí.

Sean Allred
fuente

Respuestas:

85

Esa no es una diferencia técnica, sino una decisión organizativa. Por ejemplo, tiene sentido mostrar a los usuarios normales en un cuadro de diálogo de inicio de sesión (para que pueda hacer clic en ellos en lugar de tener que escribir el nombre de usuario), pero no mostrar las cuentas del sistema (los UID bajo los cuales se ejecutan los demonios y otros procesos automáticos) allí .

Por lo tanto, se define un borde o más bien dos rangos para los UID para los dos grupos. En openSUSE el archivo /etc/login.defscontiene estas líneas:

# Valores mínimos / máximos para la selección automática de uid en useradd
# #
# SYS_UID_MIN a SYS_UID_MAX inclusive es el rango para
# UID para cuentas administrativas y de sistema asignadas dinámicamente.
# UID_MIN a UID_MAX inclusive es el rango de UID de forma dinámica
# cuentas de usuario asignadas.
# #
UID_MIN 1000
UID_MAX 60000
# Cuentas del sistema
SYS_UID_MIN 100
SYS_UID_MAX 499

y

# Valores mínimos / máximos para la selección automática de gid en groupadd
# #
# SYS_GID_MIN a SYS_GID_MAX inclusive es el rango para
# GID para grupos administrativos y de sistema asignados dinámicamente.
# GID_MIN a GID_MAX inclusive es el rango de GIDs de forma dinámica
# grupos asignados.
# #
GID_MIN 1000
GID_MAX 60000
# Cuentas del sistema
SYS_GID_MIN 100
SYS_GID_MAX 499
Hauke ​​Laging
fuente
3
Vale la pena señalar que Debian y otros tendrán reglas del sistema ocultas para la mayoría (como en las reglas PAM que rigen las opciones de autenticación del sistema) que se distinguen en función de si los UID están por encima de 1000 o menos. Elija sus UID con cuidado.
Dave
38

La principal diferencia es el propósito de la cuenta, por lo que es principalmente una distinción útil para administradores y auditores. Hay algunas diferencias técnicas, de la adduserdocumentación:

Los usuarios del sistema se crearán sin información de antigüedad /etc/shadowy sus identificadores numéricos se eligen en el rango SYS_UID_MIN- SYS_UID_MAXdefinido en /etc/login.defslugar de UID_MIN- UID_MAX(y sus contrapartes GID para la creación de grupos).

Por lo que puedo decir (no sé Puppet), la diferencia desde la perspectiva de Puppet es si pasa la -ropción a adduser.

Para una perspectiva más amplia, vea ¿Es posible "ocultar" una cuenta de / etc / passwd?

Gilles
fuente
En CentOS: aunque useradd --system foouserno crea ningún directorio de inicio para ese usuario según la página man de useradd(8)(que dice: Tenga en cuenta que useradd no creará un directorio de inicio para dicho usuario, independientemente de la configuración predeterminada en /etc/login.defs (CREATE_HOME) . se tiene que especificar las opciones -m si quieres un directorio principal para un sistema de cuenta que se creó. ), el directorio inicial del nuevo usuario foouserse da como el inexistente /home/foouseren /etc/passwd.
David Tonhofer
Además, el UID se selecciona contando desde SYS_UID_MAX, generalmente 1000, por lo que tenemos el UID 998, por ejemplo, para foouser.
David Tonhofer