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

chmodコマンド(シンボルモード)
Linuxシステムでは、ファイルやディレクトリのパーミッションを適切に設定することで、セキュリティを確保し、他のユーザーからの不正なアクセスや誤操作を防ぐことができます。パーミッションの設定には、chmod
コマンドを使用しますが、その指定方法には「シンボルモード」と「数値モード」の2種類があります。ここでは、直感的で理解しやすいシンボルモードによる指定について詳しく解説します。

シンボルモードによるパーミッションの変更
ファイルやディレクトリのパーミッションを設定する際には、chmod
コマンドを使用します。シンボルモードでは、以下の形式でコマンドを実行します。
シンボルモードでの指定の構成
【書式】chmod [ugoa][+-=][rwx] <ファイル名>
シンボルモードの指定は、「誰に」「どのような権限を」「追加または削除する」のかを明確に表現できます。
$ chmod u+w file.txt
↓↓↓ ↓
誰に↓何を ファイル名
↓
どうする
- 誰に(ugoa):パーミッションを変更する対象のユーザーを指定します。
- 何をどうする(+-=rwx):パーミッションの操作と種類を指定します。
ユーザーの指定(ugoa)
記号 | 意味 |
---|---|
u | オーナー(所有者) |
g | グループ |
o | その他のユーザー |
a | 全てのユーザー(u、g、o) |
注意:ユーザー指定を省略すると、
a
(全てのユーザー)が指定されたものとみなされます。
操作の指定(+-=)
記号 | 意味 |
---|---|
+ | 権限を追加する |
- | 権限を削除(禁止)する |
= | 権限を指定したものに置き換える |
権限の種類(rwx)
記号 | 意味 |
---|---|
r | 読み取り (Read) |
w | 書き込み (Write) |
x | 実行 (eXecute) |
シンボルモードでのパーミッション設定例
例1:オーナーの書き込み権限を追加
元のパーミッションがr--r--r--
のfile.txt
に対して、オーナーに書き込み権限を追加します。

以下の操作を行います。「数値モード」でのパーミッションについては、次のコンテンツ「数値モードでパーミッションを変更する:chmodコマンド」で解説します。
user01@ubuntu:~$ touch file.txt
user01@ubuntu:~$ chmod 444 file.txt
user01@ubuntu:~$ ls -l file.txt
-r--r--r-- 1 user01 user01 0 10月 19 00:37 file.txt
user01@ubuntu:~$ chmod u+w file.txt # シンボルモードでパーミッションを変更する
user01@ubuntu:~$ ls -l file.txt
-rw-r--r-- 1 user01 user01 0 10月 19 00:35 file.txt
例2:グループの書き込み権限を削除
元のパーミッションがrw-rw-r--
のfile.txt
から、グループの書き込み権限を削除します。

用途:オーナーとグループに書き込み許可があったファイルを、オーナーだけが書き込めるように変更する場合に使用します。
以下の操作を行います。
user01@ubuntu:~$ chmod 664 file.txt
user01@ubuntu:~$ ls -l file.txt
-rw-rw-r-- 1 user01 user01 0 10月 19 00:37 file.txt
user01@ubuntu:~$ chmod g-w file.txt # シンボルモードでパーミッションを変更する
user01@ubuntu:~$ ls -l file.txt
-rw-r--r-- 1 user01 user01 0 10月 19 00:37 file.txt
例3:複数のユーザーの権限をまとめて指定
元のパーミッションがrwxrwxrwx
のfile.txt
に対して、グループとその他のユーザーの権限をr
(読み取り)のみに設定します。

以下の操作を行います。
user01@ubuntu:~$ chmod 777 file.txt
user01@ubuntu:~$ ls -l file.txt
-rwxrwxrwx 1 user01 user01 0 10月 19 00:37 file.txt
user01@ubuntu:~$ chmod go=r file.txt # シンボルモードでパーミッションを変更する
user01@ubuntu:~$ ls -l file.txt
-rwxr--r-- 1 user01 user01 0 10月 19 00:37 file.txt
不要になったファイルの削除
以下の操作を行います。
user01@ubuntu:~$ rm file.txt
user01@ubuntu:~$ ls
snap ダウンロード デスクトップ ビデオ ミュージック
work テンプレート ドキュメント ピクチャ 公開
シンボルモードの特性
シンボルモードは、相対的な指定方法です。つまり、指定したパーミッションのみを変更し、他の権限はそのまま維持します。これにより、「オーナーの書き込み権限を追加する」や「グループの実行権限を削除する」といった部分的な変更が容易に行えます。
注意点
パーミッションの変更権限
ファイルのパーミッションを変更できるのは、ファイルのオーナーかスーパーユーザー(root
)のみです。他のユーザーがパーミッションを変更できてしまうと、アクセス制御の意味がなくなってしまいます。
まとめ
chmod
コマンドを使用して、ファイルやディレクトリのパーミッションを変更します。- シンボルモードでは、「誰に」「どの権限を」「どうする」の形式で直感的にパーミッションを指定できます。
- ユーザー指定(
u
、g
、o
、a
)と操作指定(+
、-
、=
)、権限種類(r
、w
、x
)を組み合わせて使用します。 - シンボルモードは相対的な変更が可能で、一部のパーミッションだけを変更したい場合に便利です。
適切なパーミッション設定を行い、システムのセキュリティと安定性を維持しましょう。