유닉스 계열 OS 호스트는 몇 개의 사용자 계정으로 구성 할 수 있습니까? [복제]


13

가능한 한 많은 사용자 계정을 가진 서버를 갖고 싶다고 가정 해 봅시다. 최대는 몇 개입니까?

수백만의 사용자 계정이 필요합니다. 미쳤어? 박스에 수십 개의로드 밸런싱 미러를 호스팅하고 사용자 데이터는 고 가용성 스토리지 공유에 저장되는 반면 다른 모든 데이터는 일시적인 것으로 가정합니다.


"I want millions of user accounts. Is that crazy?"- 예. 많은 사용자를 위해 수십 개의 미러가 아닌이 많은 사용자를위한 디렉토리를 사용하십시오.
MDMarra

이것이 귀하의 질문에 대답합니까? Linux의 최대 사용자 수
malat

답변:


22

이론적으로 사용자 ID 공간이 지원하는 수의 사용자를 가질 수 있습니다. 특정 시스템에서이를 판별하려면 uid_t유형 정의를 확인하십시오 . 일반적으로 32 비트 플랫폼에서 최대 43 억 명의 사용자를 만들 수있는 것으로 정의 unsigned int되거나 int의미합니다. 64 비트 플랫폼에서는 16e18 개 이상의 서로 다른 사용자 ID를 가질 수 있습니다.

그러나이 제한에 도달하기 전에 디스크 공간과 같은 다른 리소스가 소진 될 수 있습니다. 각 사용자에 대해 홈 디렉토리를 작성하는 경우 각 사용자에 대해 1MB의 공간 만 있으면 4PB 이상의 스토리지가 필요합니다. 또한 백그라운드에서 실행중인 프로세스를 떠나고 cron 작업을 예약하고 ftp 및 / 또는 ssh 세션을 여는 많은 사용자가 시스템에 심각한 부담을 줄 수 있습니다.


1
리소스 언급으로 +1 ... 다시 한 번 유닉스 계열 시스템은 미친 하드웨어 구성을 허용합니다.
HTDutchy

32 비트와 64 비트의 차이가 확실합니까? 참조를 추가 할 수 있습니까? 여기 내가 찾은 것이 12
malat

8

UID 공간이 소진 될 때까지 현대 시스템은 32 비트 부호없는 정수를 사용하는데, 65535 및 4294967295는 "any"/ "unknown"/ etc 등의 마법 값이므로 4294967294 명의 동시 사용자를위한 공간이 있습니다. 이전 시스템은 여전히 ​​16 비트 부호없는 정수를 표시 할 수 있습니다.


1

다른 답변은 특정 제한에 관한 OP의 질문에 문자 그대로 응답했습니다. SF가 장기적인 참고 자료라는 점을 감안할 때, 여러분이 고려하고있는 접근법에 대해 매우 중요한 경고를 지적하는 것이 중요하다고 생각합니다.

당신이 원하는 이 규모의 사용자 계정을 관리하기 위해 디렉토리 서비스를 사용 할 수 있습니다. 디렉터리 서비스 (예 : OpenLDAP, Active Directory 등)가 설계된 문제는 정확히 문제입니다.

"표준"[1] Unix 사용자 도구를 사용하여 소수의 로컬 사용자 계정 이상을 관리하는 것은 고통으로 가득 찬 잘 알려진 경로이며, 쉽게 확장되지 않으며-문제 설명을 감안할 때-가능성이 상당히 높습니다. 실제로 여러 서버로 수평 확장 할 수없는 경우 선택한 솔루션을 다시 설계합니다.

[1] 그것들은 일반적으로 매우 유사하게 작동하지만 정확한 주문은 플랫폼마다 다르며, 비슷한 문화 유산 Linux 배포판에서도 때때로 다르며 물론 OS 릴리스 버전으로 정기적으로 변경됩니다. 주의 사항


0

위와 같이 이론적으로 UID unsigned int 크기에 의해 제한되지만 현재 한계에 도달하기 전에 현재 리소스에 의해 제한 될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.