기본 관리자 UID가 501인 이유는 무엇입니까?

기본 관리자 UID가 501인 이유는 무엇입니까?

나는 기본 관리자에게 의 사용자 ID가 부여 501되고 후속 사용자에게는 증분 번호( 502, 503, …) 가 부여된다는 것을 이해합니다*. 그런데 왜 501? 의 특별한 점은 무엇이며 50x, 이 선택의 역사적/기술적 이유는 무엇입니까?

* 왜 내 외장 하드 드라이브 안에 휴지통 파일이 모두 들어 있는지 궁금해서 이 문제를 조사하기 시작했습니다 .Trashes/501. 내 검색 501결과는 *nix 시스템의 기본 관리자에 대한 사용자 ID라는 결론에 이르렀지만 (저는 macOS를 사용하고 있습니다), 그렇지 않습니다..

답변1

많은 Unix 시스템은 특정 번호로 사용자에게 UID를 전달하기 시작합니다. Solaris는 첫 번째 범용 사용자에게 UID 100을 제공하고 OpenBSD에서는 1000이며 macOS에서는 처음 생성된 대화형 사용자의 UID가 될 UID 501인 것으로 보입니다. 이 사용자는 macOS 관리자일 가능성이 높습니다(동일하지 않음). 루트 사용자로).

숫자가 낮은 계정은 데몬 등을 위한 시스템 사용자 계정입니다. 이를 통해 대화형 "사람" 계정과 시스템 서비스 계정을 더 쉽게 구별할 수 있습니다. 이는 또한 다양한 소프트웨어에서 사용자 관리, 인증 등을 더 쉽게 만들 수 있습니다.YP/NIS, 예를 들어 여러 클라이언트 시스템에서 로컬 사용자를 생성할 필요 없이 중앙 서버에 사용자 계정(및 기타 정보)을 유지하기 위한 약간 오래된 시스템에는 처리해야 하는 사용자 계정 범위에 대한 설정이 MINUID있습니다 .MAXUID

일부 Unices에서는 다양한 시스템 서비스 계정이 FreeBSD의 UID 50~999 또는 OpenBSD의 500~999와 같은 타사 소프트웨어에 할당될 수 있습니다.

이러한 모든 범위는 운영 체제의 예상 요구 사항에 따라 개별 Unices의 제조업체 및 유지 관리 담당자가 선택합니다. POSIX 표준은 이러한 사항에 대해 아무 말도 하지 않습니다. 할당 가능한 최저 및 최고 UID(및 GID)는 로컬 관리자가 구성할 수 있는 경우가 많습니다(매뉴얼 참조 adduser).

대부분의 Unices는 슈퍼유저인 에 대해 UID 0을 예약 root하고 사용자에게 가능한 가장 높은 UID(또는 적어도 일부 높은 값)를 할당합니다 nobody(Solaris는 UID 60001을 사용하고 OpenBSD는 32768을 사용하지만 UID는많이그보다 더 크다).

(UID 0이 항상 존재하는지 root여부에 대한 설명을 참조하세요. 이는 이 주제에서 약간 벗어났습니다.)


업데이트: OpenBSD 프로젝트최근 거부됨UID/GID 할당을 무작위화하는 아이디어.

답변2

다음을 따르는 배포판의 경우LSB, UID 및 GID 0-99를 정적으로 할당합니다. UID 100-499는 동적으로 할당되지만 이는 로그인 계정용이 아니라 시스템용이기도 합니다.

예를 들어, 인쇄 데몬에는 cups자체 사용자 계정이 할당되는 경향이 있습니다. 따라서 데몬의 취약점이 악용되는 경우 데몬은 root시스템에 대한 전체 권한으로 실행되지 않습니다. (또한 반드시 다른 데몬을 방해할 수 있는 권한도 없습니다).

최신 Linux 배포판에서는 시스템 범위가 최대 999까지 확장되었습니다.

이렇게 하면 로그인 계정의 UID가 500 이상(또는 1000 이상)으로 남게 됩니다.

데비안에는 추가로공전할당UIDGID 100, 비록 그 편차가 특별한 문제를 일으킬 것이라고는 상상할 수 없습니다.

UID 500을 추가로 예약하는 일대일 편차가 있는 다른 시스템을 상상하기 쉽습니다. (나는 이것이 여전히 호환될 것이라고 가정합니다. 모든 Linux가 오랫동안 LSB를 위반하지 않았다고는 상상할 수 없습니다. 업데이트 중입니다.)

첫 번째 로그인 계정은 관리자 계정이거나 기본 관리자 계정일 필요는 없습니다. 시스템이 반드시 사용할 필요는 없습니다 sudo(특히 이전 버전인 경우). root이 경우 "기본 관리자 계정"이 있다고 말할 수 있습니다 . 그 외에 *nix 및 범용 Linux 배포판은 특정 "기본 관리자 계정"을 인식하지 않습니다.

관련 정보