
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
と入力します ターミナルで。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。