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ý –
- Změňte GID správce systému na 9999
- Najděte a změňte skupinu všech souborů vlastněných GID 1111 na sysadmin
- Změňte oracle GID na 1111
- Najděte a změňte skupinu všech souborů vlastněných GID 2222 na oracle
- Změňte GID správce systému na 2222
- 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.