CentOS 7 사용자 이름에 유효한 특수 문자가 허용됩니까?

CentOS 7 사용자 이름에 유효한 특수 문자가 허용됩니까?

사용자 계정을 생성할 때 CentOS 7이 명명 규칙에서 유효한 문자를 어떻게 인식하는지 알아보려고 합니다.

나는 CentOS가 사용자 이름에서 유효한 문자로 간주하는 것에 대한 이해를 확인하기 위해 useradd를 사용하고 있습니다... 놀랍게도 useradd 명령은 "_" 및 "."를 허용합니다... CentOS Create에서 유효한/잘못된 것이 무엇인지 궁금합니다. 문자

CentOS의 useradd 매뉴얼 페이지에는 유효한 문자가 언급되어 있지 않습니다. Google 검색에 따르면 NAME_REGEX(적어도 우분투의 경우)로 수행되었다고 나와 있으며 adduser.conf 파일에서 해당 문자를 찾게 되었습니다. CentOS 7에서 발생합니다. 존재하지 않습니다...Google에서 이 문제에 대한 CentOS/Red Hat 특정 소스를 찾을 수 없습니다...하지만 /etc/login.defs 및 /etc/default/도 살펴보았습니다. useradd 운이 없군요

CentOS의 메커니즘을 이해하도록 안내해 줄 수 있는 사람이 있습니까?

답변1

이는 useradd실제 유효한 사용자 이름보다 더 제한적일 수 있습니다. 유효한 사용자 이름이 무엇인지에 대한 규칙도 가능합니다.변화PAM 및 nsswitch를 통한 구성 설정.

이것POSIX 표준사용자 이름은 이식 가능한 파일 이름 문자 집합에 속해야 하지만 첫 번째 문자는 하이픈이 될 수 없음을 나타냅니다.

이것이식 가능한 파일 이름 문자 집합AZ az 0-9 문자입니다. - _

이는 "1337"과 같은 사용자 이름이 이 표준에 따른 유효한 사용자 이름이므로 다른 곳에서 문제가 발생할 수 있음을 의미합니다.

따라서 안전을 위해 [A-Za-z][A-Za-z0-9._-]+와 같은 패턴을 사용합니다.

관련 정보