GNU/Linux >> Znalost Linux >  >> Linux

Jak bezpečně změnit UID nebo GID v Linuxu

Zjistěte, jak bezpečně změnit UID nebo GID v systému Linux. Také víte, jak přepínat UID mezi dvěma uživateli a GID mezi dvěma skupinami, aniž by to ovlivnilo vlastnictví souborů, které vlastní.

V tomto článku vás provedeme změnou UID nebo GID stávajících uživatelů nebo skupin, aniž by to ovlivnilo vlastnictví souborů, které vlastní. Později jsme také vysvětlili, jak přepínat GID mezi dvěma skupinami a jak přepínat UID mezi dvěma uživateli v systému, aniž by to ovlivnilo vlastnictví souborů, které vlastní.

Začněme změnou UID nebo GID v systému.

Aktuální scénář:

Uživatel shrikant s UID 1001
Skupinový správce systému s GID 2001

Očekávaný scénář:

Uživatel shrikant s UID 3001
Skupinový správce systému s GID 4001

Změna GID a UID je jednoduchá pomocí příkazu usermod nebo groupmod, ale musíte mít na paměti, že po změně UID nebo GID musíte ručně změnit vlastnictví všech souborů, které vlastní, protože vlastnictví souboru je jádru známé podle GID a UID, nikoli uživatelským jménem.

Postup bude –

Změňte UID nebo GID, jak je uvedeno níže:

root@kerneltalks # usermod -u 3001 shrikant
root@kerneltalks # groupmod -g 4001 sysadmin

Nyní vyhledejte a změňte vlastnictví všech souborů vlastněných tímto uživatelem nebo skupinou pomocí smyčky for

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 {} \;

A je to. Bezpečně jste změnili UID a GID ve vašem systému, aniž byste ovlivnili jakékoli vlastnictví souborů, které vlastní!

Jak přepnout GID dvou skupin

Aktuální scénář:

Skupinový správce systému s GID 1111
Skupinový oracle s GID 2222

Očekávaný scénář:

Skupinový správce systému s GID 2222
Skupinový oracle s GID 1111

Ve výše uvedené situaci potřebujeme použít jeden přechodný GID, který se v současné době ve vašem systému nepoužívá. Zkontrolujte soubor /etc/group a vyberte jeden GID XXXX, který se v souboru nenachází. V našem příkladu bereme 9999 jako přechodný GID.

Nyní je proces jednoduchý –

  1. Změňte GID správce systému na 9999
  2. Najděte a změňte skupinu všech souborů vlastněných GID 1111 na sysadmin
  3. Změňte oracle GID na 1111
  4. Najděte a změňte skupinu všech souborů vlastněných GID 2222 na oracle
  5. Změňte GID správce systému na 2222
  6. Najděte a změňte skupinu všech souborů vlastněných GID 9999 na sysadmin

Seznam příkazů pro výše uvedené kroky je –

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 {} \;

Jak změnit UID dvou uživatelů

Lze to provést stejným způsobem, jakým jsme přepnuli GID výše, pomocí mezilehlého UID.


Linux
  1. Jak nastavit nebo změnit název hostitele systému v systému Linux

  2. Jak změnit uživatelské jméno v Linuxu

  3. Jak změnit název hostitele v systému Linux

  1. Jak změnit port SSH v Linuxu

  2. Jak změnit Shell v Linuxu

  3. Jak (správně) změnit UID a GID uživatele/skupiny v Linuxu

  1. Jak změnit název hostitele v Linuxu

  2. Změňte UID/GID pouze jednoho vlákna v Linuxu

  3. Jak změním swapovací oddíl v Linuxu?