GNU/Linux >> Linux の 問題 >  >> Linux

groupmodコマンドを使用してLinuxでグループを変更する

以前の記事では、groupaddコマンドとgroupdelコマンドを学びました。このチュートリアルでは、groupmodコマンドについて学習します。

Linuxのgroupmodコマンドは、名前またはグループID(GID)を変更することにより、指定されたグループを変更します。

コマンドの構文は次のとおりです。

groupmod [options] GROUP

グループの変更は管理タスクであるため、sudoユーザーになるか、rootアカウントを使用してこのコマンドを実行する必要があります。

ここでは、groupmodコマンドの例でsudoを使用します。

groupmodコマンドでグループ名を変更する

グループの名前を変更する場合は、次の方法で変更できます。

sudo groupmod -n new_groupname old_groupname

ここでの良い点は、グループ名を変更しても、グループが所有するファイルには影響しないことです。

実際の例で見てみましょう。

これが、ユーザーabhishekとグループtest_groupに属するファイルです。

[email protected]:~$ ls -l ab.txt 
-rw-r--r-- 1 abhishek test_group 0 Feb 24 16:39 ab.txt

ここで、グループ名をtest_groupからtestgroupに変更すると(名前からアンダースコアを削除)

[email protected]:~$ sudo groupmod -n testgroup test_group

新しいグループ名を反映するために、ファイルのグループ所有権を「変更」します。

[email protected]:~$ ls -l ab.txt 
-rw-r--r-- 1 abhishek testgroup 0 Feb 24 16:39 ab.txt

実際には、グループ名を変更してもグループIDは変わりません。グループIDを変更する方法を見てみましょう。

groupmodコマンドでグループIDを変更する

グループのGIDは、次の方法で変更できます。

sudo groupmod -g GID groupname

現在、これは危険な変更であり、回避する必要があります。まず、システムグループと通常のグループを区別するためのGID_MIN、GID_MAX、SYS_GID_MIN、SYS_GID_MAX値などのログイン定義に関するチェックは実行されません。

次に重要なのは、グループが所有するファイルが、存在しないグループによってグループの所有権のままになることです。

以下の例で、グループテストのグループIDを1020に変更しましたが、このグループが所有するファイルには古いGIDが引き続き反映されています。

[email protected]:~$ ls -l a.txt 
-rw-r--r-- 1 abhishek testing 57 Feb 24 15:57 a.txt
[email protected]:~$ sudo groupmod -g 1020 testing
[email protected]:~$ ls -l a.txt 
-rw-r--r-- 1 abhishek 1008 57 Feb 24 15:57 a.txt

ご参考までに、GIDは/ etc/groupファイルで確認できます。 idコマンドを使用して、GID、UID、その他の詳細を表示することもできます。

Linuxでのグループ管理のためのgroupmodコマンドについて理解を深めていただければ幸いです。ご質問やご提案は大歓迎です。


Linux
  1. 例を含むLinuxTeeコマンド

  2. LinuxはGroupaddコマンドを使用してグループを作成します

  3. Linux での groupmod コマンドの例

  1. 例を含むwcLinuxコマンド

  2. Linuxのソートコマンドと例

  3. LinuxでのJQコマンドと例

  1. Linuxでのエコーコマンド(例付き)

  2. Linuxでのmanコマンドと例

  3. LinuxでのAWKコマンドと例