Quais caracteres devo usar ou não usar em nomes de usuários no Linux?

37

Eu quero criar contas de usuários com o nome de um domínio. adduser reclama que os nomes de usuários precisam corresponder à expressão regular NAME_REGEX .

adduser: Please enter a username matching the regular expression configured
via the NAME_REGEX configuration variable.  Use the '--force-badname'
option to relax this check or reconfigure NAME_REGEX.

Eu posso adicionar os usuários usando useradd sem reclamar. Existe uma razão pela qual não devo modificar a expressão regular para permitir . , - e _ ?

Quais caracteres causam problemas e não devem ser permitidos em nomes de usuários?

Este é o padrão NAME_REGEX .

NAME_REGEX="^[a-z][-a-z0-9]*\$"
    
por Ed Haber 09.10.2009 / 22:06

3 respostas

26

Meu conselho para você é seguir o padrão recomendado pelo padrão NAME_REGEX. Você pode colocar praticamente qualquer coisa em um nome de usuário em * NIX, mas você pode encontrar problemas estranhos com código de biblioteca que faz suposições. Caso em questão:

link

Minha pergunta para você: você tem muitos nomes de domínio que colidiriam um com o outro se você tirasse a pontuação incomum? Por exemplo, você tem "QUALITY-ASSURANCE" e QUALITYASSURANCE "como nomes de domínio? Se não, você pode simplesmente adotar uma política de remover os caracteres incomuns e usar o que resta como nome de usuário.

Além disso, você pode usar a seção "nome real" do campo GECOS nas informações do / etc / passwd para guarde o nome domaain original e não modificado, e os scripts podem extraí-lo facilmente.

    
por 09.10.2009 / 22:57
19

Mais especificamente, o padrão POSIX ("Interface do Sistema Operacional Portátil para Unix") (IEEE Standard 1003.1 2008) declara :

3.431 nome de usuário

A string that is used to identify a user; see also User Database. To be portable across systems conforming to POSIX.1-2008, the value is composed of characters from the portable filename character set. The <hyphen> character should not be used as the first character of a portable user name.

Conjunto de caracteres de nome de arquivo portátil 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 . _ -

Qualquer nome de usuário que esteja em conformidade com esse padrão é compatível com POSIX e deve ser seguro.

    
por 25.02.2014 / 22:21
1

Do NAME_REGEX pode ser deduzido que tudo, exceto a até z em maiúsculas e minúsculas e o número de 0 a 9, seria ruim.

    
por 09.10.2009 / 22:24