Pourquoi / etc / passwd est-il ouvert au public pour lecture?

12

Y a-t-il une raison pour que / etc / passwd soit lisible dans le monde entier? Ce n'est pas comme des hachages de mot de passe qui ne devraient pas être exposés, je veux juste savoir pourquoi.

Marguerite
la source
1
Je pense que lorsque votre shell de choix sait se développer ~userdans le répertoire personnel de l'utilisateur, il le recherche en fait /etc/passwd, il est donc agréable de le lire au lieu de donner à tous les shells des droits élevés.
Ulrich Schwarz
L'extension de "~" est une fonction de la variable $ HOME - définissez $ HOME sur / var / tmp et ensuite si vous faites "cd ~" - elle changera en / var / tmp.
Saurabh Hirani,

Réponses:

14

/etc/passwdest parfois appelée la base de données des utilisateurs. Cela devrait nous donner une idée de la raison pour laquelle il doit être lisible par tout le monde. Tout utilitaire qui inspecte les métadonnées des fichiers doit pouvoir lire /etc/passwd(et /etc/group) afin de pouvoir résoudre les identifiants numériques utilisés par le noyau et ses sous-systèmes aux noms conviviaux sur lesquels nous nous appuyons. Les outils qui ont besoin de trouver votre répertoire personnel (agents de distribution de courrier, etc.) recherchent ces informations dans /etc/passwd, et les inetmini - serveurs comme fingerdrecherchent vos coordonnées dans /etc/passwd.

Comme cela a été souligné ailleurs, il n'y a pas de données particulièrement sensibles dans le fichier, car les systèmes modernes placent les hachages de mot de passe dans un fichier de mot de passe caché, qui n'est lisible que par root.

D_Bye
la source
6
Alors, est-ce pour des raisons historiques qu'il est appelé passwdalors qu'en fait ce nom ne reflète pas ce qui est dans le fichier?
Emanuel Berg
8
Oui, je le pense. Dans les toutes premières versions d'UNIX, les mots de passe étaient en effet stockés dans /etc/passwd(non cryptés au début!). Au moment où les hachages de mot de passe ont été déplacés vers un fichier caché, de nombreux utilitaires existaient déjà qui s'appuyaient sur d'autres informations /etc/passwd, donc le nom est resté.
D_Bye
7

/etc/passwdne contient pas de hachage de mot de passe (ce n'est donc pas un gros problème). /etc/shadowcontient des hachages de mot de passe et n'est lisible que par root (& groupe d'ombres)

Manula Waidyanatha
la source
1
Sur certaines configurations, les mots de passe ne sont même pas dans ce fichier car ils sont dans LDAP ou dans un autre backend sécurisé!
Tim