kazmax - Linux で自宅サーバー

Linux グループ情報の変更 - groupmod

グループ情報を変更するには、コマンド「 groupmod 」を使用します。 グループ名、GIDを変更する事ができます。

Last Update : 2007年06月20日

Linux グループ情報の変更 - groupmod 項目

  1. 「 groupmod 」コマンド書式。
  2. 「 groupmod 」コマンドでグループ名、GIDを変更する。
  3. 「 groupmod 」が変更するファイル。

1. 「 groupmod 」コマンド書式。

groupmod でグループ情報を変更する事ができます。変更できる情報は、グループ名とGIDとなります。

書式

groupmod [ -g gid [-o ] ]
         [ -n group_name  ]
         group

group は、変更対象のグループ名 )

オプション

オプション 説明
-g 指定した group のGIDを 指定した gid に変更する
-n 指定した group のグループ名を group_name に変更する
-o gid の重複を許可する

2. 「 groupmod 」コマンドでグループ名、GIDを変更する。

groupmod コマンドで、グループ名を変更するには以下のようにします。

[root@localhost ~]# tail -1 /etc/group
before_group:x:515:
↑ before_group がある事を確認

[root@localhost ~]# groupmod -n after_group before_group ← グループ名の変更
[root@localhost ~]# tail -1 /etc/group
after_group:x:515:
↑ after_group に変更された事を確認

groupmod コマンドで、gid を変更するには以下のようにします。

[root@localhost ~]# tail -1 /etc/group
after_group:x:515:
↑ gid が515 である事を確認

[root@localhost ~]# groupmod -g 520 after_group ← GID の変更
[root@localhost ~]# tail -1 /etc/group
after_group:x:520:
↑ gid が520 に変更された事を確認

memo

GIDの変更についての注意ですが、グループのGIDを変更しても、既存のファイル、ディレクトリのグループは変更されません。

場合にもよりますが、もしGID変更後も既存のファイル等をそのグループが使用する場合は、ファイル、ディレクトリのグループも変更してあげた方がいいかも。

[root@localhost tmp]# tail -1 /etc/group
after_group:x:515:
↑ after_group の GID が515 である事を確認

[root@localhost tmp]# ls -l
-rw-r--r--  1 hoge1 after_group 0  6月 20 00:20 test.txt
↑ ファイルのグループが after_group である事を確認

[root@localhost tmp]# groupmod -g 520 after_group ← after_group の GID を520へ変更

[root@localhost tmp]# ls -l
-rw-r--r--  1 hoge1 515 0  6月 20 00:20 test.txt
↑ ファイルのグループは変更されないので、元のグループのGIDが表示される

GID の変更後、一括してファイル、ディレクトリのグループを変更する場合は、以下の様にするとできます。

[root@localhost ~]# find / -gid 515 -exec chgrp after_group {} \;

gid が、515のファイル、ディレクトリに対して、chgrp(ファイルのグループ所有権を変更するコマンド)を実行しています。 また、「 \ 」は¥マークの事です。

3. 「 groupmod 」が変更するファイル。

groupmod コマンドが変更するファイルは、

  • /etc/group
  • /etc/gshadow

の2ファイルとなります。

groupadd の時と同じ様に、コマンドを使用せず、これらのファイルを直接変更してもシステムはグループの変更を認識します。

Linux 基礎知識 関連記事