このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

新Linuxコマンド演習17

新Linuxコマンド演習17 概要

 「新Linuxコマンド演習17」では、Linuxのアクセス権限のうち、ディレクトリに設定されるパーミッションの動作を詳しく確認します。

 ファイルと異なり、ディレクトリに対する「読み取り」「書き込み」「実行」権限にはそれぞれ特有の意味があります。
これを理解することで、安全で効率的なファイル管理を行うことができます。

ディレクトリのパーミッションの意味

権限記号内容実際の動作例
読み取り権rディレクトリ内のファイル名の一覧を表示できる。ls コマンドで一覧表示できる
書き込み権wディレクトリ内のファイルやディレクトリの追加・削除ができる。touch, rm, mkdir が実行可能
実行権xディレクトリに移動できる、および内部ファイルにアクセスできる。cd コマンドで移動可能

 この表のように、ディレクトリのパーミッションはファイルとは異なり、「実行権 (x)」が中身へのアクセスを許可する重要な役割を持ちます。
実行権がない場合、たとえ「読み取り権」があってもファイル内容にはアクセスできません。

演習問題+模範解答例

演習01:ディレクトリの「読み取り権」を確認する

問題
ディレクトリ「directory1」を作成し、読み取り権のみを持つ状態での挙動を確認してください。

模範解答例

[[suzuki@AlmaLinux ~]$ mkdir directory1
[suzuki@AlmaLinux ~]$ date > directory1/file1.txt
[suzuki@AlmaLinux ~]$ chmod 400 directory1
[suzuki@AlmaLinux ~]$ ls -ld directory1
dr--------. 2 suzuki suzuki 23 11月  9 16:02 directory1

[suzuki@AlmaLinux ~]$ ls directory1
ls: 'directory1/file1.txt' にアクセスできません: 許可がありません
file1.txt
[suzuki@AlmaLinux ~]$ cd directory1
bash: cd: directory1: 許可がありません
[suzuki@AlmaLinux ~]$ cat directory1/file1.txt 
cat: directory1/file1.txt: 許可がありません

解説

  • 読み取り権(r)があるため、ファイル名の一覧 (ls directory1) は表示されます。
  • しかし、実行権(x) がないため、ディレクトリに入ることやファイル内容を読むことはできません。

演習02:ディレクトリの「書き込み権」を確認する

問題
 ディレクトリ「directory2」を作成し、書き込み権を外した場合と付与した場合の挙動を確認してください。

模範解答例

[suzuki@AlmaLinux ~]$ mkdir directory2
[suzuki@AlmaLinux ~]$ date > directory2/file2.txt
[suzuki@AlmaLinux ~]$ chmod 500 directory2
[suzuki@AlmaLinux ~]$ ls -ld directory2
dr-x------. 2 suzuki suzuki 23 11月  9 16:06 directory2

[suzuki@AlmaLinux ~]$ date > directory2/data2.txt
bash: directory2/data2.txt: 許可がありません
[suzuki@AlmaLinux ~]$ rm directory2/file2.txt
rm: 'directory2/file2.txt' を削除できません: 許可がありません

解説
 書き込み権(w)がないため、新しいファイルを作成したり、既存ファイルを削除することはできません
ただし、読み取り権があれば lsで一覧を表示することはできます。

次に、書き込み権を付与します。

[suzuki@AlmaLinux ~]$ chmod 700 directory2
[suzuki@AlmaLinux ~]$ date > directory2/data2.txt
[suzuki@AlmaLinux ~]$ rm directory2/file2.txt

書き込み権が付与されると、新しいファイルを作成・削除することが可能になります。

演習03:ディレクトリの「実行権」を確認する

問題
 ディレクトリ「directory3」を作成し、実行権を外した場合と付与した場合の違いを確認してください。

模範解答例

[suzuki@AlmaLinux ~]$ mkdir directory3
[suzuki@AlmaLinux ~]$ date > directory3/file3.txt
[suzuki@AlmaLinux ~]$ chmod 400 directory3
[suzuki@AlmaLinux ~]$ ls -ld directory3
dr--------. 2 suzuki suzuki 23 11月  9 16:11 directory3

[suzuki@AlmaLinux ~]$ cd directory3
bash: cd: directory3: 許可がありません

解説
実行権(x)がない場合、ディレクトリ内に移動することができません
また、内部のファイルにアクセスすることもできません。

次に、実行権を付与します。

[suzuki@AlmaLinux ~]$ chmod 500 directory3

[suzuki@AlmaLinux ~]$ cd directory3
[suzuki@AlmaLinux directory3]$ pwd
/home/suzuki/directory3
[suzuki@AlmaLinux directory3]$ ls
file3.txt

解説
 実行権が付与されると、cdコマンドでディレクトリに移動したり、ファイルへのアクセスが可能になります。
ただし、読み取り権がないとlsで一覧を表示できません。

演習終了時の作業

問題
作成したディレクトリとファイルを削除してください。

模範解答例

[suzuki@AlmaLinux directory3]$ cd ..
[suzuki@AlmaLinux ~]$ sudo rm -r directory*
[suzuki@AlmaLinux ~]$ ls
Desktop    Downloads  Pictures  Templates
Documents  Music      Public    Videos

解説
rm -r でディレクトリごと削除します。
管理者権限が必要な場合は sudo を付けて実行します。

ディレクトリ権限まとめ表

権限意味操作可能なコマンド例
読み取り (r)ファイル名の一覧を表示できる。ls
書き込み (w)ディレクトリ内にファイルを作成・削除できる。touch, rm, mkdir
実行 (x)ディレクトリに移動、内部ファイルへアクセスできる。cd, cat, less

補足
 ファイルとディレクトリでは「rwx」の意味が異なるため、実際の操作で動作を確認することが大切です。

まとめ

新Linuxコマンド演習17」では、ディレクトリのアクセス権限の違いを実際の操作で学びました。

  • 読み取り (r):ファイル名一覧を表示できる。
  • 書き込み (w):ファイルの作成・削除ができる。
  • 実行 (x):ディレクトリに移動できる。

 これらを正しく理解することで、Linuxのアクセス制御をより安全かつ柔軟に運用できるようになります。