Linuxのchownコマンド使い方ガイド(無料コマンド一覧表付き)

Linuxのchownコマンド使い方ガイド(無料コマンド一覧表付き)

仮想専用サーバー(VPS)でLinuxを運用する際には、ファイルやディレクトリの所有権管理が欠かせません。chownコマンドを正しく使えば、不要なユーザーによる変更を防ぎ、外部からの攻撃に備えてファイルを守れます。

本チュートリアルではchownの基本と、VPSホスティング環境での効果的な活用方法を詳しく解説します。

Linuxにおけるchownコマンドの機能

chownはファイルやディレクトリの所有者を変更する基本コマンドであり、「:GROUP」を追加すれば、所有グループも同時に書き換えられます。実行できるのはrootもしくは現在の所有者であり、基本構文: chown [OPTIONS] OWNER[:GROUP] FILE… -Rオプションを付けると、変更を再帰的に適用できます。

chownコマンドの構文を理解する

Linuxのアクセス権は「ユーザー」「グループ」「その他」の3つに分かれ、それぞれの特徴は次のとおりです。

  • ユーザー(所有者)– 個人アカウントまたは特定アプリケーション用のアカウントです。所有権を変更すると、指定したユーザーだけに設定が反映されます。
  • グループ – 同じグループに属するメンバーは同一の権限を共有します。たとえば管理者グループに追加されたユーザーは、グループと同じ操作を実行でき、ユーザーは必ずいずれかのグループに所属し、グループには複数のユーザーを登録可能です。グループのメンバーが所有権を変更すると、グループ全体に影響します。
  • その他 – 所有者でもグループでもないすべてのユーザーを指します。

なお、上記3つの権限はrwx表記で示されます。

rread(読み取り)wwrite(書き込み)xexecute(実行)を意味します。例として、所有者は読み取り・書き込み・実行すべて許可、グループは読み取りと実行のみ許可、その他は実行のみ許可という設定が想定できるでしょう。

ポイント

VPS環境でコマンドラインを利用すると所有権と権限を簡単に調整できます。

所有権を変更する主なコマンドはchownです。ファイルだけでなくディレクトリにも適用でき、所有者とグループの両方をまとめて書き換えることが可能です。以下ではchownの構文をさらに詳しく説明します。

chown [OPTION] OWNER[:GROUP] FILE(s)
  • [OPTION] – コマンドに付加するフラグです。利用可能なフラグはmanコマンドで確認でき、man chownには構文や説明、使用例までまとまっています。
  • OWNER[:GROUP] ユーザー、グループ、または両方の所有権を同時に変更するオプションを提供します。OWNERは新しい所有者のユーザー名またはユーザーIDで、[:GROUP]は新しいグループです。所有者とグループ間のコロンに特に注意してください。
  • FILE(s) – 所有権を変更したいファイルやディレクトリを列挙します。

システムに登録されているUIDとGIDは、すべてのユーザーを一覧表示するLinuxコマンドで確認可能です。グループを設定していない場合、UIDとGIDは同じ番号になります。

Linuxにおけるchownコマンドの使用方法

ここからは、主要なchownコマンドの使用例について説明します。

chownを使用して現在のファイル所有権を確認する方法

chownコマンドを使用する前に、ユーザーとグループの権限を確認しましょう。まず、SSHを使用してVPSにログインし、cdコマンドで必要なディレクトリに移動します。

たとえば、ファイルが/home/Hostingerにある場合、以下のコマンドを使用してそこに移動してください。

cd /home/Hostinger

続いて、ディレクトリ内のファイルを一覧表示します。

ls -l

本チュートリアルではchownSample.txtというファイルを用意しました。lsの結果は下記のとおりです。

-rw-r--r-- 1 Hostinger root 0 May 23 06:58 chownSample.txt

先頭の -rw-r–r– はユーザー・グループ・その他の権限を示しており、ファイル所有者はユーザーHostinger、グループ所有権はrootです。

chownを使用してファイルの所有者を変更する方法

ファイル所有者を変更する基本構文は次のとおりです。

chown user FILE(s)

例として、chownSample.txtの所有者をHostingerからnewownerへ変更します。コマンド例は以下のとおりです。

chown newowner chownSample.txt

所有権の変更を確認するためにls -lコマンドを再度使用すると、以下の出力が生成されます。

-rw-r--r-- 1 newowner root 0 May 23 06:58 chownSample.txt

chownを使用してグループ所有権を編集する方法

chownではグループも書き換えられます。所有者とグループを同時に指定する基本構文は次のとおりです。

chown OWNER[:group] FILE(s)

たとえばchownSample.txtの所有者をnewowner、グループをnewownergroupに変更する場合は次のように入力します。

chown newowner:newownergroup chownSample.txt

所有権とグループの変更を確認するには、ls -lを使用します。

-rw-r--r-- 1 newowner newownergroup 0 May 23 07:00 chownSample.txt

グループのみを変更する必要がある場合は、所有権部分を飛ばすことができます。たとえば、グループのみをnewownergroupに変更する完全なコマンドは以下のようになります。

