Apa bahaya membuat pengguna normal dengan UID <500? Dengan asumsi UID bukan duplikat dari UID yang ada, apa yang salah?
Ini bukan sesuatu yang ingin saya lakukan, tetapi sesuatu yang telah saya lihat dan ingin tahu mengapa itu tidak boleh dilakukan. Dalam contoh ini, ada di RHEL5.
Jawaban:
Saya tidak percaya ada risiko yang melekat, ini adalah sesuatu yang dilakukan hanya untuk membuat pemisahan antara apa yang dianggap akun sistem dan akun pengguna. Praktek menggunakan angka di bawah 500, dari pengalaman saya adalah Redhat-isme, dan benar-benar tidak lebih dari itu.
Pada Solaris saya telah melihat pengguna diberi nomor mulai dari 100 juga, hanya beberapa tahun kemudian menemukan bahwa ketika menggabungkan 2 sistem departemen yang lebih kecil bersama-sama menyebabkan mimpi buruk, karena ada banyak pengguna di 2 departemen yang memiliki UID yang sama / GID ditugaskan.
Ini benar-benar risiko utama / sakit kepala saat menetapkan UID. Karena UID adalah apa yang pada akhirnya ditulis ke inode untuk file / direktori yang diberikan pengguna, Anda tidak ingin mereka harus
find
mencari file yang dimiliki oleh UID 1234 dan harus mengubahnya menjadi 5678. .Jadi dengan menaruh beberapa pemikiran dalam pemilihan UID, administrator dapat menghindari sakit kepala di jalan.
Penggunaan 500 dan di atasnya hanya merupakan upaya Redhat (dan Unix lainnya) untuk memberikan buffer yang cukup sehingga setiap akun sistem yang mungkin perlu dibuat tidak akan dicampur dengan UID yang ditugaskan untuk pengguna.
/etc/login.defs
Kebetulan, angka 500 didorong oleh pengaturan ini di file konfigurasi
/etc/login.defs
,.Anda dapat mengubah ini menjadi apa pun yang Anda inginkan, jika Anda ingin mengesampingkan perilaku default oleh
useradd
/adduser
perintah.Halaman manual useradd
Jika Anda melihat
useradd
halaman manual Anda akan melihat bagian ini yang membahas nilai default untuk GID, tetapi komentar ini juga berlaku untuk UID:kutipan
Akun sistem
Satu hal lain yang perlu diperhatikan di
useradd
halaman manual adalah bagian ini tentang pembuatan akun sistem.kutipan
Ini metode ini (
useradd -r ...
) yang sering kali digunakan oleh skrip yang dimasukkan ke dalam berbagai paket paket, seperti RPM, ketika sebuah paket sedang diinstal. Dengan scripting seperti ini memungkinkan sistem untuk secara otomatis memilih UID / GID berikutnya yang tersedia pada sistem yang diberikan tanpa risiko menginjak UID / GID yang sudah ditetapkan untuk pengguna sistem.sumber
Dari perspektif kernel, hanya ada satu pengguna khusus: UID 0. Membagi rentang UID karena alasan administratif membuat hidup Anda lebih sederhana. Rentang umum adalah vendor, sistem, lokal, global.
Pengguna vendor diinstal selama instalasi awal sistem dan dikelola secara statis oleh vendor. pengguna sistem diinstal per mesin tergantung pada paket apa yang diinstal. sebagian besar pengguna menambah / menghapus penggunaan memiliki batas jangkauan untuk menangani ini secara terpisah. pengguna lokal adalah pengguna reguler dan ditugaskan per mesin. pengguna global ditugaskan oleh basis data pusat, tetapi merupakan pengguna reguler. menggunakan rentang UID mencegah konflik antara kelompok berbeda ini. di mana cutoff ini dapat bervariasi tetapi biasanya dapat dikonfigurasi.
sumber
Tidak ada bahaya yang melekat dalam melakukan ini. Jika Anda membuat pengguna dengan UID 499, mereka tidak akan memiliki privasi tambahan. Alasan yang disarankan untuk tidak hanya karena UID biasanya dicadangkan untuk pengguna sistem. Masalah yang mungkin dihadapi seseorang dalam menciptakan UID adalah ketika beberapa layanan sistem mengharapkan UID tersedia. Ini seperti membuat layanan baru yang berjalan di pelabuhan yang terkenal - tidak ada masalah dengan itu, tapi itu bukan praktik yang baik dan dapat menyebabkan masalah lebih jauh ketika Anda mengatur sshd, ftpd, dll.
Yang mengatakan, saya telah melihat banyak sistem di mana pengguna dibuat dengan UID <500 tanpa masalah. Namun, seiring bertambahnya basis pengguna dan sekarang ada ribuan pengguna, sulit untuk membedakan antara akun pengguna dan akun sistem. Mengikuti aturan no UID <500, ini sangat mudah. Jadi, ini adalah cara yang bagus untuk mengatur akun juga.
sumber
Tidak ada bahaya nyata. Kernel tidak peduli dengan nilai ID pengguna kecuali 0. Sebagian besar alat administrasi juga tidak peduli - sangat sedikit bagian sistem yang membuat perbedaan antara pengguna sistem dan pengguna manusia.
Pengguna sistem cenderung memiliki grup khusus, jadi ini kemungkinan tidak akan membuat akun milik lebih banyak grup daripada yang seharusnya.
Beberapa distribusi mencadangkan kisaran 1-499 (Red Hat dan kerabat) atau 1-999 (Debian dan kerabat) untuk pengguna sistem, termasuk pengguna yang dialokasikan saat memasang paket yang berisi layanan sistem yang membutuhkan pengguna khusus. Konvensi Debian adalah bahwa kisaran 1–99 dialokasikan secara statis (sehingga menciptakan pengguna manusia dalam kisaran itu adalah ide yang sangat buruk karena dapat berbenturan dengan pengguna sistem) sementara kisaran 100–999 dialokasikan secara dinamis (sehingga menciptakan pengguna manusia) dalam kisaran itu tidak berbahaya, karena setiap pengguna sistem baru akan memilih ID pengguna gratis).
Anda dapat mengalami ketidaknyamanan kecil, seperti manajer tampilan yang tidak menawarkan pengguna dengan UID di bawah ambang batas dalam daftar mereka.
Bahaya utama untuk mesin yang terisolasi adalah Anda cenderung membingungkan rekan administrator sistem Anda. Untuk mesin di jaringan tempat ID pengguna dibagikan, Anda dapat mengalami konflik dengan mesin lain di mana pengguna ini memiliki ID pengguna yang sama dengan pengguna sistem. Dalam jaringan dengan ID pengguna bersama, yang terbaik adalah tetap pada kisaran 1000-65533 atau bahkan 10000-65533 untuk pengguna manusia.
sumber