Чому / etc / passwd відкритий для публічного читання?


12

Чи є якась причина, що / etc / passwd має читатись у всьому світі? Це не так, як хеши паролів, які не слід виставляти, я просто хочу знати, чому.


1
Я думаю, коли ваша оболонка на вибір знає, що вона розшириться ~userна домашній каталог користувача, вона насправді шукає це /etc/passwd, так що приємно мати її для читання, а не надавати всім оболонкам підвищені права.
Ульріх Шварц

Розширення "~" є функцією змінної $ HOME - встановіть $ HOME на / var / tmp, і тоді, якщо ви зробите "cd ~" - вона зміниться на / var / tmp.
Saurabh Hirani

Відповіді:


14

/etc/passwdіноді називається базою даних користувачів. Це повинно дати нам зрозуміти, чому її потрібно читати всім. Будь-яка утиліта, яка інспектує метадані файлів, повинна мати можливість читати /etc/passwd/etc/group), щоб мати змогу вирішити числові ідентифікатори, які використовуються ядром та його підсистемами, до зручних для людини імен, на які ми покладаємося. Інструменти, які потребують пошуку вашого домашнього каталогу (агенти доставки пошти тощо), шукають цю інформацію /etc/passwd, а inetміні-сервери, як fingerdшукати ваші дані /etc/passwd.

Як було зазначено в іншому місці, у файлі немає особливо чутливих даних, оскільки сучасні системи розміщують хеші паролів у тіньовому файлі паролів, який читається лише коренем.


6
Тоді чи називається він з історичних причин, passwdколи насправді це ім'я не відображає те, що є у файлі?
Емануель Берг

8
Так, я так думаю. У дуже ранніх версіях UNIX паролі дійсно зберігалися в /etc/passwd(спочатку незашифровані!). На той час, коли хеші паролів були переміщені до тіньового файлу, вже існувало багато утиліт, які покладалися на інші відомості /etc/passwd, тому ім'я застрягло.
D_Bye

7

/etc/passwdне містить хешей для паролів (Тому це не велика проблема). /etc/shadowмістить хеші паролів, і їх можна читати лише коренем (& тіньова група)


1
У деяких налаштуваннях паролів немає навіть у цьому файлі, оскільки вони знаходяться в LDAP або іншому захищеному бекенді!
Тім
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.