Linuxでは、各ファイルは所有者とグループに関連付けられており、ファイルの読み取り、書き込み、または実行を行うことができるユーザーを決定する権限があります。
この記事では、 chgrpの使用方法について説明します 指定されたファイルのグループ所有権を変更するコマンド。
chgrp コマンド構文#
chgrp コマンドの形式は次のとおりです。
chgrp [OPTIONS] GROUP FILE..
-
GROUP、新しいグループの名前、またはグループID(GID)。数値GIDの前に+を付ける必要があります シンボル。 ファイル..コード> 、1つ以上のファイルの名前。
chownとは異なり ユーザーとグループの所有権を変更できるコマンド、 chgrp グループの所有権のみを変更します。
ファイルがどのグループに属しているかを確認するには、 ls -lを使用します コマンド。
通常のユーザーは、ファイルを所有し、メンバーであるグループにのみファイルのグループを変更できます。管理ユーザーは、すべてのファイルのグループ所有権を変更できます。
ファイルまたはディレクトリのグループ所有権を変更するには、 chgrpを呼び出します。 コマンドの後に、引数として新しいグループ名とターゲットファイルが続きます。
たとえば、ファイルのグループを変更するには filename www-dataへ 実行します:
chgrp www-data filename
特権のないユーザーでコマンドを実行すると、「操作は許可されていません」というエラーが発生します。エラーメッセージを抑制するには、 -fを指定してコマンドを呼び出します。 オプション。デフォルトでは、成功すると、 chgrp 出力を生成せず、ゼロを返します。
chgrpに引数として複数のファイルを渡すこともできます コマンド:
chgrp www-data file1 file2 dir1
-vを使用します 処理中のファイルに関する情報を取得するオプション:
chgrp www-data file1 file2 changed group of 'file1' from nginx to www-data
group of 'file2' retained as www-data
グループが実際に変更するファイルに関する情報のみを印刷するには、 -cを使用します。 -vの代わりに 。
ユーザー名の代わりに数値グループID(GID)を使用できます。次の例では、ファイルのグループ所有権をGIDが1000の新しいグループに変更します。
chgrp +1000 filename シンボリックリンクグループの所有権を変更する方法#
再帰的に動作しない場合、 chgrpのデフォルトの動作 コマンドは、シンボリックリンク自体ではなく、シンボリックリンクターゲットのグループ所有権を変更することです。
たとえば、シンボリックリンク symlink1のグループを変更しようとした場合 / opt / file1を指します 、 chgrp シンボリックリンクが指すファイルまたはディレクトリの所有権を変更します:
chgrp www-data symlink1 ターゲットグループを変更する代わりに、「「symlink1」を逆参照できません:アクセスが拒否されました」というエラーが発生する可能性があります。
ほとんどのLinuxディストリビューションではデフォルトでシンボリックリンクが保護されており、ターゲットファイルを操作できないため、エラーが発生します。このオプションは、 / proc / sys / fs / protected_symlinksで指定されています 。 1 有効で0を意味します 無効。シンボリックリンク保護を無効にしないことをお勧めします。
シンボリックリンク自体のグループ所有権を変更するには、 -hを使用します オプション:
chgrp -h www-data symlink1
特定のディレクトリの下にあるすべてのファイルとディレクトリのグループ所有権を再帰的に変更するには、 -Rを使用します。 オプション。
たとえば、次のコマンドは、 / var / wwwの下にあるすべてのファイルとディレクトリの所有権を変更します。 www-dataへのディレクトリ グループ:
chgrp -R www-data /var/www
再帰オプションが指定されている場合chgrp シンボリックリンクをトラバースせず、シンボリックリンクに変更を加えません。シンボリックリンクのグループ所有権を変更するには、 -hを渡します オプション:
chgrp -hR www-data /var/www
グループの所有権を再帰的に変更するときに使用できるその他のオプションは、 -Hです。 および-L 。
引数がchgrpに渡された場合 コマンドはシンボリックリンク、 -H オプションを指定すると、コマンドがそれをトラバースします。 -L chgrpに通知します 検出されたディレクトリへの各シンボリックリンクをトラバースします。ほとんどの場合、システムを台無しにしたり、セキュリティリスクを引き起こしたりする可能性があるため、これらのオプションは使用しないでください。
結論#
chgrp ファイル、ディレクトリ、およびシンボリックリンクのグループ所有権を変更します。
より人気のあるchownを使用できますが グループを変更するコマンド、 chgrp 覚えやすいシンプルな構文です。
chgrpの詳細については コマンドを実行するには、chgrpのマンページにアクセスするか、 man chgrpと入力します。 ターミナルで。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。