【Linux】groupmodコマンドでグループ名や識別ID(GID)を書き換える

目次

概要

作成済みのグループ定義(グループ名やGID)を変更するためのコマンドです。

組織の名称変更に合わせてグループ名をリネームしたり、システム移行やセキュリティポリシーの変更に伴ってグループID(GID)を振り直したりする際に使用します。

特にGIDを変更する場合は、既存ファイルのアクセス権限に影響が出るため、慎重な操作が求められます。

仕様(引数・オプション)

構文

groupmod [オプション] [グループ名]

主なオプション

オプション説明
-n [新グループ名]グループの名前を変更します(Rename)。
-g [GID]グループID(GID)の数値を変更します。
-o / –non-unique-g と併用し、既に使用されているGIDへの重複変更を許可します。

基本の使い方

既存のグループ名(ここでは mori_dev)を、新しい名前(mori_prod)に変更します。

ID(GID)はそのまま維持され、名前だけが書き換わります。

# 変更前の確認
grep mori_dev /etc/group

# グループ名を 'mori_dev' から 'mori_prod' に変更
sudo groupmod -n mori_prod mori_dev

# 変更後の確認(mori_devは消え、mori_prodになっている)
grep mori_prod /etc/group

実行結果例

# 変更前
mori_dev:x:1005:mori

# 変更後
mori_prod:x:1005:mori

実践コマンド

グループID(GID)を変更する

グループ名は変えずに、システム上の識別番号であるGIDだけを変更します。

ここでは mori_prod グループのGIDを 2026 に変更します。

# GIDを 2026 に変更
sudo groupmod -g 2026 mori_prod

# 確認
grep mori_prod /etc/group

実行結果例

mori_prod:x:2026:mori

カスタムポイント

  • 重複GIDの許可 (-o)通常、既に使われているGIDを指定するとエラーになりますが、特権権限の共有など特殊な目的で「あえて同じGIDにしたい」場合に -o を使用します。Bash# 既存のGID 1000 と同じIDを mori_sub グループにも割り当てる sudo groupmod -g 1000 -o mori_sub

注意点

  1. GID変更後のファイル所有権問題(最重要)groupmod -g でGIDを変更しても、そのグループが所有していたファイルのGID情報は自動的に書き換わりません。変更前のGID(数値)がそのままファイルに残ってしまうため、ファイルへのアクセス権限が失われたり、「所有グループなし」の状態になったりします。応用セクションの手順でファイルの権限修正が必要です。
  2. グループ名変更の影響グループ名の変更(-n)だけであれば、内部的なGIDは変わらないため、ファイルのアクセス権限に影響はありません。ただし、設定ファイル内などでグループ名を直接記述している箇所(sudoers設定など)は手動で修正する必要があります。
  3. ログイン中の影響変更対象のグループに所属しているユーザー(mori等)がログイン中の場合、変更内容は次回のログインまで反映されません。

応用

GID変更に伴うファイルの所有権修正

GIDを変更した後、旧GID(ここでは変更前の 1005)が設定されているファイルをシステム全体から検索し、新GID(2026 または新グループ名 mori_prod)に一括修正します。

# 旧GID(1005)を持つファイルを検索し、新グループ(mori_prod)に変更
sudo find / -gid 1005 -exec chgrp mori_prod {} \;

/(ルート)から検索すると時間がかかるため、/home/var など対象ディレクトリを絞ることを推奨します。

まとめ

groupmod は、グループの「改名」と「ID変更」を行うコマンドです。

名前を変えるだけの -n は安全ですが、IDを変える -g はファイルシステムの整合性に影響を与えます。「GIDを変えたら、find コマンドでファイルの所有情報もメンテナンスする」というセット作業を必ず覚えておいてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次