¿Hay alguna razón por la que / etc / passwd sea legible en todo el mundo? No es como los hashes de contraseñas que no deberían exponerse, solo quiero saber por qué.
¿Hay alguna razón por la que / etc / passwd sea legible en todo el mundo? No es como los hashes de contraseñas que no deberían exponerse, solo quiero saber por qué.
Respuestas:
/etc/passwd
a veces se llama la base de datos del usuario. Eso debería darnos una pista de por qué debe ser legible por todos. Cualquier utilidad que inspeccione los metadatos de los archivos debe poder leer /etc/passwd
(y /etc/group
) para poder resolver los ID numéricos utilizados por el núcleo y sus subsistemas con los nombres amigables para los humanos en los que confiamos. Las herramientas que necesitan encontrar su directorio de inicio (agentes de entrega de correo, etc.) buscan esa información /etc/passwd
y los inet
miniservers fingerd
buscan sus detalles /etc/passwd
.
Como se ha señalado en otra parte, no hay datos particularmente confidenciales en el archivo, ya que los sistemas modernos colocan los hashes de contraseña en un archivo de contraseña oculto, que solo puede leer el usuario root.
passwd
cuando de hecho este nombre no refleja lo que está en el archivo?
/etc/passwd
(¡sin cifrar al principio!). En el momento en que los hashes de contraseña se movieron a un archivo oculto, ya existían muchas utilidades que dependían de otros datos /etc/passwd
, por lo que el nombre se quedó.
/etc/passwd
no contiene hashes de contraseñas (por lo que no es un gran problema). /etc/shadow
contiene hashes de contraseña y solo es legible por root (y grupo de sombra)
~user
al directorio de inicio del usuario, en realidad está buscando eso/etc/passwd
, por lo que es bueno tenerlo legible en lugar de otorgar a todos los shells derechos elevados.