Linuxを使い始めると必ず目にする「パーミッション(permission)」。これはファイルやディレクトリに設定されたアクセス権限のことを指します。適切に設定することで、セキュリティを高めたり、複数人で安全に作業したりすることができます。
本記事では、パーミッションの基本から具体的な使い方、注意点まで丁寧にご説明いたします。
目次
パーミッションとは?
Linuxでは、各ファイルやディレクトリに「誰が、どのような操作をできるか」という権限が設定されています。これがパーミッションです。
パーミッションには以下の3種類の操作があります。
権限 | 記号 | 内容 |
---|---|---|
読み取り | r | ファイルの内容を読む/ディレクトリの中身を一覧表示する |
書き込み | w | ファイルを編集する/ディレクトリ内に作成・削除を行う |
実行 | x | ファイルを実行する/ディレクトリに移動・アクセスする |
誰に対するパーミッションか
パーミッションは、以下の3つのユーザー種別に対して個別に設定されます。
ユーザー種別 | 意味 |
---|---|
所有者(user) | ファイルやディレクトリを作成した人 |
グループ(group) | 所有者が属するユーザーグループ |
その他(others) | 上記以外のすべてのユーザー |
パーミッションの表示例
以下のコマンドで、パーミッションを確認できます。
ls -l ファイル名
出力例:
-rw-r--r--
部分 | 意味 |
---|---|
- | 通常のファイル(ディレクトリなら d ) |
rw- | 所有者:読み・書き可、実行不可 |
r-- | グループ:読み取りのみ |
r-- | その他:読み取りのみ |
数値(8進数)による表現
パーミッションは、数値でも指定できます。
権限 | 数値 |
---|---|
読み取り(r) | 4 |
書き込み(w) | 2 |
実行(x) | 1 |
例えば、chmod 755 ファイル名
は以下の意味になります。
- 所有者:7(4+2+1 = rwx)
- グループ:5(4+0+1 = r-x)
- その他:5(4+0+1 = r-x)
chmod
コマンドでの設定方法
chmod
を使うことで、権限を変更できます。
数値指定
chmod 644 sample.txt
記号指定
chmod u+x script.sh # 所有者に実行権を追加
chmod g-w file.txt # グループから書き込み権を削除
chmod o=r file.txt # その他を読み取り専用に設定
記号 | 対象 |
---|---|
u | 所有者(user) |
g | グループ(group) |
o | その他(others) |
a | 全員(all) |
所有者・グループの変更
以下のコマンドで、ファイルの所有者やグループを変更できます。
chown mori:staff report.txt
この例では、所有者を mori
、グループを staff
に設定しています。
特殊なパーミッション(上級者向け)
権限 | 記号 | 意味 |
---|---|---|
setuid | s | 実行時に所有者の権限で動作(例:passwd ) |
setgid | s | 実行時にグループの権限で動作/ディレクトリ内のファイルに同じグループを継承 |
sticky bit | t | ディレクトリ内のファイルを、その所有者しか削除できない(例:/tmp ) |
例:
chmod 4755 sample.sh # 所有者実行時にsetuidを付与
chmod +t /shared_dir # sticky bitを有効化
パーミッション設定の注意点
777
(rwxrwxrwx) は、全ユーザーにすべての権限を与えるため、非常に危険です。- 実行可能なスクリプトやバイナリ以外には、
x
権限は極力付けないようにしましょう。 - 複数人で作業する場合は、グループ管理も重要です。
まとめ
Linuxのパーミッションは、システムの安全性や運用効率に深く関わる重要な要素です。
最初は少し難しく感じるかもしれませんが、基本的な考え方とコマンド操作に慣れれば、自在に管理できるようになります。
不適切なパーミッションは、情報漏洩や不正なアクセスを招くリスクもあるため、ぜひ本記事を参考に正しい理解を深めてください。