Q1ls -lの先頭に出る-rwxr-xr-xを 8 進数で表すとどれですか?
パーミッション — 読み方と chmod
ls -lのrwx表記と8進数の読み方、chmodの記号と数字での書き換え、chownの構文までを、ブラウザ端末で実際に操作しながら学べます。
パーミッションの読み方 — ls -l と 8 進数
パーミッションは、ファイルやディレクトリに対して誰が何をできるかを表す設定です。
ls -lを実行すると、各行の先頭に-rwxr-xr-xのような 10 文字が並びます。
先頭 1 文字は種類(-がファイル、dがディレクトリ)、続く 9 文字を 3 文字ずつ区切って読みます。
9 文字は左から所有者・グループ・その他の 3 組です。
各組はr(読み取り)・w(書き込み)・x(実行)の順で、許可されていれば文字、なければ-になります。
r=4・w=2・x=1は 2 進 3 桁(各ビット)に対応し、4・2・1 の桁を足した数になります。
1 組を足した数字で表すと、rwxは 7、r-xは 5、r--は 4 となり、3 組を並べて755や644という 8 進数表記になります。
| 記号 | 意味 | r4+w2+x1 | 数字 |
|---|---|---|---|
--- | 何もできない | 0 | 0 |
--x | 実行のみ | 1 | 1 |
r-- | 読み取りのみ | 4 | 4 |
r-x | 読み取り+実行 | 4+1 | 5 |
rw- | 読み書き | 4+2 | 6 |
rwx | 全権 | 4+2+1 | 7 |
| 8 進 | rwx 表記 | 用途 |
|---|---|---|
644 | rw-r--r-- | 通常ファイル |
755 | rwxr-xr-x | スクリプト・ディレクトリ |
700 | rwx------ | 秘密鍵・個人ディレクトリ |
600 | rw------- | 設定ファイル |
rwxr-xr-xは所有者 7・グループ 5・その他 5 で755と読みます。この環境の権限と本番サーバーでの動き
このブラウザ環境は root 単独で動くため、chmodでビットを変えても root はアクセス制限を無視し、Permission deniedは再現しません。
本講座ではビットの読み方とchmod / chownの構文を学びます。
ls -lの表示が変わることは実際に確認できます。
複数ユーザの本番サーバーでは、この権限設定がアクセス制御として機能します。
touch report.txt # 素材を作成
ls -l report.txt # 先頭の rwx 表記を読む
ls -l # ディレクトリの一覧で d も確認
権限を変える — chmod
chmodはパーミッションを変更します。
書き方は 2 通りあり、chmod +x fileのように記号で「実行を足す」と指定する記号モードと、chmod 644 fileのように 3 桁の 8 進数で所有者・グループ・その他をまとめて指定する数字モードがあります。
| モード | 書き方 | 例 | 意味 |
|---|---|---|---|
| 記号 | chmod [ugoa][+-=][rwx] | chmod +x file | 実行を足す |
| 数字 | chmod NNN file | chmod 644 file | 3 組を一括指定 |
+xは実行を足し、数字644 / 700は 3 組をまとめて指定します。touch script.sh # 素材を作成
chmod +x script.sh # 実行を足す
ls -l script.sh # x が付いたか確認
所有者だけに絞る — chmod 700
chmod 700は所有者にrwx、グループとその他には何も与えない設定です。
秘密鍵や個人用のディレクトリなど、所有者以外に触らせたくないものに使う典型的な指定です。
表示はrwx------になります。
所有者を変える — chown
chownは、ファイルやディレクトリの所有者を変更するコマンドです。
構文はchown ユーザ名 fileで、グループも一緒に変えるならchown ユーザ名:グループ名 fileと書きます。
ここでの:はユーザ名とグループ名の区切りで、:の前が所有者、後ろがグループを表します。
| 書き方 | 意味 | 例 |
|---|---|---|
chown ユーザ名 file | 所有者を変更 | chown alice file.txt |
chown ユーザ名:グループ名 file | 所有者とグループを変更 | chown alice:dev file.txt |
所有者の変更は本来 root の操作で、複数ユーザのサーバーでファイルの持ち主を引き継ぐときに使います。
この環境では実行する場面が無いため、次の例で構文の形だけを読んで覚えます。
chown alice file.txt # 所有者を alice に変更
chown alice:dev file.txt # 所有者 alice・グループ dev に変更
理解度チェック
まずは1問ずつ答えてみましょう。
Q2chmod +x script.shは何をしますか?
Q3chmod 700 secret.txtを実行したあとの表記はどれですか?