답변:
POSIX 는 사용자 이름에 대해 다음과 같이 말합니다 .
[...] IEEE Std 1003.1-2001을 준수하는 시스템에서 이식 가능하도록 값은 이식 가능한 파일 이름 문자 세트의 문자로 구성됩니다. 하이픈을 휴대용 사용자 이름의 첫 문자로 사용해서는 안됩니다.
... 이식 가능한 파일 이름 문자 세트 는 다음과 같습니다.
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 . _ -
또한 파일 맨 페이지에 다음과/etc/adduser.conf
같이 나와 있습니다.
VALID NAMES
adduser and addgroup enforce conformity to IEEE Std 1003.1-2001,
which allows only the following characters to appear in group
and user names: letters, digits, underscores, periods, at signs
(@) and dashes. The name may not start with a dash. The "$" sign
is allowed at the end of usernames (to conform to samba).
An additional check can be adjusted via the configuration
parameter NAME_REGEX to enforce a local policy.
두 사양 모두 점을 포함하는 것처럼 보이지만 우분투 (최소 13.04 이상)에서는 허용하지 않는 것 같습니다.
⊳ sudo adduser as.df
adduser: Please enter a username matching the regular expression configured
via the NAME_REGEX[_SYSTEM] configuration variable. Use the `--force-badname'
option to relax this check or reconfigure NAME_REGEX.
NAME_REGEX
Ubuntu 의 기본값 은 ( /etc/adduser.conf
맨 페이지에서)입니다.
^[a-z][-a-z0-9]*$
_
, @
나 .
.결론 점은 .
우분투 사용자 이름에 사용할 수는 NAME_REGEX
단지 변경되어야한다 /etc/adduser.conf
. POSIX를 준수하는 것으로 보았을 때 아무런 문제가 없어야합니다..
POSIX 호환 프로그램의 사용자 이름을 합니다.
터미널에서이 명령을 실행하십시오.
sudo nano /etc/adduser.conf
이 줄을 찾으십시오 (파일 끝 근처)
#NAME_REGEX="^[a-z][-a-z0-9]*$"
그리고 그것을 대체하십시오
NAME_REGEX='^[a-z][-.a-z0-9]*$'
(가) 있습니다 -
브래킷 식의 첫 번째 문자를 유지해야 [...]
그렇지 않으면 범위를 지정으로 처리됩니다 a-z
.
Ctrl+ X,을 Y차례로 누릅니다 Enter.
참고 문헌 :
NAME_REGEX="^[a-z][-a-z0-9_.]*\$?$"
에서 /etc/adduser.conf
했다.
useradd
대신에 전화하십시오 : sudo useradd -m my.user
. 이것이 우리가 Userify에서하는 일이며 크로스 플랫폼이기도합니다.
사용자 이름을 읽는 응용 프로그램은 사용자 이름이 규칙을 따르고 사용자 이름을 처리 할 수 없다고 가정하는 정규식을 사용할 수 있습니다.
Marc Haber는 데비안 버그 # 604242 의 가능한 단점을 설명합니다 (기본적으로 사용자 이름에 점 허용).
사용자 이름에 점이 있으면을 사용하여 scipts에서 일부 문제가 발생하는데
chown
,이 점은 여전히 사용자 이름과 그룹 이름 사이의 구분자로 점을 허용합니다. 만약chown
여전히 점을 받아, 사용자 이름이 점을 포함하는 경우 깰 것이 표기법을 사용하여 스크립트가있을 것입니다.
chown
점을 구분 기호로 허용하지 않을 때까지 현재 기본값 (로컬 구성으로 덮어 쓸 수 있음)을 유지하는 것이 좋습니다 .
그리고 chown
더 이상 문서화되어 있지 않지만 점을 구분 기호로 계속 사용합니다. POSIX 호환성이 우선해야한다는 데 동의하며 실제로 여러 시스템에서 점이 포함 된 사용자 이름을 악영향없이 사용합니다.