Linuxを初めて触ると、ファイルやディレクトリの「パーミッション(権限)」や「所有権」がどのように機能しているのかに戸惑うことが多いかもしれません。この記事では、ファイルのアクセス権と所有者の管理方法についてわかりやすく解説します。
Linux ファイルシステムのパーミッション
まず、Linuxでは各ファイルやディレクトリに対して、誰がどのようにアクセスできるかを「パーミッション」で管理しています。これは、ファイルの「読み込み」「書き込み」「実行」といった操作を、ユーザーごとに制限する仕組みです。また、ファイルやディレクトリは必ず「所有者」と「所有グループ」に属しており、所有者やグループによって異なる権限が与えられます。
例えば、あなたが自分の作成したファイルに対してフルコントロールを持つ一方、他のユーザーには読み取り専用のアクセスしか許可しない、といった設定が可能です。
パーミッションの種類
Linuxのパーミッションには、大きく分けて以下の3つの権限があります。
- 読み取り (r): ファイルを読み取る権限
- 書き込み (w): ファイルを編集する権限
- 実行 (x): ファイルを実行する権限
これらの権限は、次の3つのユーザーグループに対して個別に設定されます。
- 所有者 (user): ファイルの作成者(通常、そのファイルを作ったユーザー)
- グループ (group): ファイルが属するグループ(特定のユーザーグループ)
- その他のユーザー (others): 上記2つのどちらにも属さない他の全てのユーザー
例えば、-rwxr-xr--
というパーミッション表記があった場合、それぞれ次のような意味を持っています。
- 所有者は読み取り・書き込み・実行が可能(
rwx
) - グループは読み取りと実行が可能(
r-x
) - その他のユーザーは読み取りのみ可能(
r--
)
パーミッションの確認方法
ファイルやディレクトリのパーミッションを確認するには、ls -l
コマンドを使います。以下の例を見てみましょう。
$ ls -l example.txt -rw-r--r-- 1 user group 1234 Oct 14 12:34 example.txt
ここで表示されている-rw-r--r--
は、先ほど説明したパーミッションの構造を表しています。ファイルの所有者(user
)は読み取りと書き込みができ、グループメンバーは読み取りのみが許可され、他のユーザーも読み取りのみが許可されています。
パーミッションの変更方法
ファイルやディレクトリのパーミッションを変更するには、chmod
コマンドを使います。このコマンドを使うと、指定したユーザーやグループに対して、ファイルの読み取り、書き込み、実行の権限を付与したり削除したりできます。
例えば、example.txt
に対して全ユーザーに読み取り・書き込み・実行権限を付与する場合、次のようにします。
$ chmod 777 example.txt
ここで777
は、それぞれのユーザーグループ(所有者、グループ、その他のユーザー)に対する権限を表しています。7
は「読み取り(r)、書き込み(w)、実行(x)」のすべての権限が許可されていることを意味します。
より詳細な設定が必要な場合は、以下のように個別に権限を指定することもできます。
$ chmod u+x example.txt # 所有者に実行権限を追加 $ chmod g-w example.txt # グループの書き込み権限を削除
所有権の変更方法
次に、ファイルやディレクトリの所有者やグループを変更する方法です。この操作にはchown
コマンドを使用します。例えば、example.txt
の所有者をsakamotoに、グループをgiants
に変更する場合、以下のようにコマンドを実行します。
$ sudo chown sakamoto:giants example.txt
このコマンドによって、example.txt
の所有者がsakamoto
になり、所属グループがgiants
に変更されます。なお、所有権の変更には管理者権限が必要なため、sudo
をつけて実行することが一般的です。
まとめ
Linuxのパーミッションと所有権は、システムのセキュリティと効率的なファイル管理に欠かせない重要な仕組みです。この記事では、基本的なパーミッションの仕組みと、chmod
およびchown
コマンドを使った権限や所有権の変更方法について紹介しました。
コメント