Linux の Chown コマンド: 使用方法


所有権とファイルのアクセス許可の管理は、おそらくシステム管理者の最も重要なタスクです。 Linux のようなマルチユーザー オペレーティング システムでは、ファイルとディレクトリの所有権を適切に割り当てることが重要です。

chown コマンドは、これに最も役立つツールです。 chmod と混同しないように、chown はファイルのユーザー所有権を変更し、それらを別のグループに割り当てることができます。これは、本格的な Linux ユーザーにとってマスターすべき必須のコマンドです。

ここでは、開始するためのガイドを示します。

ファイルの所有権を確認するにはどうすればよいですか?

さまざまな所有者やグループ間でファイルの移動を開始する前に、まずファイルの現在の所有者を確認する方法を学ぶ必要があります。プロセスは簡単です。通常の ls コマンドに -l フラグを追加すると、クエリされたファイルまたはディレクトリの所有権情報が含まれます。

example.txt というファイルがあるとします。所有権情報を表示するコマンドは次のようになります。

ls -l example.txt

単一ファイルでの chown の使用

chown を使用する最も簡単な方法は、特定のファイルを所有するユーザーを変更することです。構文は sudo chown username filename です。username はファイルを渡すユーザーの名前、filename は対象のファイルの名前です。実際には次のようになります。

sudo chown somebody_else example.txt

これによりファイルのグループ所有権が変更されるのではなく、ユーザーのみが変更されることに注意してください。グループ所有者を変更するには、別の構文を使用する必要があります – sudo chown :groupname filename

この特定のケースでは、これは次のようになります。

sudo chown :group2 example.txt

両方のコマンドを 1 行に結合して、ファイルのユーザーおよびグループの所有権を変更することもできます。

sudo chown me:group1 example.txt

chown を使用して複数のファイルの所有権を変更する

多数のファイルを扱う場合、すべてのファイルの所有権を個別に変更するのはかなり面倒です。ありがたいことに、ほとんどの Linux コマンド を使用すると、スペースで区切られた複数のファイル名を 1 つのコマンド内で連結できます。このように:

sudo chown something_else:group2 example1.txt example2.txt.

同じ方法を使用して、複数のファイルの所有権を確認することもできます。

ls -l example1.txt example2.txt

複数のファイル名を 1 つのコマンドに結合する場合でも、複数のファイルの場合、このプロセスは不便すぎます。より良いアプローチは、ディレクトリのコンテンツ全体の所有権を一度に変更することです。

これは、chown コマンドに -R フラグを追加することで実現されます。これにより、chown はディレクトリの内容を調べて、内部のすべてのファイルの所有権を再帰的に変更します。以下にデモンストレーションを示します。

sudo chown -R somebody_else:group2 の例

再帰フラグを再度使用して、サンプル フォルダー内のファイルの所有権を確認できます。

ls -l -R の例

UID を使用してファイルの所有権を変更する

多数のユーザーを管理するシステム管理者は、ユーザー名を繰り返し入力することにすぐにうんざりします。いずれかの名前に 1 つのタイプミスがあると、chown の使用時にエラーが発生し、処理の速度が大幅に低下します。

より良い代替方法は、代わりにユーザー ID を使用することです。 UID は、作成された各ユーザーに割り当てられる 4 桁の番号で、1000 から始まります。これは文字列よりも入力がはるかに簡単で、エラーが発生しにくくなります。

この方法を使用するには、ユーザー名を UID に置き換えるだけです。

sudo chown 1001 example.txt

ユーザーの UID がわからない場合は、id コマンドを使用してすぐに確認できます。 id -u usernameと入力すると、そのユーザーの一意の ID が表示されます。

このメソッドはグループ名にも拡張できます。ユーザーのログイン グループおよびユーザーが属する他のグループの UID を取得するには、-u フラグを付けずに id コマンドを使用します。

id somebody_else

ご覧のとおり、指定されたユーザーが属するさまざまなグループ ID があります。すべてをまとめると、次のように chown を使用して、新しい所有者を割り当て、ファイルのグループを変更できます。

sudo chown 1001:1003 example.txt

chown コマンドで他に何ができるのですか?

chown の一般的な使用法のほとんどはすでに説明しました。さまざまな方法でファイルを所有するユーザーとグループを変更できるようになりました。しかし、それがコマンドの能力の完全な制限ではありません。.

技術的な説明とコマンドで使用できる引数の完全なリストについては、公式のマニュアル ページを参照してください。ターミナルに「man chown」と入力するだけで表示されます。

Chown は役に立ちますか?

自分がコンピュータの唯一のユーザーである場合は、chown を使用する必要はありません。ただし、商用サーバーであれ大学のコンピューターであれ、Linux システムを専門的な環境で使用する場合は、chown コマンド (chmod に加えて) をマスターすることが最も重要です。

ユーザーおよびグループにファイルを割り当てたり削除したりできる機能は、マルチユーザー システムで厳密な境界を維持するために不可欠です。 chown の最も優れた点はその柔軟性です。同じコマンドで個々のファイルまたはディレクトリ全体を操作できます。

また、ユーザーとグループに個別に、または結合されたステートメントで所有権を割り当てることもできます。より便利な UID と併用すると、最も複雑なユーザー階層も簡単に処理できるようになります。

.

関連記事:


5.08.2022