Linux権限では、ディレクトリを含むすべてのファイルがユーザーとグループの所有権に関連付けられます。さらに、ファイルとディレクトリ、および通常は割り当てられたアクセス許可によって、読み取り、書き込み、実行などのアクセス権が決定され、最終的に誰がそれらにアクセスする権利を持っているかが決定されます。
このチュートリアルでは、chgrpコマンドを使用してファイルまたはディレクトリのグループ所有権を変更する方法を示します。 Linuxのchangegroupコマンド。chgrp
として知られています。 ファイルまたはディレクトリが属するグループ名を変更するために使用されます。ユーザー名とグループ名の両方を指定する必要があるchownコマンドとは異なり、chgrp
グループだけが必要です。
chgrpコマンドの構文
ファイルが属するグループを変更するための構文は非常に簡単です。 chgrp
を呼び出すだけです コマンドを実行し、その後、オブジェクト名の後にグループ名を定義します。
$ chgrp OPTION group_name /path/to/file or directory
group_name属性は、ファイルまたはディレクトリが取得する新しいグループを表します。また、グループ名の代わりにGID(グループID)を指定することもできます。その場合、GIDにプラス記号(+)を追加する必要があります。
chgrpコマンドを使用してファイルのグループを変更する
このセクションでは、ファイルのグループ所有権を変更する方法を見ていきます。 chgrpコマンドを使用してファイルのグループを変更する前に、まずファイルが属する現在のグループを確認することをお勧めします。これは、lsコマンドを使用して、次のようにファイルのファイル権限を出力することで簡単に実行できます。
$ ls -l
次の例は、settings.py
というファイルのファイルパーミッションを出力します。 docsディレクトリ内。
上記の出力から、ファイルはユーザー「Winnie」とグループ「Winnie」に属しています。たとえば、ファイルのグループを「Winnie」から「linoxide」グループに変更するには、次のようにchgrpコマンドを実行します。
$ chgrp linoxide settings.py
ただし、ほとんどの場合、通常のユーザーとしてファイルまたはディレクトリのグループを変更すると、chgrp operation not permitted
が発生します。 下の画像に表示されているエラー。このエラーは、ユーザーがファイルのグループ所有権を変更するための十分な権限を持っていないことを示しています。
この課題の回避策は、通常のユーザーをsudoersグループに追加し、以下に示すようにsudoコマンドを呼び出すことです。
$ sudo chgrp linoxide settings.py
上記の出力から、sudoコマンドを呼び出してパスワードを送信した後、グループを「linoxide」に変更することに成功したことがわかります。
さらに、次のようにchgrpコマンドを使用するときに、引数として複数のファイルを指定できます。
$ sudo chgrp group_name file_1 file_2 file_3
以下の例では、3つのファイルがあります:settings.py
、file1.txt
およびfile2.txt
すべてグループ「ウィニー」に属しています。次に、グループの所有権を「linoxide」に変更しましょう。構文は次のようになります:
$ sudo chgrp linoxide settings.py file1.txt file2.txt
グループの所有権を再帰的に変更する
ディレクトリのすべてのファイルとサブディレクトリのグループを再帰的に変更する必要がある場合があります。グループ名を再帰的に変更するには、-R
を使用します 以下の構文に示すようにフラグを立てます。
$ sudo chgrp group-name directory
たとえば、/var/www/html/nextcloud
の所有権を変更するには ディレクトリとその内容をwww-data group
、コマンドを実行します:
$ sudo chgrp -R www-data /var/www/html/nextcloud
シンボリックリンクのグループ所有権を変更する
再帰オプションを使用してもシンボリックリンクはトラバースされないため、シンボリックリンクはグループの所有権を保持します。グループの所有権をシンボリックリンクに適用するには、-h
を渡します 示されているパラメータ:
$ sudo chgrp -Rh www-data /var/www/html/nextcloud
結論
このチュートリアルでは、chgrp
について説明しました。 Linuxのコマンド。 chownコマンドでも同じことができますが、chgrpコマンドを使用するとはるかに簡単な方法で実行できます。
chownコマンドが存在するのになぜchgrpがあるのかと尋ねる人もいるかもしれません。 Chgrpコードははるかに古いものであり、chownは最初はグループをセットアップできませんでした。
注:chownは、グループchown :group
のみを変更します まだ多くのプラットフォームで移植可能または標準ではありません。
読んでいただきありがとうございます。以下のコメントセクションにフィードバックをお寄せください。