chown コマンドを使用すると、特定のファイル、ディレクトリ、またはシンボリックリンクのユーザーやグループの所有権を変更できます。
Linuxでは、すべてのファイルが所有者とグループに関連付けられ、ファイル所有者、グループメンバー、その他のアクセス権が割り当てられます。
このチュートリアルでは、 chownの使用方法を紹介します。 実例を通してコマンドします。
chownの使用方法 #
chownの使用方法に入る前に コマンド、基本的な構文を確認することから始めましょう。
chown コマンド式は次の形式を取ります:
chown [OPTIONS] USER[:GROUP] FILE(s)
USER 新しい所有者のユーザー名またはユーザーID(UID)です。 GROUP 新しいグループの名前またはグループID(GID)です。 FILE(s) 1つ以上のファイル、ディレクトリ、またはリンクの名前です。数値IDの前には+を付ける必要があります シンボル。
ユーザー-ユーザーのみが指定されている場合、指定されたユーザーが指定されたファイルの所有者になり、グループの所有権は変更されません。-
ユーザー:-ユーザー名の後にコロンが続く場合:、およびグループ名が指定されていない場合、ユーザーはファイルの所有者になり、ファイルグループの所有権はユーザーのログイングループに変更されます。 -
USER:GROUP-ユーザーとグループの両方が指定されている場合(間にスペースがない場合)、ファイルのユーザー所有権は指定されたユーザーに変更され、グループ所有権は指定されたグループに変更されます。 -
:GROUP-ユーザーが省略され、グループの前にコロン:が付いている場合 、ファイルのグループ所有権のみが特定のグループに変更されます。 -
:コード> コロンのみの場合:ユーザーとグループを指定せずに、変更は行われません。
デフォルトでは、成功すると、 chown 出力を生成せず、ゼロを返します。
ls -lを使用します ファイルの所有者またはファイルが属するグループを確認するコマンド:
ls -l filename.txt -rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt
|[-][-][-]- [------] [---]
| |
| +-----------> Group
+-------------------> Owner
通常のユーザーは、ファイルを所有し、メンバーであるグループにのみファイルのグループを変更できます。管理ユーザーは、すべてのファイルのグループ所有権を変更できます。
ファイルの所有者を変更する方法#
ファイルの所有者を変更するには、 chownを使用します コマンドの後に新しい所有者のユーザー名と引数としてのターゲットファイルを続けます:
chown USER FILE
たとえば、次のコマンドは、 file1という名前のファイルの所有権を変更します。 linuxizeという名前の新しい所有者に :
chown linuxize file1
複数のファイルまたはディレクトリの所有権を変更するには、それらをスペースで区切ったリストとして指定します。次のコマンドは、 file1という名前のファイルの所有権を変更します およびディレクトリdir1 linuxizeという名前の新しい所有者に :
chown linuxize file1 dir1
ユーザー名の代わりに数値のユーザーID(UID)を使用できます。次の例では、 file2という名前のファイルの所有権を変更します 1000のUIDを持つ新しい所有者に :
chown 1000 file2
数値の所有者がユーザー名として存在する場合、所有権はユーザー名に譲渡されます。このプレフィックスを回避するには、IDに +を付けます :
chown 1000 file2 ファイルの所有者とグループを変更する方法#
ファイルの所有者とグループの両方を変更するには、 chownを使用します コマンドの後にコロンで区切られた新しい所有者とグループが続きます(: )間にスペースとターゲットファイルはありません。
chown USER:GROUP FILE
次のコマンドは、 file1という名前のファイルの所有権を変更します linuxizeという名前の新しい所有者に およびグループusers :
chown linuxize:users file1
コロンの後のグループ名を省略した場合(: )ファイルのグループが指定されたユーザーのログイングループに変更されます:
chown linuxize: file1 ファイルのグループを変更する方法#
ファイルのグループのみを変更するには、 chownを使用します コマンドの後にコロン(: )および新しいグループ名(間にスペースを入れない)と引数としてのターゲットファイル:
chown :GROUP FILE
次のコマンドは、 file1という名前のファイルの所有グループを変更します www-dataへ :
chown :www-data file1
ファイルのグループ所有権を変更するために使用できるもう1つのコマンドは、 chgrpです。 。
再帰オプションを使用しない場合は、 chown コマンドは、シンボリックリンク自体ではなく、シンボリックリンクが指すファイルのグループ所有権を変更します。
たとえば、シンボリックリンク symlink1の所有者とグループを変更しようとした場合 / var / www / file1を指します 、 chown シンボリックリンクが指すファイルまたはディレクトリの所有権を変更します:
chown www-data: symlink1 ターゲットの所有権を変更する代わりに、「「symlink1」を逆参照できません:アクセスが拒否されました」というエラーが発生する可能性があります。
ほとんどのLinuxディストリビューションではデフォルトでシンボリックリンクが保護されており、ターゲットファイルを操作できないため、エラーが発生します。このオプションは、 / proc / sys / fs / protected_symlinksで指定されています 。 1 有効で0を意味します 無効。シンボリックリンク保護を無効にしないことをお勧めします。
シンボリックリンク自体のグループ所有権を変更するには、 -hを使用します オプション:
chown -h www-data symlink1
指定されたディレクトリの下にあるすべてのファイルとディレクトリを再帰的に操作するには、 -Rを使用します。 (-再帰的 )オプション:
chown -R USER:GROUP DIRECTORY
次の例では、 / var / wwwの下にあるすべてのファイルとサブディレクトリの所有権を変更します。 www-dataという名前の新しい所有者とグループへのディレクトリ :
chown -R www-data: /var/www
ディレクトリにシンボリックリンクが含まれている場合は、 -hを渡します オプション:
chown -hR www-data: /var/www
ディレクトリの所有権を再帰的に変更するときに使用できるその他のオプションは、 -Hです。 および-L 。
引数がchownに渡された場合 コマンドは、ディレクトリ -Hを指すシンボリックリンクです。 オプションを指定すると、コマンドがそれをトラバースします。 -L chownに通知します 検出されたディレクトリへの各シンボリックリンクをトラバースします。通常、システムを台無しにしたり、セキュリティリスクを引き起こしたりする可能性があるため、これらのオプションは使用しないでください。
参照ファイルの使用#
-reference =ref_file オプションを使用すると、指定されたファイルのユーザーとグループの所有権を、指定された参照ファイル( ref_file )の所有権と同じになるように変更できます。 )。参照ファイルがシンボリックリンクの場合chown ターゲットファイルのユーザーとグループを使用します。
chown --reference=REF_FILE FILE
たとえば、次のコマンドは、 file1のユーザーとグループの所有権を割り当てます。 file2へ
chown --reference=file1 file2 結論#
chown は、ファイルのユーザーやグループの所有権を変更するためのLinux/UNIXコマンドラインユーティリティです。
chownの詳細については コマンドはchownのマンページにアクセスするか、 man chownと入力します ターミナルで。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。