特定グループの GID 変更

特定グループの GID 変更

特定のグループのグループIDを変更したいです。ファイルやディレクトリのgidを変更する方法はいくつかあります。しかし、それは私が望むものではありません。これを行う方法はありますか?

答え1

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を使用する必要があるすべてのプロセスを再起動します。

答え2

最も簡単な方法はgroupmod -g <NEW_GID> <groupname>

もう一つの方法は直接編集することです/etc/group。各列の3番目のフィールドはgidです。

変更されるグループがユーザーのデフォルトグループである場合は、/etc/passwd調整も実行する必要がありますusermod -g <NEW_GID> <username>

答え3

/ path -group foo -print0 | xargs -0 chgrp 列を検索

関連情報