Red Hat Training

A Red Hat training course is available for RHEL 8

第26章 ファイル権限の管理

ファイルのパーミッションは、ユーザーおよびグループのアカウントで、ファイルとディレクトリーのコンテンツを表示、変更、アクセス、および実行する機能を制御します。

すべてのファイルまたはディレクトリーには、以下のレベルの所有権があります。

  • ユーザー所有者 (u)。
  • グループの所有者 (g)。
  • その他 (o)。

各所有権レベルには、以下のパーミッションを割り当てることができます。

  • 読み取り (r)。
  • 書き込み (w)。
  • 実行 (x)。

ファイルの execute 権限があると、そのファイルを実行するできることに注意してください。ディレクトリーの実行権限では、ディレクトリーのコンテンツにアクセスできますが、実行はできません。

新規ファイルまたはディレクトリーが作成されると、デフォルトのパーミッションセットが自動的に割り当てられます。ファイルまたはディレクトリーのデフォルトパーミッションは、以下の 2 つの要素に基づいています。

  • 基本パーミッション。
  • ユーザーのファイル作成モードマスク (umask)

26.1. ベースファイルのパーミッション

新規ファイルまたはディレクトリーが作成されるたびに、基本パーミッションが自動的に割り当てられます。ファイルまたはディレクトリーの基本パーミッションは、シンボリック または 8 進数 の値で表すことができます。

パーミッション

シンボリック値

8 進数値

パーミッションなし

---

0

実行

--x

1

書き込み

-w-

2

書き込みおよび実行

-wx

3

読み取り

r--

4

読み取りおよび実行

r-x

5

読み取りおよび書き込み

rw-

6

読み取り、書き込み、実行

rwx

7

ディレクトリーの基本パーミッションは 777 (drwxrwxrwx) で、すべてのユーザーに読み取り、書き込み、実行権限を付与します。つまり,ディレクトリーの所有者、グループ、その他のユーザーはディレクトリーのコンテンツ表示、そのディレクトリーでの項目の作成、削除、編集、サブディレクトリーへの移動が可能です。

ディレクトリー内の個別ファイルには、ディレクトリーに無制限にアクセスできるにも拘らず、編集ができない独自のパーミッションが割り当てられている可能性があります。

ファイルの基本パーミッションは 666 (-rw-rw-rw-) で、すべてのユーザーに読み取りおよび書き込み権限を付与します。ファイルの所有者、グループ、その他のユーザーは、ファイルの読み取りと編集が可能です。

例26.1 ファイルのパーミッション

ファイルに以下のパーミッションがある場合:

$ ls -l
-rwxrw----. 1 sysadmins sysadmins 2 Mar 2 08:43 file
  • - ファイルであることを示します。
  • rwx は、ファイルの所有者にファイルの読み取り、書き込み、実行のパーミッションがあることを示します。
  • rw- は、グループに読み取りと書き込みのパーミッションがあるが、ファイルの実行はできません。
  • --- は、他のユーザーにファイルの読み取り、書き込み、実行のパーミッションがないことを示します。
  • . は、SELinux セキュリティーコンテキストがファイルに設定されていることを示しています。

例26.2 ディレクトリーのパーミッション

ディレクトリーに以下のパーミッションがある場合:

$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
  • d は、ディレクトリーであることを示します。
  • rwx は、ディレクトリーの所有者にディレクトリーの内容を読み取り、書き込み、およびアクセスするパーミッションがあることを示します。

    ディレクトリーの所有者は、ディレクトリー内のアイテム (ファイル、サブディレクトリー) を表示して、アイテムのコンテンツへのアクセスや変更が可能です。

  • r-- は、グループに読み取りのパーミッションがあるが、ディレクトリーのコンテンツへの書き込みやアクセスはできないことを示します。

    ディレクトリーを所有するグループのメンバーは、ディレクトリー内の項目を表示できます。ディレクトリー内のアイテムに関する情報にアクセスしたり、変更したりすることはできません。

  • --- は、他のユーザーがディレクトリーの内容の読み取り、書き込み、またはアクセスパーミッションがないことを示します。

    ディレクトリーのユーザー所有者またはグループ所有者ではない場合に、そのディレクトリーのアイテムを表示したり、アイテムの情報にアクセスしたり、変更したりできません。

  • . は、SELinux セキュリティーコンテキストがディレクトリーに設定されていることを示しています。
注記

ファイルまたはディレクトリーに自動的に割り当てられる基本パーミッションは、最終的にファイルまたはディレクトリーに指定されるデフォルトのパーミッション ではありません。ファイルまたはディレクトリーを作成すると、umask により基本パーミッションが変更されます。基本パーミッションと umask の組み合わせにより、ファイルおよびディレクトリーのデフォルトパーミッションが作成されます。