useradd를 사용하여 더 이상 사용자를 추가할 수 없습니다.

useradd를 사용하여 더 이상 사용자를 추가할 수 없습니다.

내가 할 때마다

# useradd -N --gid 1003 -s /bin/ksh --uid <some UID starting with 10027> --home /home/<someuser> <someuser>

useradd는 사용자 추가를 거부하고 대신 인쇄합니다.

useradd: Can't get unique secondary UID range
useradd: can't find subordinate user range

그리고 말씀드리자면, /etc/passwd길이는 9056줄입니다.

무엇이 문제일까요?

답변1

에 따라사용자추가(8), 각 사용자에게 예약된 SUB_UID_COUNT개의 보조 uid 범위를 생성합니다.

SUB_UID_MIN(번호),  SUB_UID_MAX(번호),  SUB_UID_COUNT(번호)

    존재하는 경우 및  /etc/subuid명령은 (사용자가 이미 하위 사용자 ID를 갖고 있지 않은 경우) 각 새 사용자에 대해 범위  에서 사용되지 않은 사용자 ID를 할당합니다.useraddnewusersSUB_UID_COUNTSUB_UID_MINSUB_UID_MAX

    SUB_UID_MIN, SUB_UID_MAX의 기본값은 SUB_UID_COUNT각각 100000, 600100000 및 10000입니다.

useradd기본 한도에 도달하여 실패한 것 같습니다 .

답변2

useradd허용된 UID 범위가 소진되어 새 사용자에게 하위 UID 범위를 할당할 수 없다고 불평합니다. 말씀하신 대로 시스템에 많은 사용자가 있고 에 구성된 기본값으로는 login.defs​​이를 처리할 수 없습니다.

하위 UID/GID 파일은 사용자 네임스페이스에 대한 UID/GID 매핑을 설정하는 데 사용됩니다(참조:subuid(5),subgid(5),newuidmap(1), 그리고 newgidmap(1) ).

제 경우에는 시스템에 10000개 이상의 UID가 있었는데  useradd정확히 같은 오류로 인해 실패했습니다. 사용자 정의 ID 매핑을 구성할 필요가 없으므로 및 데이터베이스를 useradd관리하고 싶지 않았기 때문에 이 기능을 비활성화했습니다. 이 작업은 및 파일을 제거하여 수행할 수 있습니다 .subuidsubgid/etc/subuid/etc/subgid

최신 버전의 섀도우 유틸리티(4.9 이후)그 쯤), 설정 SUB_UID_COUNT 0및  작업 SUB_GID_COUNT 0 에도 /etc/login.defs사용됩니다. 보다login.defs(5)자세한 내용은.

관련 정보