はじめに
chown
コマンドは、Linuxのファイル、ディレクトリ、またはリンクのユーザー所有権を変更します。すべてのファイルは、所有するユーザーまたはグループに関連付けられています。ファイルとフォルダのアクセス許可を適切に構成することが重要です。
このチュートリアルでは、Linuxchownコマンドの使用方法を学びます。 例を示します。
前提条件
- LinuxまたはUNIXライクなシステム
- 端末/コマンドラインへのアクセス
- 所有権を変更するためのsudo権限を持つユーザー。 sudoを使用してコマンドを実行することを忘れないでください それらを適切に実行します。
LinuxChownコマンド構文
基本的なchownコマンドの構文は、いくつかのセグメントで構成されています。ヘルプファイルの形式は次のとおりです。
chown [OPTIONS] USER[:GROUP] FILE(s)
- [オプション] –コマンドは、追加オプションの有無にかかわらず使用できます。
- [ユーザー] –ファイルの新しい所有者のユーザー名または数値のユーザーID。
- [:] – ファイルのグループを変更するときはコロンを使用してください。
- [グループ]– ファイルのグループ所有権の変更はオプションです。
- ファイル– ターゲットファイル。
chownコマンドを実行するには、スーパーユーザー権限が必要です。
このガイドでは、Ubuntu18.04.2LTSのchownバージョン8.28を使用してコマンド例をテストしました。
マシンのchownバージョンを確認するには、次のように入力します。
chown --version
出力は次のようになります:
Linuxでファイルの所有権を確認する方法
まず、chownコマンドを使用して所有権を変更する前に、元のファイルの所有者またはグループを知る必要があります。
現在の場所にあるLinuxファイルとディレクトリのグループまたは所有権を確認するには、次のコマンドを実行します。
ls -l
ls
の出力例 コマンドは次のようになります:
ファイルの所有者を変更する方法
chownでファイルの所有者を変更するには、新しい所有者とファイルを指定する必要があります。コマンドの形式は次のとおりです。
chown NewUser FILE
次のコマンドは、ファイルの所有権を変更します sample ルートから ユーザーへのテスト :
chown test sample
同じ形式を使用して、ファイルとディレクトリの両方の所有権を変更します 。
UIDを使用してファイルの所有者を変更する
ユーザー名の代わりに、ユーザーIDを指定して、ファイルの所有権を変更できます。
例:
chown 1002 sample2
数値UIDと同じ名前のユーザーがいないことを確認してください。存在する場合、chownコマンドは、UIDではなくユーザー名を優先します 。
複数のLinuxファイルの所有権を変更する
複数のファイルの所有権を変更するには、新しいユーザーの後にターゲットファイル名をリストします。ファイル名の間に単一のスペースを使用します。
次の例では、 root ファイルの新しい所有者になりますsample2 およびsample3 。
chown root sample2 sample3
ファイル名とディレクトリ名を組み合わせて、1つのコマンドで所有権を変更します。例:
chown root sample3 Dir1
コマンドでは大文字と小文字が区別されることを忘れないでください。
ファイルのグループを変更する方法
chownを使用すると、所有しているユーザーを変更せずに、ファイルまたはディレクトリのグループを変更できます。結果は、chgrpコマンドを使用した場合と同じです。
chown
を実行します コロンとグループ名を使用したコマンド:
chown :NewGroup FILE
次の例では、ファイルのグループを変更します sample3 grouptestからgroup3へ。
chown :group3 sample3
一括変更するには、ファイルまたはディレクトリの複数の名前をリストします。
GIDを使用してファイルのグループを変更する
UIDと同様に、ファイルのグループを変更するには、グループ名の代わりにグループID(GID)を使用します。
例:
chown :1003 sample
所有者とグループの変更
ファイルの新しい所有者を割り当てると同時にそのグループを変更するには、 chown
を実行します この形式のコマンド:
chown NewUser:NewGroup FILE
したがって、 linuxuserを設定するには 新しい所有者およびgroup2 ファイルの新しいグループとしてsample2 :
chown linuxuser:group3 sample3
コロンの前後にはスペースがないことに注意してください。
グループをユーザーログイングループに変更
chownコマンドは、グループが指定されていない場合に、所有者のログイングループをファイルに割り当てます。
これを行うには、新しいユーザーを定義し、その後にコロン、スペース、およびターゲットファイルを定義します。
chown NewUser: FILE
次の例では、グループの所有権を linuxuserのログイングループに変更します。 :
chown linuxuser: sample3
所有権とグループ設定をあるファイルから別のファイルに転送する
所有権を特定のユーザーに変更するのではなく、所有者と参照ファイルのグループを使用できます。
--reference
を追加します あるファイルから別のファイルに設定をコピーするためのchownコマンドのオプション:
chown --reference=ReferenceFILE FILE
ファイルの名前を正しく入力することを忘れないでください エラーメッセージを避けてください:
変更を加える前に所有者とグループを確認する
chown
コマンド--from
オプションを使用すると、現在の所有者とグループを確認してから、変更を適用できます。
ユーザーとグループの両方をチェックするためのchown構文は次のようになります:
chown --from=CurrentUser:CurrentGroup NewUser:NewGroup FILE
次の例は、ファイルの所有権とグループを最初に確認したことを示しています sample3 :
chown --from=root:group2 linuxuser:group3 sample3
次に、chownは所有者を linuxuserに変更しました およびgroup3へのグループ 。
所有者のみを確認
オプション--from
ファイルの現在のユーザーのみを検証するために使用できます。
chown --from=CurrentUser NewUser FILE
例:
chown --from=root linuxuser sample3
グループのみを確認
前のセクションと同様に、オプション --from
を使用して、ファイルのグループのみを検証できます。 。
chown --from=:CurrentGroup :NewGroup FILE
変更する前に現在のグループを確認した例を次に示します。
chown --from=:group3 :group4 FILE
エラーメッセージを回避するために、両方のグループ名にコロンを使用することを忘れないでください。
ファイルの所有権を再帰的に変更する方法
chownコマンドを使用すると、指定したディレクトリ内のすべてのファイルとサブディレクトリの所有権を変更できます。 -R
を追加します そのためのコマンドのオプション:
chown -R NewUser:NewGroup DirNameOrPath
次の例では、 Dir1内のすべてのファイルとディレクトリの所有者とグループを再帰的に変更します。 。
chown -R linuxuser:group3 Dir1
Chownコマンドとシンボリックリンク
シンボリックリンクの所有者を変更するには、 -h
を使用します オプション。そうしないと、リンクされたファイルの所有権が変更されます。
次の画像は、 -h
の場合のシンボリックリンクの動作を示しています。 省略されます。
シンボリックリンクの所有者とグループはそのまま残ります。代わりに、ファイルの所有者とグループ textfile 変更されました。
リンクに変更をプッシュするには、 -h
を指定してchownコマンドを実行します フラグ:
chown -h NewUser:NewGroup SymbolicLink
次の例では、シンボリックリンクの所有者とグループを変更しました。
Chownコマンドプロセスの詳細を表示する
デフォルトでは、端末はchownプロセス情報を表示しません。内部で何が起こるかを確認するには、2つのコマンドラインフラグのいずれかを使用します。
- オプション–v 所有権が同じままの場合でも、プロセスの詳細を生成します。
- オプション–c 出力情報をのみ表示します ターゲットファイルの所有者またはグループが変更されたとき。
たとえば、現在の所有者をファイルの新しい所有者として指定した場合:
chown -v linuxuser sample2
端末は次の出力を生成します:
-v
から切り替えます -c
へ この場合、メッセージはありません。これは、所有者またはグループの変更がないために発生します。
この情報は、再帰的なchownコマンドで特に役立ちます。 :
この例では、出力には、コマンドの実行後に影響を受けるすべてのオブジェクトが一覧表示されます。
Chownコマンドエラーの抑制
chownコマンドの実行時に潜在的なエラーメッセージが表示されないようにするには、 -f
を使用します。 オプション:
chown -f NewUser FILE
次の例は、存在しないファイルまたはディレクトリのエラーメッセージを示しています。
-f
を追加する フラグはほとんどのエラーメッセージを抑制します。ただし、無効なユーザー名を指定すると、エラーメッセージが表示されます。