Chciałbym zmienić identyfikator grupy określonej grupy. Istnieją takie rozwiązania dla zmiany gid pliku lub katalogów. Ale nie tego chcę. Czy jest na to sposób?
34
GID jest głównym identyfikatorem grupy. Jeśli chodzi o system, inny GID to inna grupa. Aby zmienić GID, musisz zmodyfikować wszystkie miejsca, w których ten GID jest używany.
Powinieneś unikać traktowania GID jako znaczącego i zamiast tego używaj nazw grup; możesz zmienić nazwę grupy za pomocą jednego polecenia (w systemie Linux:) groupmod -n NEW_GROUP_NAME OLD_GROUP_NAME
.
Jeśli jednak naprawdę chcesz zmienić GID, oto jak to zrobić:
groupmod -g NEWGID GROUPNAME
. W innych systemach użyj narzędzia administracyjnego tego systemu lub, vigr
jeśli jest dostępny, lub edytuj /etc/group
odpowiednio.Zmień grupę wszystkich plików w systemie, które należą do starej grupy.
find / -gid OLDGID ! -type l -exec chgrp NEWGID {} \;
chgrp usuwa flagi suid i sgid, przywraca je.
chgrp -h ...
zamiastchgrp ...
. Bez-h
tego cel dowolnego istotnego dowiązania symbolicznego zostanie zmieniony.groupmod
weź mnie za główny argument dla mnie ...groupmod -g NEWGID GROUPNAME
Najprostszym sposobem jest użycie
groupmod -g <NEW_GID> <groupname>
Innym sposobem jest
/etc/group
bezpośrednia edycja . Trzecie pole w każdej kolumnie to gid.Jeśli zmieniona grupa jest głównym grupa użytkownika,
/etc/passwd
muszą być dostosowane także:usermod -g <NEW_GID> <username>
.źródło
znajdź / path -group foo -print0 | xargs -0 pasek chgrp
źródło