bin
no ha sido adecuadamente para nada durante toda la vida de Linux.
Al igual que los niveles de ejecución y el init
desove getty
debido a los registros /etc/inittab
, la bin
cuenta 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 nobody
usuario. 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 bin
usuario poseía varios directorios como /bin
y /usr/bin
(y de hecho algunos de los otros mencionados en /unix//a/448799/5132 como /usr/mbin
y /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/passwd
archivo 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 bin
cuenta 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 bin
cuenta 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 bin
acceso 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 chown
que las cosas bin
pertenecí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
: bin
propiedad en root
: wheel
propiedad en 1998 , por ejemplo.
Otras lecturas