groupadd에 허용되는 그룹 이름은 무엇입니까?


13

나는 다음 지침을 제공 그림자, 건설 groupadd명령을 사용합니다. 이 작업을 시도 할 때 오류가 발생합니다.

$ groupadd automake1.10
groupadd: 'automake1.10' is not a valid group name

영숫자 이름을 확인했는데 정상적으로 작동합니다.

답변:


20

특히 소스 코드를 참조하십시오 libmisc/chkname.c. 그림자는 매우 보수적입니다. 이름은 정규 표현식 [_a-z][-0-9_a-z]*\$?과 일치해야 하며 최대 GROUP_NAME_MAX_LENGTH문자 길이 일 수 있습니다 (구성 옵션, 기본값 16; 사용자 이름은 컴파일 시간 결정에 따라 최대 32 자까지 가능).

데비안은 수표를 많이 풀어줍니다. 압착시 공백 이외의 모든 :것이 허용됩니다. 참조 버그 # 264879버그 # 377844를 .

POSIX는 허용 하나 케이스의 문자, 숫자 및 요구 ._-( 파일 이름처럼을 ). 이식성을 신경 쓰지 않으면 POSIX는 제한을 설정하지 않습니다. 다음과 같은 몇 가지 권장 제한 사항이 있습니다.

  • 콜론, 줄 바꿈 및 null은 올바르게 처리됩니다. /etc/passwd또는 에서 사용할 수 없습니다 /etc/group.
  • 오로지 숫자로 구성된 이름은 나쁜 생각이다 - chown그리고 chgrp그것은 사용자 / 그룹 데이터베이스의 경우 이름과 같은 일련의 숫자를 치료하기로되어 있지만, 다른 응용 프로그램은 숫자 ID로 숫자를 처리 할 수 있습니다.
  • 많은 응용 프로그램 이 외부 유틸리티 (예 : ¹) 로 전달할 수 있기를 기대하므로 사용자 이름 의 이니셜 -또는 .사용자 이름은 강력히 권장하지 않습니다 . 그룹 이름의 A 는 문제가 덜 발생하지만 여전히 권장하지는 않습니다.$user.$groupchown $user.$group /path/to/file.
  • / 일부 프로그램은 파일 이름에 사용자 이름을 사용할 수 있기 때문에 문제가 발생할 수도 있습니다.
  • 쉘이 확장되는 문자는 아마도 위험합니다.
  • 다른 인코딩을 사용할 수있는 시스템과의 공유에 신경 쓰지 않으면 비 ASCII 문자는 정상입니다.

¹ 모든 최신 구현은 기대 chown $user:$group하지만 chown $user.$group이전 버전과의 호환성을 지원하며 호환성 지원을 제거하기 위해 점을 통과하는 응용 프로그램이 너무 많습니다.


다시 chown인수 : 현재 구문, 적어도 GNU의로 coreutils에서, user:group도트와 호환성을 위해서만 허용된다. 하나를 사용할 수 있습니다 j.smith:j.smith.
user1686

1
@grawity : GNU coreutils만이 아니라 문제 chown자체 가 아니라 기존 스크립트 및 chown $user.$group대신 호출되는 다른 프로그램입니다 chown $user:$group. chown구현이 올바른 일을 시도 하더라도 일부 경우는 본질적으로 모호합니다.
질 'SO- 악마 그만'

1

모험심이 있다면 /etc/group직접 편집 하고 원하는 그룹 이름을 입력하십시오. 또한 @Gilles에서 언급 한 문제 중 하나가 발생하면 문제를 해결하기 위해 편집기를로드하지 못하거나 전혀 로그인하지 못할 수도있는 추가 보너스가 있습니다.


5
/etc/gshadow그룹을 추가 할 때 편집하는 것을 잊지 마십시오 . 또한 vigr(8)파일을 직접 편집하지 말고 사용 하십시오.
camh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.