Linux上のすべてのファイルとディレクトリには所有者、所属するグループおよびパーミッションという情報が付与されています。
パーミッションとは、あるユーザーがそのファイルまたはディレクトリにアクセスしたときにどのような操作が許可されているかを指定したものです。
ファイルやディレクトリを作成すると、作成したユーザーがその所有者として設定されます。
同時に所有者のプライマリグループがファイルやディレクトリのグループになります。
例えば、ftpgroupというグループに属するユーザーftpuserがファイルを作成すると、
そのファイルの所有者はftpuserに所属グループはftpgroupになります。
ファイルやディレクトリの所有者、所属するグループおよびパーミッションを確認したときはlsコマンドの-lオプションを付与して実行すれば、確認できます。
パーミッション(アクセス権)
ファイルやディレクトリには、パーミッションが設定されています。
パーミッションとはアクセス権とも言われ、どのユーザーに対してどのような操作を許可するのかという情報を指します。
パーミッションは、
- 所有者
- 所有グループに属するユーザー
- その他のユーザー
の3種類に対して設定できます。
また、パーミッションには、
- 読み取り可能
- 書き込み可能
- 実行可能
の3種類があります。
ファイルのパーミッション
例えば、「testfile」というファイルを「ls -l」コマンドで確認したとき、実行結果の左側にある「-rwwrw-r–」の部分がそのファイルに付与されたパーミッションを示しています。
「rwx」の文字が出力されている場合は許可されている、「-」の場合は許可されていないことを表しています。また、「rwx」の並びが3組ありますが、左からそれぞれ、ファイル所有者のアクセス権、所属グループのアクセス権、その他のユーザーのアクセス権を示しています。
$ ls -l -rwxrw-r--. 1 ftpuser ftpgroup 0 Feb 21 01:57 testfile
上記から「testfile」ファイルに付与されているパーミッションを以下のように読み取ることができます。
ユーザーがftpuser(所有者)の場合
読み込み(r)、書き込み(w)、実行(x)が可能
ユーザーがftpgroupに属する場合
読み込み(r)、書き込み(w)が可能
ユーザーが上記以外の場合
読み込み(r)ば可能
ディレクトリのパーミッション
ディレクトリの場合は「rwx」の前にディレクトリであることを示す「d」という文字がつきます。
$ ls -l drwxr-xr-x. 2 ftpuser ftpgroup 4096 Feb 21 22:08 testdir
上記から「testdir」ディレクトリに付与されているパーミッションを以下のように読み取ることができます。
ユーザーがftpuser(所有者)の場合
内部の参照(r)、操作(w)、内部のファイルとディレクトリにアクセス(x)が可能
ユーザーがftpgroupに属する場合
内部の参照(r)、内部のファイルとディレクトリにアクセス(x)が可能
ユーザーが上記以外の場合
内部の参照(r)、内部のファイルとディレクトリにアクセス(x)が可能
まとめ
上述のようにファイルとディレクトリでパーミッションが示す意味が異なります。まとめると以下のようになります。
表記 | ファイル | ディレクトリ |
---|---|---|
r | そのファイルの内容を読み出すことが可能。変更は不可。 | そのディレクトリ内のファイル一覧を表示することが可能。 |
w | そのファイルの内容を変更したり、削除したりすることが可能。 | そのディレクトリでファイルを作成したり、削除したりすることが可能。 |
x | そのファイルを実行することが可能。 | そのディレクトリ内のファイルにアクセスすることが可能。 |