Sebelum saya terjun ke kedalaman cara menyinkronkan UID / GID di berbagai mesin Linux saya, saya ingin tahu apa sebenarnya manfaatnya?
Saya tahu bahwa ini menjaga sinkronisasi file relatif mudah (karena kepemilikan "secara alami" dipertahankan). Namun ini juga dapat dicapai jika tidak tergantung pada layanan transmisi.
Apakah ada hal lain yang akan mendapat manfaat dari UID / GID yang konsisten?
linux
synchronization
uid
alex
sumber
sumber
Jawaban:
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 antarahost1
danhost2
dalam contoh berikut./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.host2
istirahat izin padahost1
. 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 ...user1
Memiliki ID dariuser2
, tetapiuser2
memiliki ID dariuser17
... 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.user2
padahost2
memiliki UID yang sama sepertiuser1
padahost1
, yang memungkinkan mereka untuk menulis ke/home/user1
atashost2
tanpa sepengetahuanuser1
. Perubahan ini kemudian dievaluasihost1
dengan izin dariuser1
. Apa yang mungkin salah? (Jikauser1
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 bidanguser
,uid
dangid
... "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.
sumber
setelah Anda mencapai ukuran tertentu (dan selalu lebih cepat dari yang Anda pikirkan), Anda akan menyadari bahwa mengubah kata sandi atau menonaktifkan akun untuk seseorang di semua host adalah PITA. Itu sebabnya orang menggunakan sistem dengan basis data LDAP (atau NIS tetapi tidak melakukan itu, tidak aman saat ini) seperti openldap atau saat ini freeipa yang sangat baik.
Anda menyimpan semua info akun / grup dalam database pusat, semua host berbagi informasi itu. Anda dapat melakukan lebih banyak hal dari sana: tentu saja, gunakan info pengguna untuk izin file, tetapi juga buat pengguna virtual untuk semua aplikasi yang memiliki ldap binding daripada harus membuat pengguna Anda di sana juga (banyak aplikasi web dapat menggunakan ldap untuk basis data penggunanya), pertahankan database aturan sudo pusat, sebarkan lingkungan autof Anda, pertahankan zona dns Anda, ...
sumber