Pelajari cara mengubah UID atau GID dengan aman di Linux. Selain itu, ketahui cara mengalihkan UID antara dua pengguna dan GID di antara dua grup tanpa memengaruhi kepemilikan file yang mereka miliki.
Dalam artikel ini, kami akan memandu Anda untuk mengubah UID atau GID pengguna atau grup yang ada tanpa memengaruhi kepemilikan file yang mereka miliki. Selanjutnya, kami juga menjelaskan cara mengalihkan GID antara dua grup dan cara mengalihkan UID antara dua pengguna di sistem tanpa memengaruhi kepemilikan file yang dimiliki oleh mereka.
Mari kita mulai dengan mengubah UID atau GID pada sistem.
Skenario saat ini :
Pengguna shrikant dengan UID 1001
Grup sysadmin dengan GID 2001
Skenario yang diharapkan :
Pengguna shrikant dengan UID 3001
Grup sysadmin dengan GID 4001
Mengubah GID dan UID sederhana menggunakan perintah usermod atau groupmod, tetapi Anda harus ingat bahwa setelah mengubah UID atau GID Anda perlu mengubah kepemilikan semua file yang dimiliki oleh mereka secara manual karena kepemilikan file diketahui oleh kernel oleh GID dan UID, bukan berdasarkan nama pengguna.
Prosedurnya adalah –
Ubah UID atau GID seperti di bawah ini :
root@kerneltalks # usermod -u 3001 shrikant root@kerneltalks # groupmod -g 4001 sysadmin
Sekarang, cari dan ubah semua kepemilikan file yang dimiliki oleh pengguna atau grup ini dengan for loop
root@kerneltalks # for i in `find / -user 1001`; do chown 3001 $i; done root@kerneltalks # for i in `find / -group 2001`; do chgrp 4001 $i; done OR root@kerneltalks # find / -user 1001 -exec chown -h shrikant {} \; root@kerneltalks # find / -group 2001 -exec chgrp -h sysadmin {} \;
Itu dia. Anda telah mengubah UID dan GID dengan aman di sistem Anda tanpa memengaruhi kepemilikan file apa pun yang dimiliki oleh mereka!
Cara mengganti GID dari dua grup
Skenario saat ini :
Grup sysadmin dengan GID 1111
Grup oracle dengan GID 2222
Skenario yang diharapkan :
Grup sysadmin dengan GID 2222
Grup oracle dengan GID 1111
Dalam situasi di atas, kita perlu menggunakan satu GID perantara yang saat ini tidak digunakan di sistem Anda. Periksa file /etc/group dan pilih satu GID XXXX yang tidak ada dalam file. Dalam contoh kami, kami mengambil 9999 sebagai GID perantara.
Sekarang, prosesnya sederhana –
- Ubah GID sysadmin menjadi 9999
- Temukan dan ubah grup semua file yang dimiliki oleh GID 1111 menjadi sysadmin
- Ubah GID oracle menjadi 1111
- Temukan dan ubah grup semua file yang dimiliki oleh GID 2222 menjadi oracle
- Ubah GID sysadmin menjadi 2222
- Temukan dan ubah grup semua file yang dimiliki oleh GID 9999 menjadi sysadmin
Daftar perintah untuk langkah-langkah di atas adalah –
root@kerneltalks # groupmod -g 9999 sysadmin root@kerneltalks # find / -group 1111 -exec chgrp -h sysadmin {} \; root@kerneltalks # groupmod -g 1111 oracle root@kerneltalks # find / -group 2222 -exec chgrp -h oracle {} \; root@kerneltalks # groupmod -g 2222 sysadmin root@kerneltalks # find / -group 9999 -exec chgrp -h sysadmin {} \;
Cara mengganti UID dua pengguna
Ini dapat dilakukan dengan cara yang sama seperti kita mengganti GID di atas dengan menggunakan UID perantara.