chmod はファイルの読み書き実行の権限を変えるコマンドです。rwx の読み方、755 や 644 といった数字の意味、+x の書き方を、ブラウザ上のターミナルで打ちながら確認できます。
最終更新: 2026-09-05
chmod [オプション] モード ファイル...
モードには、755 のような数字か、+x のような記号を書きます。
まず、いまの権限を ls -l で見ます。
$ ls -l
total 16
-rw-r--r-- 1 user user 27 Sep 5 15:00 deploy.sh
-rw-r--r-- 1 user user 10 Sep 5 15:00 README.md
drwxr-xr-x 2 user user 4096 Sep 5 15:00 scripts/
-rw-r--r-- 1 user user 14 Sep 5 15:00 secret.env
左端の10文字が権限です。
| 位置 | 意味 |
|---|---|
| 1文字目 | 種類(- はファイル、d はディレクトリ) |
| 2〜4文字目 | 所有者にできること |
| 5〜7文字目 | グループにできること |
| 8〜10文字目 | その他の人にできること |
r が読み、w が書き、x が実行です。
deploy.sh は -rw-r--r-- なので、まだ実行できません。
+x で実行の権限を足します。
$ chmod +x deploy.sh
$ ls -l deploy.sh
-rwxr-xr-x 1 user user 27 Sep 5 15:00 deploy.sh
x が3か所に増えました。
記号で書くと、いまの権限に足す・引くという指定になります。
数字は、読み 4・書き 2・実行 1 の合計です。
| 数字 | できること |
|---|---|
7 | 読み・書き・実行(4+2+1) |
6 | 読み・書き(4+2) |
5 | 読み・実行(4+1) |
4 | 読みだけ |
0 | 何もできない |
3桁を並べて、所有者・グループ・その他の順に指定します。
自分だけが読み書きできる状態にするなら 600 です。
$ chmod 600 secret.env
$ ls -l secret.env
-rw------- 1 user user 14 Sep 5 15:00 secret.env
よく使う組み合わせは2つだけ覚えれば足ります。
$ chmod 644 README.md
$ ls -l
total 16
-rwxr-xr-x 1 user user 27 Sep 5 15:00 deploy.sh
-rw-r--r-- 1 user user 10 Sep 5 15:00 README.md
drwxr-xr-x 2 user user 4096 Sep 5 15:00 scripts/
-rw------- 1 user user 14 Sep 5 15:00 secret.env
644 は普通のファイル、755 は実行するファイルとディレクトリです。
-R を付けると、中のファイルまでまとめて変わります。
$ chmod -R 755 scripts
$ ls -l scripts
total 4
-rwxr-xr-x 1 user user 24 Sep 5 15:00 backup.sh
chmod は、動かない原因が権限だったときに打つコマンドです。
| 場面 | 打ち方 |
|---|---|
| スクリプトを実行できるようにする | chmod +x deploy.sh |
| 秘密の情報を自分だけに見せる | chmod 600 .env |
| 普通のファイルに戻す | chmod 644 notes.txt |
| 配布したスクリプトをまとめて直す | chmod -R 755 scripts |
数字は置き換え、記号は足し引きです。
chmod 755 はいまの権限を無視して上書きします。
chmod +x はいまの権限に実行だけを足します。
既にある設定を残したいときは記号のほうが安全です。
777 で解決してはいけません。
誰でも書き換えられる状態になります。
切り分けのために一時的に使うことはあっても、そのまま放置しないでください。
ファイルが無いとエラーになります。
$ chmod 777 nope.txt
chmod: cannot access 'nope.txt': No such file or directory
権限が足りないのではなく、所有者が違うこともあります。
その場合に必要なのは chmod ではなく chown です。
まず ls -l で、誰のファイルなのかを確かめてください。
webterm.appこのサイト
ターミナル応用
特定場面で役立つコマンドを学ぶ
learn.webterm.app別のサイト
