Какие символы я должен использовать или не использовать в именах пользователей на Linux?

В зависимости от того, сколько серверов у Вас есть Вы, может хотеть установить nagios или подобную систему контроля для этого. В основном Вы устанавливаете пределы для метрик (использование ЦП, использование памяти и т.д.), и если предел превышен, Вы получаете предупреждение, которое могло бы быть страницей или электронной почтой или что бы то ни было. Однако, если это - Ваш домашний ПК, я использую nmon. Это является большим для получения по всему изображению Вашей системы. Это отобразит информацию о памяти, диске, ЦП, и использовании сети, а также информации о ядре.

39
задан 27 January 2011 в 15:16
4 ответа

Мой совет Вам состоит в том, чтобы следовать стандарту, рекомендуемому NAME_REGEX по умолчанию. Можно на самом деле поместить почти что-либо в имя пользователя под *, ОТКЛОНЯЮТ, но можно встретиться с нечетными проблемами с кодом библиотеки, который делает предположения. Рассматриваемый вопрос:

http://blog.endpoint.com/2008/08/on-valid-unix-usernames-and-ones-sanity.html

Мой вопрос Вам: у Вас есть много доменных имен, которые столкнулись бы друг с другом, если бы Вы разделили необычную пунктуацию? Например, у Вас есть и "ГАРАНТИЯ КАЧЕСТВА" и QUALITYASSURANCE" как доменные имена? В противном случае Вы могли просто принять политику снятия необычных символов и использования, что оставляют как имя пользователя.

Кроме того, Вы могли использовать раздел "настоящего имени" поля GECOS в/etc/passwd информации для хранения исходного, неизмененного доменного имени, и сценарии могли извлечь его довольно легко.

26
ответ дан 28 November 2019 в 19:46
  • 1
    Это - столкновение со случайной неожиданной частью ошибок это I' m взволнованный по поводу. Я могу довольно легко удалить периоды и все еще не иметь никакого шанса столкновений имени, но - мог вызвать проблему. Тем не менее это довольно маловероятно. –  Ed Haber 10 October 2009 в 02:28
  • 2
    Так debian система I' m использование использует пользовательские www-данные. Таким образом, это похоже - должен быть в порядке, чтобы использоваться в именах пользователей. –  Ed Haber 13 October 2009 в 03:36
  • 3
    На самом деле то регулярное выражение разрешает '-' в именах пользователей! Первая буква должна быть a-z, но последующие буквы имен пользователей могут быть '-' a-z, или 0-9. –  steveha 13 October 2009 в 21:22
  • 4
    Ohh! you' право ре. Я пропустил дополнительное - когда я смотрел на него. –  Ed Haber 14 October 2009 в 18:12

От NAME_REGEX может быть выведен, что все, но через z в верхнем - и нижний регистр и номер 0 до 9 было бы плохо.

1
ответ дан 28 November 2019 в 19:46

В частности, стандарт POSIX («Портативный интерфейс операционной системы для Unix») (стандарт IEEE 1003.1 2008) утверждает :


3.431 Имя пользователя

A строка, которая используется для идентификации пользователя; см. также базу данных пользователей. Для переноса между системами, соответствующими POSIX.1-2008, значение состоит из символов из набора символов переносимого имени файла. Символ <дефис> не должен использоваться в качестве первого символа переносимого имени пользователя.


3.278 Набор символов переносимого имени файла

The set of characters from which portable filenames are constructed.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 . _ -

Любое имя пользователя, которое соответствует этому стандарту, является POSIX-совместимым и должно на всякий случай.

22
ответ дан 28 November 2019 в 19:46

Похоже, что за этим ограничением стоит причина.

Если вы попытаетесь запустить системный сервис для сценариев, он может запускаться как root, а не как пользователь. Это вызвано тем, что systemd не распознает пользователя с точкой (например, domain.com имя пользователя) как допустимого пользователя и вместо этого запускает службу как root. Тем не менее, это может быть исправлено уже на стороне системы, но все еще имеет риск.

Кроме того, наличие точек в имени пользователя создает некоторые проблемы со сценариями, использующими chown, который по-прежнему принимает точки в качестве разделителя между именем пользователя и имя группы. Если chown по-прежнему принимает точки, будут скрипты, использующие это обозначение, которое будет прерываться, если имя пользователя содержит точку.

0
ответ дан 8 December 2021 в 08:02

Теги

Похожие вопросы