В каком кодовом наборе хранится / etc / passwd? Это может быть UTF-8? Какие ограничения накладываются на имена пользователей?
В современной системе Unix или Linux, как вы можете определить, какой код/etc/passwd
файл хранит имена пользователей в? Разрешено ли имена пользователей содержать символы с акцентом (от 0x80..0xFF, скажем, до ISO 8859-1 или 8859-15)? Может ли/etc/passwd
файл содержит UTF-8? Можете ли вы сказать, что он содержит UTF-8? Как насчет простого текста паролей до того, как они зашифрованы или хешированы?
Ясно, что если имена пользователей и другие данные ограничены диапазоном 0x00..0x7F (и в любом случае исключают 0x00), то между UTF-8, 8859-1 или 8859-15 разницы нет; все присутствующие символы закодированы одинаково.
Также я пользуюсь/etc/passwd
как аббревиатура для чего-то вроде «базы данных идентификации и аутентификации пользователя (иногда называемой службой каталогов) на Unix-машине, доступ к которой обычно осуществляется через PAM, а иногда даже на других компьютерах с локальной, но иногда все еще фактически файл на локальном жестком диске, условно называемый/etc/passwd
часто поддерживается/etc/shadow
«Я также предполагаю, что эквивалентные вопросы о групповой базе данных (часто/etc/group
файл) имеют одинаковый ответ.