このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンドの基本:数値モードでパーミッションを変更する:chmodコマンド

chmodコマンド(数値モード)
ファイルやディレクトリのパーミッションを適切に設定することは、Linuxシステムのセキュリティと安定性を維持する上で非常に重要です。パーミッションの設定には、chmod
コマンドを使用します。chmod
コマンドには「シンボルモードによる指定」と「数値モードによる指定」の2種類の方法があります。ここでは、数値モードによる指定について詳しく解説します。
なお、ファイルのパーミッションを変更できるのは、オーナーかスーパーユーザー(root)のみです。誰でもパーミッションを変更できてしまうと、アクセス制御の意味がなくなってしまうためです。

数値モードによるパーミッションの変更
数値モードでパーミッションを変更する際の基本的なコマンドの書式は以下の通りです。
数値モードでの指定の構成
【書式】chmod <8進数の数値> <ファイル名>
数値モードは、絶対指定の方法であり、元のパーミッションに関わらず新しいパーミッションを一括で設定します。
パーミッションの数値表現
パーミッションを数値で表現するために、rwx
の各権限に以下の数字を割り当てます。
権限 | 数字 |
---|---|
読み取り (r ) | 4 |
書き込み (w ) | 2 |
実行 (x ) | 1 |
各権限の数字を足し合わせて、パーミッションの値を決定します。この値を「オーナー」「グループ」「その他のユーザー」の順に3つ並べて指定します。
パーミッションの数値変換方法
以下に、パーミッションを数値に変換する方法を図や表で説明します。
例1:「rwxr-xr-x」を数値に変換
パーミッションの構成
オーナー (u ) | グループ (g ) | その他のユーザー (o ) | |
---|---|---|---|
権限 | r w x | r - x | r - x |
各権限の数値
- オーナー
r
(4) +w
(2) +x
(1) = 7 - グループ
r
(4) +-
(0) +x
(1) = 5 - その他のユーザー
r
(4) +-
(0) +x
(1) = 5
数値でのパーミッション指定
chmod 755 <ファイル名>
図解

この結果、パーミッションは755
となり、元のパーミッションが何であれ「rwxr-xr-x」に変更されます。
例2:「rw-r--r--」を数値に変換
パーミッションの構成
オーナー (u ) | グループ (g ) | その他のユーザー (o ) | |
---|---|---|---|
権限 | r w - | r - - | r - - |
各権限の数値
- オーナー
r
(4) +w
(2) +-
(0) = 6 - グループ
r
(4) +-
(0) +-
(0) = 4 - その他のユーザー
r
(4) +-
(0) +-
(0) = 4
数値でのパーミッション指定
chmod 644 <ファイル名>
図解

この結果、パーミッションは644
となり、ファイルは「rw-r--r--」に設定されます。
実際の操作例
例1:パーミッションを755
に設定
1.ファイルを作成
user01@ubuntu:~$ touch file.txt
2.パーミッションを変更
user01@ubuntu:~$ chmod 755 file.txt
3.パーミッションを確認
user01@ubuntu:~$ ls -l file.txt
-rwxr-xr-x 1 user01 user01 0 10月 20 01:09 file.txt
解説
- オーナー:読み取り、書き込み、実行が可能(
rwx
) - グループ:読み取り、実行が可能(
r-x
) - その他のユーザー:読み取り、実行が可能(
r-x
) このパーミッションは、他のユーザーに実行可能なファイルを公開する場合によく使用されます。
例2:パーミッションを644
に設定
1.パーミッションを変更
user01@ubuntu:~$ chmod 644 file.txt
2.パーミッションを確認
user01@ubuntu:~$ ls -l file.txt
-rw-r--r-- 1 user01 user01 0 10月 20 01:09 file.txt
解説
- オーナー:読み取り、書き込みが可能(
rw-
) - グループ:読み取りのみ可能(
r--
) - その他のユーザー:読み取りのみ可能(
r--
) このパーミッションは、他のユーザーに内容を見せたいが、編集はさせたくないファイルに適しています。
3.不要になったファイルの削除
user01@ubuntu:~$ rm file.txt
user01@ubuntu:~$ ls
snap ダウンロード デスクトップ ビデオ ミュージック
work テンプレート ドキュメント ピクチャ 公開
まとめ
- 数値モードは、
chmod
コマンドでパーミッションを8進数の数字で絶対的に指定する方法です。 - 各権限の数値対応
読み取り(r
):4
書き込み(w
):2
実行(x
):1 - パーミッションの計算
各ユーザー種別(オーナー、グループ、その他のユーザー)ごとに、許可したい権限の数字を足し合わせます。 - 指定方法
chmod 755 file.txt
のように、3桁の数字を指定してパーミッションを設定します。 - 注意点
パーミッションの変更は、ファイルのオーナーかスーパーユーザー(root)のみが行えます。
数値モードを使用することで、パーミッションを一度に正確に設定できます。適切なパーミッションを設定し、システムのセキュリティと安定性を維持しましょう。