berapa banyak akun pengguna yang dapat di-host oleh OS unix? [duplikat]

13

Katakanlah saya ingin memiliki server dengan sebanyak mungkin akun pengguna. Berapa maks?

Saya ingin jutaan akun pengguna. Apakah itu gila? Saya akan meng-host puluhan mirror load-balance dari kotak, dan data pengguna akan disimpan pada share penyimpanan yang sangat tersedia, sementara semua data lain diasumsikan volatile.


sumber
"I want millions of user accounts. Is that crazy?"- Iya. Gunakan direktori untuk banyak pengguna ini, bukan lusinan mirror untuk sebanyak itu pengguna.
MDMarra
Apakah ini menjawab pertanyaan Anda? Jumlah maksimum pengguna di Linux
malat

Jawaban:

22

Secara teoritis Anda dapat memiliki pengguna sebanyak yang didukung oleh ruang ID pengguna. Untuk menentukan ini pada sistem tertentu, periksa definisi uid_tjenisnya. Biasanya didefinisikan sebagai unsigned intatau intartinya bahwa pada platform 32-bit Anda dapat membuat hingga hampir 4,3 miliar pengguna. Pada platform 64-bit Anda dapat memiliki lebih dari 16e18 ID pengguna yang berbeda.

Namun, sumber daya lain mungkin menjadi habis sebelum Anda mencapai batas ini, misalnya ruang disk. Jika Anda membuat direktori home untuk setiap pengguna maka bahkan dengan hanya 1MB ruang untuk setiap pengguna Anda membutuhkan lebih dari 4PB penyimpanan. Juga, sejumlah besar pengguna meninggalkan proses yang berjalan di latar belakang, menjadwalkan pekerjaan cron, membuka sesi ftp dan / atau ssh dapat membuat beban berat pada sistem.

Adam Zalcman
sumber
1
+1 untuk menyebutkan sumber daya ... Kemudian lagi, sistem seperti unix memungkinkan konfigurasi perangkat keras yang gila.
HTDutchy
Apakah Anda yakin tentang perbedaan 32-bit vs 64-bit? Bisakah Anda menambahkan referensi? Inilah yang saya temukan 1 dan 2
malat
8

Hingga ruang UID habis. Sistem kontemporer menggunakan bilangan bulat 32-bit unsigned, dengan 65535 dan 4294967295 menjadi nilai ajaib untuk "any" / "unknown" / etc., Jadi ada ruang untuk 4294967294 pengguna yang berbeda secara bersamaan. Sistem yang lebih lama mungkin masih menunjukkan bilangan bulat 16-bit yang tidak ditandatangani.

jørgensen
sumber
1

Jawaban lain telah menjawab pertanyaan OP mengenai batas tertentu. Mengingat sifat SF sebagai referensi jangka panjang juga, saya pikir penting untuk menunjukkan peringatan yang sangat penting pada pendekatan yang Anda renungkan.

Anda ingin menggunakan layanan direktori untuk mengelola akun pengguna pada skala ini. Persisnya masalah yang dirancang untuk layanan direktori [misalnya OpenLDAP, Active Directory, dkk.].

Menggunakan "standar" [1] Alat pengguna Unix untuk mengelola lebih dari beberapa akun pengguna lokal adalah jalur usang yang sarat dengan rasa sakit, tidak akan menskala dengan sangat mudah dan - mengingat uraian masalah Anda - kemungkinan besar akan mengarah ke signifikan merancang ulang solusi yang Anda pilih ketika tidak benar-benar berskala horizontal dengan beberapa server.

[1] Mereka umumnya bekerja sangat mirip, tetapi mantra yang tepat bervariasi dari platform ke platform, berbeda kadang-kadang bahkan dalam distro Linux warisan yang sama dan tentu saja secara teratur diubah dengan versi rilis OS. Kaisar peringatan.

Tandai Glossop
sumber
0

Seperti di atas Anda dibatasi oleh UID unsigned int size secara teoritis tetapi kemungkinan besar akan dibatasi oleh sumber daya saat ini sebelum mencapai batas tersebut.

mwil7034
sumber