chown :newownergroup chownSample.txt

chownを使用してディレクトリ所有権を変更する方法

重要!ディレクトリの権限を変更しても、その中のディレクトリやファイルには同じ権限が適用されません。すべてのサブフォルダーとファイルの権限を変更する必要がある場合は、このチュートリアルの再帰的chownに関するセクションをご覧ください。

chownはディレクトリにも適用できます。ここではTestPermissionsディレクトリを例に取り、ls -lコマンドを使用して権限を表示しましょう。

drwxr-xr-x 2 Hostinger root 4096 May 23 07:41 TestPermissions

最初のdrwxr-xr-x部分は、ユーザー、グループ、その他のフォルダー権限を表し、ユーザーHostingerがディレクトリ所有者で、グループ所有権はrootに設定されています。

ファイルと同様に、ディレクトリの所有者とグループも簡単に変更できます。たとえば、以下のコマンドはユーザーnewownerTestPermissionsディレクトリの所有者に設定可能です。

chown newowner /TestPermissions

グループのみを変更するには、以下を使用します。

chown :newownergroup /TestPermissions

ディレクトリの所有者とグループを変更したい場合は、以下を使用します。

chown newowner:newownergroup /TestPermissions

同じコマンドで複数のファイルやディレクトリの権限を設定することもできます。コマンドの構文は以下のようになります。

chown [OPTIONS] [OWNER][:GROUP] file1 file2

TestPermissionsディレクトリとその中のchownSample.txtファイルで、newownerを所有者、newownergroupをグループとして設定する方法は以下のとおりです。

chown newowner:newownergroup /home/TestPermissions/ /home/TestPermissions/chownSample.txt

再帰的chownの使用方法

再帰的にchownを実行すると、ディレクトリ配下のサブディレクトリやファイルすべての所有権をまとめて変更できるようになります。

再帰処理を実行したい場合は、-Rオプションを指定します。使用例は次のとおりです。

chown -R [USER][:GROUP] Directory

同じTestPermissionsディレクトリに対し、所有者をnewownerへ再帰的に変更する例はこちらです。

chown -R newowner /home/TestPermissions/

上記のコマンドを実行するとTestPermissionsディレクトリ内のすべてのファイルとフォルダーがnewownerの所有物になります。

chownを使用してシンボリックリンクの所有者を編集する方法

シンボリックリンク(ソフトリンク)は既存の実体ファイルへの参照で、Windowsのショートカットに相当します。

chownを使ってリンクの所有者とグループを変更する手順は次のとおりです。まず、ファイルchownSample.txtのシンボリックリンクを作成しましょう。

ln -s chownSample.txt mysymlink

所有権とグループ情報を確認するには、ls -lコマンドを使用すると、以下の出力が生成されます。

-rw-r--r-- 1 root newownergroup 0 May 24 07:00 chownSample.txtlrwxr-xr-x 1 root newownergroup 0 May 24 07:00 mysymlink -> chownSample.txt

ここでは物理ファイル用とシンボリックリンク用の2つのエントリが利用可能です。次に、新しく作成されたシンボリックリンクの所有者をnewownerに変更してみましょう。

chown newowner mysymlink

上記のコマンドは、ファイルchownSample.txtの所有権を変更します。ls -lコマンドの出力は以下のようになります。

rw-r--r-- 1 newowner newownergroup 0 May 24 07:00 chownSample.txtlrwxr-xr-x 1 root newownergroup 0 May 24 07:00 mysymlink -> chownSample.txt

シンボリックリンクの所有権を変更したい場合は、-hフラグを使用します。

chown -h newowner mysymlink

ls -lコマンドを使用すると、以下の出力が生成されます。

-rw-r–r– 1 newowner newownergroup 0 May 24 07:00 chownSample.txtlrwxr-xr-x 1 newowner newownergroup 0 May 24 07:00 mysymlink -> chownSample.txt

これでシンボリックリンクの所有権が更新されました。

まとめ

Linuxでファイルやディレクトリの所有権を管理するときはchownコマンドが役に立ちます。異なるファイルに別々の所有者やグループを割り当てることで、セキュリティ体制を強化できるのです。

本チュートリアルではchownの構文を説明し、次の手順を学びました。

  • ファイル所有者を確認する手順
  • ファイルの所有権を変更する方法
  • グループ所有権を変更する方法
  • ディレクトリ所有権を編集する方法
  • 再帰的chownを使用してファイルやディレクトリの所有権を再帰的に変更する方法
  • シンボリックリンクの所有権を編集する方法

実例を通じてchownコマンドを試し、VPSでのLinux管理に必要な所有権設定の基礎を押さえておきましょう。追加でご質問やコメントがあればコメント欄にてお気軽にお聞きください。

Author
著者

Yūto Ōmura

イギリスから日本へ帰国後、翻訳者として8年従事。英国の大学ではメディア・映像を専攻し、以来、日英両言語にて10年以上複数のウェブサイトおよび動画メディアを運営。プライベートでは、料理をしたり、家族で小旅行に行ったりするのが好きです!