Apprenez à modifier l'UID ou le GID en toute sécurité sous Linux. Sachez également comment basculer l'UID entre deux utilisateurs et le GID entre deux groupes sans affecter la propriété des fichiers qu'ils possèdent.
Dans cet article, nous vous expliquerons comment modifier l'UID ou le GID d'utilisateurs ou de groupes existants sans affecter la propriété des fichiers qui leur appartiennent. Plus tard, nous avons également expliqué comment changer de GID entre deux groupes et comment changer d'UID entre deux utilisateurs sur le système sans affecter la propriété des fichiers qui leur appartiennent.
Commençons par changer l'UID ou le GID sur le système.
Scénario actuel :
Utilisateur shrikant avec l'UID 1001
Administrateur système de groupe avec GID 2001
Scénario attendu :
Utilisateur shrikant avec UID 3001
Administrateur système de groupe avec GID 4001
Changer GID et UID est simple en utilisant la commande usermod ou groupmod, mais vous devez garder à l'esprit qu'après avoir changé UID ou GID, vous devez changer manuellement la propriété de tous les fichiers qui leur appartiennent puisque la propriété du fichier est connue du noyau par GID et UID, pas par nom d'utilisateur.
La procédure sera -
Modifiez l'UID ou le GID comme ci-dessous :
root@kerneltalks # usermod -u 3001 shrikant root@kerneltalks # groupmod -g 4001 sysadmin
Maintenant, recherchez et modifiez la propriété de tous les fichiers appartenant à cet utilisateur ou à ce groupe avec la boucle 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 {} \;
C'est ça. Vous avez modifié en toute sécurité l'UID et le GID de votre système sans affecter la propriété des fichiers qu'ils possèdent !
Comment changer le GID de deux groupes
Scénario actuel :
Administrateur système de groupe avec GID 1111
Oracle de groupe avec GID 2222
Scénario attendu :
Administrateur système de groupe avec GID 2222
Oracle de groupe avec GID 1111
Dans la situation ci-dessus, nous devons utiliser un GID intermédiaire qui n'est actuellement pas utilisé sur votre système. Vérifiez le fichier /etc/group et sélectionnez un GID XXXX qui n'est pas présent dans un fichier. Dans notre exemple, nous prenons 9999 comme GID intermédiaire.
Maintenant, le processus est simple -
- Changer le GID de l'administrateur système en 9999
- Rechercher et modifier le groupe de tous les fichiers appartenant au GID 1111 en sysadmin
- Changer le GID oracle en 1111
- Recherchez et modifiez le groupe de tous les fichiers appartenant au GID 2222 en oracle
- Changer le GID de l'administrateur système en 2222
- Rechercher et modifier le groupe de tous les fichiers appartenant au GID 9999 en sysadmin
La liste des commandes pour les étapes ci-dessus sont –
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 {} \;
Comment changer l'UID de deux utilisateurs
Cela peut être fait de la même manière que nous avons changé de GID ci-dessus en utilisant un UID intermédiaire.