โฮสต์บัญชีระบบปฏิบัติการยูนิกซ์สามารถมีบัญชีผู้ใช้ได้กี่บัญชี [ซ้ำ]


13

สมมติว่าฉันต้องการมีเซิร์ฟเวอร์ที่มีบัญชีผู้ใช้มากที่สุด จำนวนสูงสุดคือเท่าใด

ฉันต้องการบัญชีผู้ใช้นับล้าน มันบ้าเหรอ? ฉันจะโฮสต์มิเรอร์โหลดบาลานซ์หลายสิบกล่องและข้อมูลผู้ใช้จะถูกเก็บไว้ในที่จัดเก็บข้อมูลที่มีอยู่ในระดับสูงในขณะที่ข้อมูลอื่น ๆ ทั้งหมดจะถือว่าผันผวน


"I want millions of user accounts. Is that crazy?"- ใช่ ใช้ไดเรกทอรีสำหรับผู้ใช้หลายคนนี้ไม่ใช่มิรเรอร์หลายสิบคนสำหรับผู้ใช้หลายคน
MDMarra

สิ่งนี้ตอบคำถามของคุณหรือไม่ จำนวนผู้ใช้งานสูงสุดบน Linux
malat

คำตอบ:


22

ในทางทฤษฎีคุณสามารถมีผู้ใช้ได้มากเท่าที่ ID พื้นที่ผู้ใช้รองรับ เพื่อตรวจสอบสิ่งนี้ในระบบโดยเฉพาะตรวจสอบความหมายของuid_tประเภท โดยปกติจะมีการกำหนดunsigned intหรือintหมายถึงว่าในแพลตฟอร์ม 32 บิตคุณสามารถสร้างผู้ใช้ได้มากถึง 4.3 พันล้านคน บนแพลตฟอร์ม 64 บิตคุณสามารถมี ID ผู้ใช้ที่แตกต่างกันมากกว่า 16e18

อย่างไรก็ตามทรัพยากรอื่น ๆ อาจหมดลงก่อนที่จะถึงขีด จำกัด นี้เช่นพื้นที่ดิสก์ หากคุณสร้างโฮมไดเร็กตอรี่สำหรับผู้ใช้แต่ละคนแม้ว่าจะมีพื้นที่เพียง 1MB สำหรับผู้ใช้แต่ละคนคุณก็ต้องการพื้นที่เก็บข้อมูลมากกว่า 4PBs นอกจากนี้ผู้ใช้จำนวนมากที่ออกจากกระบวนการที่ทำงานในพื้นหลัง, การกำหนดเวลางาน cron, การเปิด ftp และ / หรือเซสชัน ssh สามารถสร้างภาระที่รุนแรงในระบบ


1
+1 สำหรับการกล่าวถึงทรัพยากร ... จากนั้นอีกครั้งระบบที่เหมือนยูนิกซ์อนุญาตให้มีการกำหนดค่าฮาร์ดแวร์ที่บ้า
HTDutchy

คุณแน่ใจเกี่ยวกับความแตกต่างระหว่าง 32 บิตและ 64 บิตหรือไม่ คุณสามารถเพิ่มการอ้างอิงได้หรือไม่? นี่คือสิ่งที่ฉันพบ1และ2
malat

8

จนถึงจนกว่าพื้นที่ UID จะหมดไป ระบบร่วมสมัยใช้จำนวนเต็มแบบไม่มีเครื่องหมาย 32 บิตโดยมี 65535 และ 4294967295 เป็นค่าเวทย์มนตร์สำหรับ "ใด ๆ " / "ไม่ทราบ" / ฯลฯ ดังนั้นจึงมีห้องสำหรับผู้ใช้ที่แตกต่างกัน 4294967294 ระบบเก่าอาจยังคงแสดงจำนวนเต็ม 16 บิตที่ไม่ได้ลงชื่อ


1

คำตอบอื่น ๆ ได้ตอบคำถามของ OP อย่างแท้จริงเกี่ยวกับข้อ จำกัด เฉพาะ ด้วยลักษณะของ SF เป็นการอ้างอิงระยะยาวเช่นกันฉันคิดว่ามันเป็นสิ่งสำคัญที่จะชี้ให้เห็นข้อแม้ที่สำคัญมากเกี่ยวกับวิธีการที่คุณไตร่ตรอง

คุณต้องการใช้บริการไดเรกทอรีเพื่อจัดการบัญชีผู้ใช้ในระดับนี้ มันเป็นปัญหาที่บริการไดเรกทอรี [เช่น OpenLDAP, Active Directory และอื่น ๆ ] ได้รับการออกแบบมาสำหรับ

การใช้ "มาตรฐาน" [1] เครื่องมือผู้ใช้ Unix ในการจัดการมากกว่าหนึ่งบัญชีผู้ใช้ในพื้นที่นั้นเป็นเส้นทางที่สวมใส่อย่างดีที่เต็มไปด้วยความเจ็บปวดจะไม่ขยายได้ง่ายมากและ - ให้คำอธิบายปัญหาของคุณ - จะนำไปสู่โอกาสสำคัญ สร้างสถาปัตยกรรมใหม่ของโซลูชันที่คุณเลือกเมื่อไม่ได้ขยายขนาดตามแนวนอนด้วยเซิร์ฟเวอร์หลายเครื่อง

[1] โดยทั่วไปแล้วพวกเขาทำงานคล้ายกันมาก แต่คาถาที่แน่นอนแตกต่างจากแพลตฟอร์มไปยังแพลตฟอร์มที่แตกต่างกันบางครั้งแม้ในมรดก distros ลินุกซ์ที่คล้ายกันและแน่นอนมีการเปลี่ยนแปลงอย่างสม่ำเสมอกับรุ่นที่วางจำหน่ายระบบปฏิบัติการ Caveat emptor


0

ดังกล่าวข้างต้นคุณถูก จำกัด ด้วยขนาด int ที่ไม่ได้ลงนามตามหลักทฤษฏี แต่ส่วนใหญ่จะถูก จำกัด ด้วยทรัพยากรในปัจจุบันก่อนถึงขีด จำกัด ดังกล่าว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.