В каком кодовом наборе хранится / 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 файл) имеют одинаковый ответ.

Ответы на вопрос(1)

Ваш ответ на вопрос