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

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

chown コマンドは、これに最も役立つツールです。chmodと間違わないように、 chown はファイルのユーザー所有権を変更し、それらを別のグループに割り当てることができます。これは、本格的なLinuxユーザーが習得するために不可欠なコマンドです。

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

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

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

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

ls -l example.txt

単一ファイルで chown を使用する

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

sudo chown someone_else example.txt

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

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

sudo chown :group2 example.txt

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

sudo chown me:group1 example.txt

chownを使用した複数ファイルの(Multiple Files)所有権(Ownership)の変更

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

sudo chown someone_else:group2 example1.txt example2.txt

同じトリックを使用して、複数のファイルの所有権も確認します。

ls -l example1.txt example2.txt

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

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

sudo chown -R someone_else:group2 の例

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

ls -l -R の例

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

多くのユーザーを管理するシステム管理者は、ユーザー名を繰り返し入力することにすぐに飽きてしまいます。chown を使用すると、いずれかの名前に 1 つのタイプミスがあるとエラーがスローされ、処理が大幅に遅くなります。

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

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

sudo chown 1001 example.txt

ユーザーのUID(UID)がわからない場合は、id コマンドですばやく確認できます。id -u username と入力する だけで、そのユーザーの一意の ID が表示されます。(Just)

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

id someone_else

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

sudo chown 1001:1003 example.txt

chownコマンド(Command)で他に何ができますか?

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

技術的な説明と、コマンドで使用できる引数の完全なリストについては、公式の man ページを参照してください。端末に man chown と入力する だけで表示できます。(Just)

Chownは便利ですか?

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

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

ユーザーとグループに所有権を個別に割り当てることも、組み合わせたステートメントで割り当てることもできます。より便利なUID(UIDs)とともに使用すると、最も複雑なユーザー階層の処理も簡単になります。



About the author

私は、Windows 11/10 と Apple の最新の iOS プラットフォームの両方の経験を持つ iPhone と macOS の開発者です。10 年以上の経験があるため、両方のプラットフォームでファイルを作成および管理する方法を深く理解しています。私のスキルは、ファイルを作成するだけではありません。また、Apple 製品、その機能、およびそれらの使用方法についての深い知識も持っています。



Related posts