Вызывает ли символ «ä» в именах пользователей ошибки в системах Linux?


11

Я хочу использовать свое имя в качестве имени пользователя, но оно содержит символ «ä». Я нашел эту тему .

Теперь я понимаю, почему некоторые символы отключены, но как насчет «ä»? Может ли этот персонаж вызывать какие-либо проблемы?

Почему некоторые символы Юникода (ü, õ, ö, ä) отключены, когда они используются в полных именах?

Ответы:


10

В современной системе (с полной поддержкой Unicode) это не должно быть проблемой - с акцентом на «не должно». Как указано в этом ответе,

По умолчанию NAME_REGEX="^[a-z][-a-z0-9]*\$"

Хотя это может быть слишком строго для современных систем, это облегчает администрирование - например, «одна вещь, о которой нужно меньше беспокоиться». Обратите внимание, что имя пользователя используется во многих местах - например, ваш домашний каталог будет иметь вид /home/username; большинство здравомыслящих файловых систем имеют полную поддержку Unicode, но, как и в случае с любыми компьютерами, здравомыслие при любых обстоятельствах не гарантируется.

Обратите внимание, что существует фактическое имя для входа в систему, используемое системой (которое подпадает под эти правила), сопоставленное с UID /etc/passwd, и есть «Полное имя», которое представляет собой строку (и можно ввести большинство допустимых символов, хотя есть предупреждение "не ASCII").

Что делать: где это применимо, я использую имя без диакритических знаков (или латинизированный, в случае нелатинских шрифтов) для имени пользователя и реальную форму для Полного имени. Запись в вашем / etc / passwd может выглядеть примерно так:

martrang:x:1001:1001:Märt Rang,,,:/home/martrang:/bin/bash

2
Я думаю, что современные настольные ОС должны разрешать символы юникода, со стороны сервера, все понятно.
Март Ранг

2
@ MärtRang Дело в том, что в наши дни абсолютно все говорят на базовом ASCII (БЛАГОДАРНО - ищите EBCDIC, если вы когда-нибудь захотите кошмаров), но кроме этого есть около миллиарда различных кодовых страниц, которые имеют дело с нестандартными персонажами, и если обе стороны разговора не ' Не зная, что использовать точно такой же, вы можете получить довольно впечатляющие кластерные траханья, которые занимаются анализом вечно, потому что каждая сторона настаивает, что другая сторона говорит бред. Как говорит Писквор, «на одну вещь меньше беспокоиться». Практически каждый графический интерфейс в любом случае будет использовать ваше настоящее имя.
Шадур

У меня складывается впечатление, что может существовать целый ряд систем (определенных дисплеев), в которых ввод символов Unicode может быть проблематичным (или невозможным) в дополнение к тому, что программное обеспечение для обработки имен пользователей интерпретирует его правильно. : crying_cat_face:
ThorSummoner

3

Использование не-ASCII имен для входа обычно не поддерживается и звучит как рецепт для решения проблемы. Хотя UTF-8 становится де-факто стандартной кодировкой, все еще есть много людей, которые используют другие кодировки (особенно за пределами англоязычного мира, где люди долгое время использовали другие несовместимые 8-битные или 16-битные кодировки). ). Например, вы, скорее всего, столкнетесь с приложениями, которые пытаются интерпретировать ваше имя пользователя в соответствии с кодировкой текущей локали, а не (пытаться) преобразовать его в кодировку текущей локали. Ваше имя для входа также является левой частью вашего адреса электронной почты, и это, скорее всего, вызовет проблемы, поскольку вы зависите от того, какую выбранную кодировку поддерживают и уважают все системы, через которые проходит ваша почта.

Логин предназначен для компьютеров. Используйте ASCII в вашем логине. Полное имя предназначено для людей. Используйте UTF-8 в своем полном имени.


2

На последний вопрос проще всего ответить: традиции, практичность, простота (для разработчика) и переносимость, если вы хотите быть благотворительными, или, наоборот, отсталость, непрактичность (для пользователя), невежество и непереносимость, если вы не т. US-ASCII - это просто набор символов, который использовался с незапамятных времен (pre-web для молодежи) практически везде.

Во многих, многих приложениях просто нет встроенной поддержки символов за пределами того, что вы можете видеть на английской клавиатуре (а иногда даже нет). Другими словами, программное обеспечение может поддерживать или не поддерживать его, и вы можете ожидать только неожиданное.


2
Я согласен с этим, когда мне нужно создать пользователя на сервере. Почему бы не включить символы юникода, когда вы используете Linux в качестве настольной ОС?
Март Ранг

1
а что если имя пользователя используется для доступа к прокси, samba, nfs или другим службам? Или домашние папки через общие пути?
Sirex
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.