¿Para qué es el usuario bin?

27

Como escribí en /unix//a/484626/5132, esto es digno de sus propias preguntas y respuestas.

En sistemas operativos Linux ...

% getent passwd bin
bin: x: 2: 2: bin: / bin: / usr / sbin / nologin
%
... y en FreeBSD ...

% getent passwd bin
bin: *: 3: 7: comandos binarios y fuente: /: / usr / sbin / nologin
%
... y en OpenBSD ...

$ getent passwd bin
bin: *: 3: 7: Comandos de binarios y fuente: /: / sbin / nologin
PS
… Todavía hoy se puede encontrar una bincuenta. Pero es prácticamente indocumentado. La versión 5 de Linux Standard Base dice simplemente ...

Notas: La binID de usuario / ID de grupo se incluye para compatibilidad con aplicaciones heredadas. Las nuevas aplicaciones ya no deberían usar la binID de usuario / ID de grupo.
... sin explicar la naturaleza del mecanismo de compatibilidad. Como Joey Hess lo devolvió en 2001 :

bin:

AYUDA : Ningún archivo en mi sistema es propiedad de un usuario o grupo bin. ¿De qué sirven? Históricamente, probablemente fueron los dueños de binarios en /bin? No se menciona en el FHS, la política de Debian o el registro de cambios de base-passwd o base-files.

La pregunta de M. Hess sigue sin respuesta en el documento de Debian para su paquete base-passwd hasta el día de hoy , 17 años después.

Entonces, ¿para qué sirve la bincuenta?

JdeBP
fuente
Una pregunta relacionada es unix.stackexchange.com/questions/244989 .
JdeBP

Respuestas:

34

bin no ha sido adecuadamente para nada durante toda la vida de Linux.

Al igual que los niveles de ejecución y el initdesove gettydebido a los registros /etc/inittab, la bincuenta era obsoleta en el mundo Unix incluso antes de que se inventara Linux. Fue una idea de la década de 1980 que se rompió con la invención y la adopción de NFS (Network File System) y su nobodyusuario. Su presencia continua en las bases de datos de cuentas de usuario a fines de la década de 2010, cuando las personas en el mundo comercial de Unix suspendieron activamente su uso en la década de 1990, es un testimonio de la inercia.

La idea era que el binusuario poseía varios directorios como /biny /usr/bin(y de hecho algunos de los otros mencionados en /unix//a/448799/5132 como /usr/mbiny /usr/5bin) y el UID / no archivos set-GID dentro de ellos. También poseía archivos y directorios doco, como páginas de manual.

(En casos más extremos, incluso en algunos Unices, incluso era de su propiedad /y /etc, aunque este último fue un error reconocido en la creación de una imagen del sistema operativo SunOS. El primero fue un error).

Por lo tanto, el permiso para promulgar actualizaciones de software, ejecutándose como usuario bin, no era un permiso general, ejecutándose como el superusuario, para realizar cualquier acción contra el sistema. El actualizador de software no podía leer / escribir archivos de usuarios privados, acceder a buzones, etc. que actualiza los softwares como el superusuario, por supuesto, podría.

Varias otras entradas especiales de cuenta en su /etc/passwdarchivo deben tener contraseñas. Estas son las cuentas administrativas - bin, daemon, sys,uucp , lp, y adm. [...] La razón principal de la existencia de estas cuentas es la propiedad segura de comandos, scripts, archivos y dispositivos. Y algunos administradores instalan contraseñas para estas cuentas y en realidad las usan. […] Una bincuenta sin contraseña es extremadamente útil para un interruptor del sistema.
- Rebecca Thomas y Rik Farrow (1989). Guía de administración del sistema UNIX para V . Prentice Hall. ISBN 9780139428890. p. 452.

NFS se inventó a principios de la década de 1980 y rompió esta idea por completo.

Ya estaba en terreno inestable, como alude a la cita anterior. Esto se debió a la capacidad de actualizar los archivos de imagen del programa para las utilidades básicas que el superusuario ejecutó de forma rutinaria, como/bin/ls por ejemplo, es un vector directo para obtener privilegios de superusuario, y la división del acceso al usar una bincuenta simplemente se evitó accidentalmente modificando los directorios incorrectos en lugar de evitar que un malhechor obtenga acceso de superusuario.

El advenimiento de NFS lo destacó. Aunque NFS tenía un mecanismo para reasignar la cuenta de superusuario a una cuenta de usuario común que no es del sistema, no tenía el mismo para cuentas que no son de raíz bin. Entonces, si alguien pudiera obtener binacceso en un cliente NFS, les daríabin acceso a los archivos del sistema operativo en un servidor NFS. De hecho, permitió que un superusuario en un cliente NFS, que de otro modo se reasignaría a un usuario común que no fuera del sistema en el servidor, obtuviera acceso de propietario a los archivos y directorios del sistema operativo del servidor.

Esto era de conocimiento común a principios de la década de 1990, y en ese momento se sabía chownque las cosas binpertenecían al superusuario, para tapar este agujero que ya se había convertido en un elemento estándar de informes en las herramientas de auditoría de seguridad de Unix y se advirtió contra en los gustos de la instalación doco para Sendmail.

En lo que se refiere a las preguntas de M. Hess, esta idea nunca fue adoptado en Debian, que no entró en años de existencia después de que se sabe que es una mala idea en el mundo Unix, que de hecho sabía que era una mala idea antes de Linux en sí fue inventado. Los sistemas operativos BSD cuya historia hace volver estiramiento en la década de 1980 hace tiempo que han eliminado la propiedad real, pero no obstante retener la cuenta de usuario en la base de datos de cuenta. FreeBSD convirtió bin: binpropiedad en root: wheelpropiedad en 1998 , por ejemplo.

Otras lecturas

JdeBP
fuente
1
Hoy he visto archivos propiedad del binusuario y el grupo en sistemas AIX. Es posible que IBM lo use por alguna razón. Un conjunto de archivos AIX que viene a la mente es java. Tendré que subir a los sistemas AIX en el trabajo para verificar más.
Peschke
Todavía hay un número considerable de archivos bin: propiedad de bin en un sistema AIX hoy en día. El IBM Knowledge Center para AIX 7.2 , en la sección Seguridad - Asegurar el sistema operativo base - Usuarios, grupos y contraseñas tiene la página vinculada que explica el propósito de las diversas "Cuentas de usuario especiales del sistema", incluidas bin.
Jeff Schaller
Desde el enlace anterior, nobin es una de las ID de usuario predeterminadas comunes que puede eliminar . También: la entrada de contraseña es:binbin:!:2:2::/bin:
Jeff Schaller
-8

Hay dos usos de casos que uso bin para 2018. 1: ejecutables, principalmente para archivos .exe del lado del servidor web utilizados para completar funciones. Y 2: registros: a veces pongo mis archivos .log o .dat en mi carpeta bin.

jehovahsays
fuente
3
¿Estás hablando del /bindirectorio? O el usuario bin?
Sparhawk
66
¿Estás incluso en algún tipo de Unix? Estás hablando de .exearchivos.
user2357112 es compatible con Monica el
55
¿Y por qué colocaría archivos de registro o archivos de configuración en un directorio "bin"?
Lightness compite con Monica el