hutang teknis
Untuk alasan di bawah ini, jauh lebih mudah untuk mengatasi masalah ini sejak dini untuk menghindari akumulasi utang teknis . Bahkan jika Anda sudah berada dalam situasi ini, mungkin lebih baik mengatasinya dalam waktu dekat daripada membiarkannya terus membangun.
sistem file jaringan
Pertanyaan ini tampaknya difokuskan pada lingkup sempit mentransfer file antara mesin dengan sistem file lokal, yang memungkinkan untuk status kepemilikan spesifik mesin.
Pertimbangan filesystem jaringan dengan mudah adalah kasus terbesar untuk mencoba menjaga pemetaan UID / GID Anda tetap sinkron, karena Anda biasanya dapat membuang "pencapaian sebaliknya" yang Anda sebutkan di luar jendela begitu mereka memasuki gambar. Tentu, Anda mungkin tidak memiliki sistem file jaringan yang dibagikan di antara host-host ini sekarang ... tetapi bagaimana dengan masa depan? Bisakah Anda dengan jujur mengatakan bahwa tidak akan pernah ada kasus penggunaan untuk sistem file jaringan yang diperkenalkan antara host Anda saat ini, atau host yang dibuat di masa depan? Tidak terlalu berpikir ke depan untuk berasumsi sebaliknya.
Asumsikan itu /home
adalah sistem file jaringan yang dibagi antara host1
dan host2
dalam contoh berikut.
- Izin yang tidak disetujui :
/home/user1
dimiliki oleh pengguna yang berbeda di setiap sistem. Ini mencegah pengguna untuk dapat secara konsisten mengakses atau memodifikasi direktori home mereka di seluruh sistem.
- chown wars : Sangat umum bagi pengguna untuk mengirimkan tiket yang meminta izin direktori home mereka diperbaiki pada sistem tertentu. Memperbaiki masalah ini pada
host2
istirahat izin pada host1
. Kadang-kadang diperlukan beberapa tiket untuk dikerjakan sebelum seseorang mundur dan menyadari bahwa tarik ulur sedang berlangsung. Satu-satunya solusi adalah memperbaiki pemetaan ID yang tidak setuju. Yang mengarah ke ...
- Neraca penyeimbangan ulang UID / GID : Kompleksitas untuk mengoreksi ID kemudian meningkat secara eksponensial dengan jumlah remapping yang terlibat untuk mengoreksi satu pengguna di beberapa mesin. (
user1
Memiliki ID dari user2
, tetapi user2
memiliki ID dari user17
... dan itu hanya sistem pertama di cluster) Semakin lama Anda menunggu untuk memperbaiki masalah, semakin kompleks rantai ini bisa menjadi, sering membutuhkan downtime aplikasi pada beberapa server untuk menyelaraskan semuanya dengan benar.
- Masalah keamanan :
user2
pada host2
memiliki UID yang sama seperti user1
pada host1
, yang memungkinkan mereka untuk menulis ke /home/user1
atas host2
tanpa sepengetahuan user1
. Perubahan ini kemudian dievaluasi host1
dengan izin dari user1
. Apa yang mungkin salah? (Jika user1
adalah pengguna aplikasi, seseorang di dev akan menemukan itu bisa ditulisi dan akan membuat perubahan. Ini adalah fakta yang sudah terbukti.)
Ada skenario lain, dan ini hanyalah contoh dari yang paling umum.
nama tidak selalu merupakan opsi
Setiap skrip atau file konfigurasi yang ditulis dengan ID numerik menjadi tidak dapat inheren di lingkungan Anda. Umumnya bukan masalah karena kebanyakan orang tidak melakukan hardcode kecuali mereka benar-benar diharuskan ... tetapi kadang-kadang alat yang Anda gunakan tidak memberi Anda pilihan dalam hal ini. Dalam skenario ini, Anda dipaksa untuk mempertahankan n versi skrip atau file konfigurasi yang berbeda.
Contoh: pam_succeed_if
memungkinkan Anda untuk menggunakan bidang user
, uid
dan gid
... "kelompok" pilihan adalah jelas tidak ada. Jika Anda menempatkan di posisi di mana beberapa sistem diharapkan untuk melaksanakan beberapa bentuk pembatasan akses berbasis kelompok, Anda akan memiliki n variasi yang berbeda dari konfigurasi PAM. (atau setidaknya satu GID yang harus Anda hindari tabrakan)
manajemen terpusat
Jawaban natxo telah mencakup ini dengan cukup baik.