1. はじめに(このページの目的)
Linuxを使っていて最初に戸惑うのが「パーミッションってなに?」「誰が何をできるの?」というアクセス権限の仕組みです。
この記事では、LPICレベル1の学習範囲として、Linuxのパーミッションと所有者の基本を解説します。
実際に手を動かして確認できるように、コマンド解説と練習問題も取り入れています。
2. 作業前の確認ポイント
- Linux環境(Rocky Linux, Ubuntu, WSLなど)が利用可能である
cd
,ls
などの基本コマンドに慣れている- 練習用のファイルやスクリプトを自由に作れる作業ディレクトリがある
- 基本的にすべての操作を自分の手で試す意欲がある
3. 実施手順(ステップ構成)
ステップ1:パーミッションとは何か?
Linuxでは、ファイルやディレクトリごとに誰がどの操作をできるかを制御できます。これをパーミッション(アクセス権)と呼びます。
対象となるユーザーは以下の3種類に分類されます:
- 所有者(user):ファイルを作成した本人
- グループ(group):所有者が所属するグループ
- その他(others):それ以外の全ユーザー
それぞれに対して付与できる権限は以下のとおりです:
r
(read):読み取りw
(write):書き込みx
(execute):実行
ステップ2:パーミッションを確認する
ls -l
ls
は「list(一覧表示)」の略で、-l
オプションを付けることで詳細情報を表示できます。
パーミッション、所有者、サイズ、更新日時などが表示されます。
ステップ3:パーミッションを変更する(chmod
)
chmod 755 script.sh
chmod
は「change mode」の略で、アクセス権を変更できます。
- 7 =
rwx
(読み・書き・実行) - 5 =
r-x
(読み・実行)
この例では、所有者はすべて許可、グループとその他は読み・実行のみ許可という設定になります。
ステップ4:所有者・グループを変更する
sudo chown alice test.txt
sudo chgrp dev test.txt
chown
(change owner):ファイルの所有者を変更chgrp
(change group):グループを変更
sudo
を付けることで、管理者権限での実行が可能になります。
ステップ5:注意点と落とし穴
chmod 777
は全員にすべての権限を与える設定。セキュリティ上おすすめできませんPermission denied
というエラーは、多くの場合「実行権限がない」ことが原因ですchown
やchgrp
は通常ユーザーでは実行できず、sudo
が必要です
4. 実践してみよう(練習問題)
以下の課題に取り組んで、実際の挙動を確認しましょう。
練習①:ファイルを作成し、パーミッションを確認
touch test1.txt
ls -l test1.txt
touch
:空のファイルを作成
ls -l
:パーミッションや所有者を確認
出力例:-rw-r--r--
練習②:実行権限を付与してスクリプトを実行
echo "echo Hello World" > hello.sh
chmod +x hello.sh
./hello.sh
echo
:文字列を表示>
:リダイレクト(ファイルに出力)chmod +x
:実行権限を追加./
:カレントディレクトリから実行
練習③:所有者を変更する
sudo chown yourname test1.txt
ls -l test1.txt
chown
:所有者を変更
yourname
は自分のユーザー名に置き換えてください
5. 接続確認とトラブルシューティング
エラー | 原因 | 対処法 |
---|---|---|
Permission denied | 実行権限がない | chmod +x で実行権を付与 |
Operation not permitted | sudo をつけていない |
sudo をつけて再実行 |
Command not found | 綴りミス or 実行パスの指定不足 | コマンド確認 or ./ をつけて実行 |
6. 補足情報まとめ
パーミッションの数値と意味
数値 | 意味 | 記号 |
---|---|---|
7 | 読み・書き・実行 | rwx |
6 | 読み・書き | rw- |
5 | 読み・実行 | r-x |
4 | 読みのみ | r– |
0 | 権限なし | — |
登場した主なコマンド一覧
コマンド | 説明 |
---|---|
ls -l |
パーミッション・所有者の確認 |
chmod |
パーミッションの変更 |
chown |
所有者の変更 |
chgrp |
グループの変更 |
touch |
空ファイルの作成 |
echo |
文字列を出力 |
./ |
カレントディレクトリから実行 |
7. まとめ
- Linuxのパーミッションは「誰が何をできるか」を制御する基本機能
chmod
での変更、chown
やchgrp
での所有権変更が重要777
のような設定は極力避ける- 「確認 → 変更 → 実行 → 結果を見る」の流れを意識すると理解が深まる
コメント