メインコンテンツにスキップ
モジュール 4 · レッスン 1 / 2コース内の 8/11~12 min
モジュールのレッスン (1/2)

権限の管理 (chmod)

Linux では、ファイルとディレクトリへのアクセスは許可システムによって規制されます。各ファイル/ディレクトリは、所有者 ユーザーとユーザーの グループ に属します。

アクセス許可は、受信者の 3 つのカテゴリに分類されます。

  1. ユーザー (u): ファイルの所有者。
  2. グループ (g): ファイルに関連付けられたグループのメンバー。
  3. その他 (o): システム上の他の全員。

カテゴリごとに、許可または拒否される 3 種類のアクションがあります。

  • 読み取り (r): ファイルの内容を表示するか、ディレクトリの内容を一覧表示します。
  • 書き込み(w): ファイルを編集したり、ディレクトリ内のファイルを作成/削除します。
  • 実行 (x): ファイル (スクリプトなど) を実行するか、ディレクトリを入力します。

ls -l: -rwxr-xr-x で示される一般的な表記。 最初の文字はタイプを示し (例: ファイルの場合は -、ディレクトリの場合は d)、その後に user、group、および others の 3 つのトリプレットが続きます。


権限の変更: chmod

chmod (モード変更) コマンドを使用すると、ファイルのアクセス許可を変更できます。それらを指定するには主に 2 つの方法があります。

1. シンボリックモード

文字と演算子 (+、-、=) を使用して、権限を追加、削除、または設定します。

Bash
chmod u+x script.sh    # Adds execute permission (x) to the owner (u)
chmod g-w file.txt     # Removes write permission (w) from the group (g)
chmod a+r file.txt     # Makes the file readable by everyone (all: u, g, o)

2. 8 進数モード (数値)

0 から 7 までの 3 つの 8 進数を使用します。各桁はカテゴリの権限の合計を表します (r=4、w=2、x=1)。

  • 7 = rwx (4 + 2 + 1)
  • 6 = rw- (4 + 2)
  • 5 = r-x (4 + 1)
  • 4 = r-- (4)
  • 0 = --- (権限なし)
Bash
chmod 755 script.sh    # Owner: rwx (7), Group: r-x (5), Others: r-x (5)
chmod 600 private.key  # Owner: rw- (6), Group: --- (0), Others: --- (0)

自分で試してみてください

演習 1: 標準権限を設定する

運動#linux.m4.l1.e1
試行回数: 0読み込み中…

「script.sh」にアクセス許可を設定して、所有者は読み取り、書き込み、実行 (rwx) ができる一方、グループとその他のユーザーは読み取りと実行 (r-x) のみができるようにします。 8 進数モードを使用します。

エディターを読み込み中…
ヒントを表示

rwx の 8 進コードは 7 (4+2+1)、r-x の 8 進コードは 5 (4+1) です。したがって、chmod 755 を使用します。

3 回の試行後に解決策が利用可能になります

演習 2: 秘密キーを保護する

運動#linux.m4.l1.e2
試行回数: 0読み込み中…

ファイル「private.key」の権限を変更して、所有者のみが読み取りおよび書き込み可能 (rw-) にできるようにし、グループおよびその他のアクセス権をすべて削除します (---)。

エディターを読み込み中…
ヒントを表示

8 進数コード 600 で chmod を使用します (所有者は 4+2、グループ 0、その他は 0)。

3 回の試行後に解決策が利用可能になります

演習 3: ファイルを全員が実行できるようにする

運動#linux.m4.l1.e3
試行回数: 0読み込み中…

シンボリック モード (a+x) を使用して、ファイル「runner.sh」をすべてのユーザー カテゴリに対して実行可能にします。

エディターを読み込み中…
ヒントを表示

chmod a+x の後にファイル名を続ける構文を使用します。

3 回の試行後に解決策が利用可能になります