【chgrp】Linuxコマンド_ファイル・ディレクトリの所属グループを変更する

ファイルやディレクトリには所属グループという属性があります。
「chgrp」コマンドで、この所属グループが該当のファイルやディレクトリの権限を変更することができます。

※スーパーユーザーはファイル・ディレクトリへのアクセス権限あり

ファイルのオーナー以外のユーザーはオーナーが異なるファイルへのアクセスはできません。
該当のファイルの所有者(オーナー)のみがアクセスすることができます。

ファイルのオーナー変更は以下のページを参考にしてください。

関連記事

ファイルやディレクトリには所有者(オーナー)という属性があります。 「chown」コマンドで、このオーナーのみが該当のファイルやディレクトリの権限を変更することができます。 ※スーパーユーザーはファイル・ディレクトリへのアクセス権限[…]

VPS_比較




↓↓↓ITエンジニアのおすすめ学習・開発環境の詳細へ↓↓↓

「chgrp」コマンドの使い方(Linux)

ファイルやディレクトリの属性を確認するには「ls -l」を実行します。

$ ls -l
total 0
-rw-r--r-- 1 root root 0 10月 17 00:26 test01.txt

上記の書式は以下となります。
該当ファイルに対し、「オーナー」と「所属グループ」が紐づけられています。

-rw-r–r– 1 <オーナー> <所属グループ> 0 10月 17 00:26 <ファイル名>

現在の所属グループが「root」となっています。
この「test01.txt」ファイルの所有者(オーナー)を「testgrp」に変更します。

所属グループを変更するには、「chgrp」コマンドを実行します。

該当の所属グループが存在しない場合は、以下のコマンドで新規グループを作成します。

$groupadd testgp

ファイルの所属グループを変更

以下コマンドで「test01.txt」の所属グループを「testgp」へ変更します。

$ chgrp testgp test01.txt 

「test01.txt」の所属グループが「testgp」に変更されたことが確認できます。

$ ls -l
total 0
-rw-r--r-- 1 root testgp 0 10月 17 00:26 test01.txt

オーナーと所属グループを同時に変更する

該当ファイルのオーナーと所属グループを同時に変更するには以下のコマンドを実行します。
オーナーは「user02」、所属グループは「testgp02」となります。

$ chown user02:testgp02 test01.txt 

上記コマンド実行後、ユーザーと所属グループが変更されたことが確認できます。

$ ls -l
total 0
-rw-r--r-- 1 user02 testgp02 0 10月 17 00:26 test01.txt

「chgrp」コマンドオプション

「chgrp」コマンドのオプションは以下の通りとなります。

$ chgrp --help
使用法: chgrp [OPTION]... GROUP FILE...
または: chgrp [OPTION]... --reference=RFILE FILE...
Change the group of each FILE to GROUP.
With --reference, change the group of each FILE to that of RFILE.

  -c, --changes          verbose と似ているが、変更があるもののみ出力する
  -f, --silent, --quiet  ほとんどのエラーメッセージを抑止する
  -v, --verbose          各ファイルを処理する毎に診断メッセージを表示する
      --dereference      シンボリック自体の代わりに、シンボリックリンクを辿っ
                         た先に適用する (この動作が既定)、
  -h, --no-dereference   参照先のファイルの代わりにシンボリックリンクに適用する
                         (シンボリックリンクの所有権を変更できるシステムで
                         のみ利用可能)
      --no-preserve-root  '/' を特別扱いしない (既定)
      --preserve-root     '/' に対する再帰的な操作を失敗させる
      --reference=RFILE  GROUP の値を使用する代わりに RFILE の GRUOP 値
                         を使用する
  -R, --recursive        ファイルとディレクトリを再帰的に操作する

以下のオプションは -R オプションと併せて指定されたときにどのように階層を
横断するかの動作を変更します。2個以上指定されたときは最後のオプションの
み有効になります。

  -H                     コマンドライン引数がディレクトリに対するシンボ
                         リックリンクの場合に、リンクを辿る
  -L                     ディレクトリに対するシンボリックリンクに遭遇し
                         た時には全て辿る
  -P                     シンボリックリンクを辿らない (デフォルト)

      --help     この使い方を表示して終了する
      --version  バージョン情報を表示して終了する

例:
  chgrp staff /u      /u のグループを "staff" に変更する。
  chgrp -hR staff /u  /u およびその配下のファイルのグループを "staff"
                   に変更する。

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report chgrp translation bugs to <https://translationproject.org/team/>
Full documentation at: <https://www.gnu.org/software/coreutils/chgrp>
or available locally via: info '(coreutils) chgrp invocation'

「chgrp」コマンドの使い方は以上となります。

エンジニアのオンライン学習

エンジニアにおすすめのオンライン教材比較
ITエンジニアが自宅で学習ができるオンラインスクール比較

エンジニアのおすすめ学習「Progate」と「Udemy」比較

VPS_比較
最新情報をチェックしよう!