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.
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.
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)
~user
dans 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.Réponses:
/etc/passwd
est 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 lesinet
mini - serveurs commefingerd
recherchent 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.
la source
passwd
alors qu'en fait ce nom ne reflète pas ce qui est dans le fichier?/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é./etc/passwd
ne contient pas de hachage de mot de passe (ce n'est donc pas un gros problème)./etc/shadow
contient des hachages de mot de passe et n'est lisible que par root (& groupe d'ombres)la source