Câu trả lời:
GID là định danh chính của nhóm. Theo như hệ thống, một GID khác là một nhóm khác. Vì vậy, để thay đổi GID, bạn sẽ phải sửa đổi tất cả các vị trí mà GID được sử dụng.
Bạn nên tránh coi GID là quan trọng và sử dụng tên nhóm thay thế; bạn có thể thay đổi tên của một nhóm bằng một lệnh duy nhất (trên Linux groupmod -n NEW_GROUP_NAME OLD_GROUP_NAME
:).
Tuy nhiên, nếu bạn thực sự muốn thay đổi GID, đây là cách:
groupmod -g NEWGID GROUPNAME
. Trên các hệ thống khác, sử dụng công cụ quản trị của hệ thống đó hoặc vigr
nếu có hoặc chỉnh sửa /etc/group
nếu có.Thay đổi nhóm của tất cả các tệp trên hệ thống của bạn thuộc nhóm cũ.
find / -gid OLDGID ! -type l -exec chgrp NEWGID {} \;
chgrp xóa cờ suid và sgid, khôi phục chúng.
groupmod
lấy tên làm đối số chính cho tôi ...groupmod -g NEWGID GROUPNAME
Cách dễ nhất là sử dụng groupmod -g <NEW_GID> <groupname>
Một cách khác là chỉnh sửa /etc/group
trực tiếp. Trường thứ ba trong mỗi cột là gid.
Nếu nhóm thay đổi là nhóm chính của người dùng, cũng /etc/passwd
cần phải được điều chỉnh : usermod -g <NEW_GID> <username>
.
chgrp -h ...
thay vìchgrp ...
. Nếu không-h
, mục tiêu của bất kỳ liên kết tượng trưng nào sẽ thay đổi nhóm của nó.