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

新Linuxコマンド演習16

新Linuxコマンド演習16 概要

 「新Linuxコマンド演習16」では、Linuxにおけるアクセス権限(パーミッション)設定の仕組みを理解し、chmodコマンドを使ってファイルやディレクトリの権限を変更する操作を実践します。

 Linuxでは、すべてのファイルやディレクトリに対して「所有者」「グループ」「その他ユーザー」という3つの権限対象があります。
それぞれに読み取り (r)書き込み (w)実行 (x) の3つのアクセス権を設定できます。

 本演習では、記号形式・数値形式の両方での権限設定方法に加え、スティッキービット(Sticky Bit)の役割も学びます。

パーミッションの基本構造

ls -lコマンドで表示されるパーミッションの形式は次のようになります。

表記例種類意味
rwxr-xr--権限情報所有者(rwx)、グループ(r-x)、その他(r--)
drwxrwxr-xディレクトリ先頭の「d」はディレクトリを意味する。
-rw-r--r--通常ファイル先頭が「-」は通常ファイルを意味する。

各文字の意味は以下のとおりです。

権限記号数値内容
読み取りr4ファイル内容を読むことができる。
書き込みw2ファイル内容を変更できる。
実行x1プログラムやスクリプトを実行できる。

このように、アクセス権は r=4, w=2, x=1 の組み合わせで表現されます。
たとえば rwxr-xr-- は 754 に相当します(7=4+2+1, 5=4+1, 4=4)。

演習問題+模範解答例

演習01:実行権限を追加する

問題
ファイル「file1.txt」を作成し、実行権限を追加してください。

模範解答例

[suzuki@AlmaLinux ~]$ date > file1.txt
[suzuki@AlmaLinux ~]$ ls -l file1.txt
-rw-r--r--. 1 suzuki suzuki 43 11月  9 14:33 file1.txt

[suzuki@AlmaLinux ~]$ chmod +x file1.txt
[suzuki@AlmaLinux ~]$ ls -l file1.txt
-rwxr-xr-x. 1 suzuki suzuki 43 11月  9 14:33 file1.txt

解説
chmod +x は、対象ファイルに実行権限を追加するコマンドです。
パーミッションが rw-rw-r--(664)から rwxrwxr-x(775)に変更されました。

演習02:複数の権限を一度に変更する

問題
 「file1.txt」の所有者に読み取り・書き込み権限を与え、グループとその他のユーザーの権限をすべて削除してください。

模範解答例

[suzuki@AlmaLinux ~]$ chmod u=rw,go= file1.txt
[suzuki@AlmaLinux ~]$ ls -l file1.txt
-rw-------. 1 suzuki suzuki 43 11月  9 14:33 file1.txt

解説
u=rw は所有者(user)に読み取り・書き込み権限を設定、
go= はグループ(group)とその他(others)の権限を削除します。
このように「u」「g」「o」を使って個別に指定可能です。

演習03:数値(モード値)で権限を設定する

問題
「file1.txt」のパーミッションを755に変更してください。

模範解答例

[suzuki@AlmaLinux ~]$ chmod 755 file1.txt
[suzuki@AlmaLinux ~]$ ls -l file1.txt
-rwxr-xr-x. 1 suzuki suzuki 43 11月  9 14:33 file1.txt

解説
数値指定(755)は以下の意味を持ちます。

数値対象権限意味
7所有者rwxすべての権限あり
5グループr-x読み取りと実行のみ
5その他r-x読み取りと実行のみ

このように、数値指定を使うと一度に3種類の権限を設定できます。

演習04:ディレクトリにスティッキービットを設定する

問題
「directory」というディレクトリを作成し、スティッキービットを設定してください。

模範解答例

[suzuki@AlmaLinux ~]$ mkdir directory
[suzuki@AlmaLinux ~]$ ls -ld directory
drwxr-xr-x. 2 suzuki suzuki 6 11月  9 14:48 directory

[suzuki@AlmaLinux ~]$ chmod +t directory
[suzuki@AlmaLinux ~]$ ls -ld directory
drwxr-xr-t. 2 suzuki suzuki 6 11月  9 14:48 directory

解説
 スティッキービット(sticky bit)は、ディレクトリ内のファイル削除制限を設定するための特殊な権限です。
設定すると、ディレクトリ内のファイルは作成した本人かrootのみが削除できます。


 /tmp ディレクトリにはスティッキービットが設定されており、複数ユーザーが安全にファイルを共有できます。

演習終了時の作業

問題
作成した「file1.txt」および「directory」を削除してください。

模範解答例

[suzuki@AlmaLinux ~]$ rm file1.txt 
[suzuki@AlmaLinux ~]$ rm -r directory
[suzuki@AlmaLinux ~]$ ls
Desktop    Downloads  Pictures  Templates
Documents  Music      Public    Videos

解説
ファイルは rmコマンドで削除し、ディレクトリは rm -r で再帰的に削除します。

chmod コマンドの主なオプションまとめ

オプション説明
+r, +w, +x権限を追加する。
-r, -w, -x権限を削除する。
u, g, o, a対象(所有者・グループ・その他・全員)を指定
=権限を明示的に設定する。
+tスティッキービットを設定する。

解説
「記号方式(u, g, o)」と「数値方式(例:755)」のどちらでも同じ結果が得られます。
また、スティッキービット(t)は主に共有ディレクトリで使用されます。

まとめ

 「新Linuxコマンド演習16」では、Linuxのアクセス権限管理の基本であるパーミッション設定を学びました。

  • chmod +x:実行権限を追加
  • chmod 755:数値で権限を指定
  • chmod +t:スティッキービットを設定

 これらを理解することで、システムのセキュリティを保ちつつ、安全なファイル共有とアクセス管理が行えるようになります。