数値を使ったchmod
CoddyのTerminalジャーニー「基礎」セクションの一部 — レッスン 55/82。
chmod コマンドはファイルのパーミッションを変更します。数値モードを使用する方法の一つがあり、各パーミッションが数値で表されます。
各権限には値があります:読み取りは4、書き込みは2、実行は1です。これらの値を合計して、各ユーザーカテゴリに対して1桁の数字を作成します。例えば、読み取り + 書き込み + 実行 = 4 + 2 + 1 = 7。
| 数値 | 権限 | 意味 |
|---|---|---|
| 7 | rwx | 読み取り + 書き込み + 実行 |
| 6 | rw- | 読み取り + 書き込み |
| 5 | r-x | 読み取り + 実行 |
| 4 | r-- | 読み取りのみ |
| 0 | --- | 権限なし |
所有者、グループ、その他の権限を設定するために3つの数字を組み合わせます。例えば:
chmod 755 script.shこれにより、所有者に rwx (7)、グループに r-x (5)、その他に r-x (5) が設定されます。644 のような一般的な権限は、所有者に読み書きアクセスを与え、他の全員はファイルの読み取りのみ可能です。
チャレンジ
簡単スクリプトファイル deploy.sh があり、オーナーによって実行可能である必要があり、グループとその他は読み取りのみです。
chmod を数値モードで使用して、deploy.sh のパーミッションを以下に設定します:
- オーナー: 読み取り、書き込み、実行 (
7) - グループ: 読み取りのみ (
4) - その他: 読み取りのみ (
4)
パーミッションを設定した後、ls -l deploy.sh を使用して変更を確認します。
出力には、ファイルのパーミッション文字列 -rwxr--r-- が表示されるはずです。
ヒント: 必要な3桁の数字は
744です。chmod 744 deploy.shに続いてls -l deploy.shを実行して、更新されたパーミッションを表示します。
チートシート
chmod コマンドは、数値モードを使用してファイルの権限を変更します。各権限には数値が割り当てられています:
- 読み取り =
4 - 書き込み =
2 - 実行 =
1
これらの値を加算して、オーナー、グループ、その他の権限を設定します:
| 数値 | 権限 | 意味 |
|---|---|---|
| 7 | rwx | 読み取り + 書き込み + 実行 |
| 6 | rw- | 読み取り + 書き込み |
| 5 | r-x | 読み取り + 実行 |
| 4 | r-- | 読み取りのみ |
| 0 | --- | 権限なし |
オーナー、グループ、その他の権限を設定するために3桁の数字を使用します:
chmod 755 script.shこれにより、オーナーに対して rwx、グループに対して r-x、その他に対して r-x が設定されます。
自分で試してみよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。