Чи є якась причина, що / etc / passwd має читатись у всьому світі? Це не так, як хеши паролів, які не слід виставляти, я просто хочу знати, чому.
Чи є якась причина, що / etc / passwd має читатись у всьому світі? Це не так, як хеши паролів, які не слід виставляти, я просто хочу знати, чому.
Відповіді:
/etc/passwd
іноді називається базою даних користувачів. Це повинно дати нам зрозуміти, чому її потрібно читати всім. Будь-яка утиліта, яка інспектує метадані файлів, повинна мати можливість читати /etc/passwd
(і /etc/group
), щоб мати змогу вирішити числові ідентифікатори, які використовуються ядром та його підсистемами, до зручних для людини імен, на які ми покладаємося. Інструменти, які потребують пошуку вашого домашнього каталогу (агенти доставки пошти тощо), шукають цю інформацію /etc/passwd
, а inet
міні-сервери, як fingerd
шукати ваші дані /etc/passwd
.
Як було зазначено в іншому місці, у файлі немає особливо чутливих даних, оскільки сучасні системи розміщують хеші паролів у тіньовому файлі паролів, який читається лише коренем.
passwd
коли насправді це ім'я не відображає те, що є у файлі?
/etc/passwd
(спочатку незашифровані!). На той час, коли хеші паролів були переміщені до тіньового файлу, вже існувало багато утиліт, які покладалися на інші відомості /etc/passwd
, тому ім'я застрягло.
/etc/passwd
не містить хешей для паролів (Тому це не велика проблема). /etc/shadow
містить хеші паролів, і їх можна читати лише коренем (& тіньова група)
~user
на домашній каталог користувача, вона насправді шукає це/etc/passwd
, так що приємно мати її для читання, а не надавати всім оболонкам підвищені права.