일부 배포판에서는 왜 사용자 이름에 밑줄을 허용하지 않습니까(예: Debian)

일부 배포판에서는 왜 사용자 이름에 밑줄을 허용하지 않습니까(예: Debian)

그러면 왜 밑줄은 Debian(및 아마도 다른 배포판)의 사용자 이름에 잘못된 문자로 간주되는 반면 adduserUbuntu에서는 NAME_REGEX에서 제거되었습니까?

답변1

POSIX지정하다휴대용 사용놓다사용자 이름 및 그룹 이름의 문자 수입니다.
_ - .허용되는 문자인 경우 NAME_REGEX사용자 이름에 지정된 문자만 포함되어 있는지 확인하세요. 배포 개발자는 추가 문자가 거부되는지 여부를 정의합니다. 예를 들어 우분투는 기본적으로 이를 비활성화합니다 ..

이 제한을 추가하면 특수 문자를 해석할 수 있는 다른 시스템 도구를 방해하지 않습니다. $PATH해당 이름을 가진 사용자가 있는 경우 변수를 고려하고 my:user홈 디렉터리를 다음에 추가하세요 $PATH.

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/my:user/bin

디렉토리가 /home/my존재 user/bin하지 않을 수도 있습니다. 게다가 2개 더 /etc/passwd있을 예정이다 :.

편집하다:
사용자 이름 확인을 위한 Debian adduser(버전 3.110) /^[_.A-Za-z0-9][-\@_.A-Za-z0-9]*\$?$/,_ NAME_REGEX금지되지 않는 한 허용됩니다.

답변2

비슷한 질문에 이미 답변이 있습니다여기

이론적으로는 원하는 거의 모든 ASCII 문자를 사용자 이름으로 사용할 수 있지만 특정 오류(이전 기사에서 언급한 것과 같은)를 방지하려면 정규식을 설정하여 특정 문제를 방지할 수 있습니다.

답변3

저는 Debian Squeeze를 사용하고 있는데 밑줄이 있는 사용자를 생성했는데 adduser user_1왜 허용되지 않는다고 합니까?

관련 정보