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

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