Ich möchte die Gruppen-ID einer bestimmten Gruppe ändern. Es gibt also möglicherweise Lösungen zum Ändern der GID einer Datei oder von Verzeichnissen. Aber das will ich nicht. Gibt es eine Möglichkeit, das zu tun?
34
Die GID ist die primäre Kennung der Gruppe. Für das System ist eine andere GID eine andere Gruppe. Um die GID zu ändern, müssen Sie alle Stellen ändern, an denen diese GID verwendet wird.
Sie sollten vermeiden, die GID als signifikant zu behandeln, und stattdessen Gruppennamen verwenden. Sie können den Namen einer Gruppe mit einem einzigen Befehl ändern (unter Linux:) groupmod -n NEW_GROUP_NAME OLD_GROUP_NAME
.
Wenn Sie die GID jedoch wirklich ändern möchten, gehen Sie wie folgt vor:
groupmod -g NEWGID GROUPNAME
. Verwenden Sie auf anderen Systemen das Verwaltungstool dieses Systems oder, vigr
falls verfügbar, die entsprechenden Änderungen /etc/group
.Ändern Sie die Gruppe aller Dateien auf Ihrem System, die zur alten Gruppe gehören.
find / -gid OLDGID ! -type l -exec chgrp NEWGID {} \;
chgrp löscht suid- und sgid-Flags und stellt diese wieder her.
chgrp -h ...
stattchgrp ...
. Ohne wird die Gruppe-h
des Ziels eines relevanten Symlinks geändert.groupmod
Nehmen Sie einen Namen als Hauptargument für mich ...groupmod -g NEWGID GROUPNAME
Der einfachste Weg ist die Verwendung
groupmod -g <NEW_GID> <groupname>
Eine andere Möglichkeit besteht darin,
/etc/group
direkt zu bearbeiten . Das dritte Feld in jeder Spalte ist die gid.Wenn die geänderte Gruppe der Hauptgruppe eines Benutzers ist,
/etc/passwd
müssen angepasst werden, auch:usermod -g <NEW_GID> <username>
.quelle
find / path -group foo -print0 | xargs -0 chgrp bar
quelle