Je voudrais changer l'identifiant du groupe d'un groupe spécifique. Il existe donc une solution pour changer le gid d'un fichier ou de répertoires. Mais ce n'est pas ce que je veux. Y-a-t-il un moyen de faire ça?
34
Le GID est l'identifiant principal du groupe. En ce qui concerne le système, un GID différent est un groupe différent. Donc, pour changer le GID, vous allez devoir modifier tous les endroits où ce GID est utilisé.
Vous devez éviter de traiter le GID comme significatif et d’utiliser des noms de groupe; vous pouvez changer le nom d'un groupe avec une seule commande (sous Linux:) groupmod -n NEW_GROUP_NAME OLD_GROUP_NAME
.
Cependant, si vous voulez vraiment changer le GID, voici comment:
groupmod -g NEWGID GROUPNAME
. Sur d'autres systèmes, utilisez l'outil d'administration de ce système ou, le vigr
cas échéant, ou modifiez- /etc/group
le, le cas échéant.Modifiez le groupe de tous les fichiers de votre système appartenant à l'ancien groupe.
find / -gid OLDGID ! -type l -exec chgrp NEWGID {} \;
chgrp efface les drapeaux suid et sgid, rétablit ceux-ci.
chgrp -h ...
au lieu dechgrp ...
. Sans cela-h
, la cible de tout lien symbolique pertinent verra son groupe modifié.groupmod
prends un nom comme argument principal pour moi ...groupmod -g NEWGID GROUPNAME
Le moyen le plus simple est d'utiliser
groupmod -g <NEW_GID> <groupname>
Une autre méthode consiste à modifier
/etc/group
directement. Le troisième champ de chaque colonne est le gid.Si le groupe a changé est le groupe principal d'un utilisateur,
/etc/passwd
doivent être adaptés aussi:usermod -g <NEW_GID> <username>
.la source
find / path -group foo -print0 | xargs -0 chgrp bar
la source