GNU/Linux >> Belajar Linux >  >> Linux

Cara mengubah UID atau GID dengan aman di Linux

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 –

  1. Ubah GID sysadmin menjadi 9999
  2. Temukan dan ubah grup semua file yang dimiliki oleh GID 1111 menjadi sysadmin
  3. Ubah GID oracle menjadi 1111
  4. Temukan dan ubah grup semua file yang dimiliki oleh GID 2222 menjadi oracle
  5. Ubah GID sysadmin menjadi 2222
  6. 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.


Linux
  1. Cara Mengubah Nama Host di Linux

  2. Cara Mengganti Shell di Linux

  3. Cara (Benar) Mengubah UID dan GID pengguna/grup di Linux

  1. Cara mengubah nama host di Linux

  2. Cara Mengubah Nama Pengguna di Linux

  3. Bagaimana cara mengubah partisi swap di Linux?

  1. Cara Mengatur atau Mengubah Nama Host Sistem di Linux

  2. Cara Mengubah Port SSH Di Linux

  3. Ubah UID/GID hanya dari satu utas di Linux