Group

更改特定組的 gid

  • February 9, 2019

我想更改特定組的組 ID。有很多解決方案可以更改文件或目錄的 gid。但這不是我想要的。有沒有辦法做到這一點?

GID 是組的主要標識符。就係統而言,不同的 GID 是不同的組。因此,要更改 GID,您將不得不修改使用該 GID 的所有位置。

您應該避免將 GID 視為重要的,而是使用組名;您可以使用單個命令更改組的名稱(在 Linux 上:)groupmod -n NEW_GROUP_NAME OLD_GROUP_NAME

但是,如果您確實想更改 GID,請執行以下操作:

  • 首先,您可能需要註銷組中的使用者並終止將該組作為其有效組、真實組或已保存組的程序。
  • 更改組數據庫中的條目。在 Linux 上,執行groupmod -g NEWGID GROUPNAME. 在其他系統上,使用該系統的管理工具,或者vigr如果可用,或者/etc/group根據需要進行編輯。
  • 更改系統上屬於舊組的所有文件的組。
find / -gid OLDGID ! -type l -exec chgrp NEWGID {} \;
  • chgrp 清除 suid 和 sgid 標誌,恢復它們。
  • 如果您有任何使用舊 GID 的存檔,請重建它。
  • 如果您有任何引用舊 GID 的配置文件或腳本,請更新它。
  • 重新啟動所有必須使用新 GID 的程序。

引用自:https://unix.stackexchange.com/questions/33844