【Linux】アクセス権(パーミッション)の概要

この記事では、Linuxの「ファイルアクセス権(パーミッション)」の概要を説明します。「パーミッション」とは、Linuxのファイルやディレクトリを誰がどう使えるのかを決めるルールのことです。

Linuxは、マルチタスクとマルチユーザーシステムのため、複数のユーザがLinuxを使用することができます。通常のコンピュータ(Linux)にはキーボードとモニターが1つしかないかもしれませんが、たとえば、ネットワークに接続されている場合は、複数のユーザーがssh(セキュアシェル)を使用してログインし、Linuxを操作できます。
システム全体への影響や、複数ユーザー間でのファイル干渉を避けるため、同じオペレーティングシステムを使う全ユーザーに同じパーミッションを持たせるべきではありません。
パーミッションの変更については、下記の記事を参考にしてください。
【Linux】パーミッション変更(chmod)動作確認
セキュリティの観点で、ファイルやフォルダの「権限(パーミッション)」はとても重要です。これによって、どのユーザーがファイルを読む、書く、または実行することができるかを決定できます。 Linuxにおけるパーミッションの概要は、下記の記事を参考...

スポンサーリンク

パーミッション前提知識

現在は、ユーザ「hirotano」でログインしています。ここで、ユーザのパスワード情報が含まれている「/etc/shadow」を参照しようとすると、「Permission denied」としてエラーとなります。
hirotano@ubuntu-1:~$ cat /etc/shadow
cat: /etc/shadow: Permission denied

 

これは、ユーザ「hirotano」には、このファイルを参照する権限がないことを意味します。

所有者

もうひとつ、所有という概念があります。ユーザは、ファイルやディレクトリを所有することができます。所有者(もしくはスーパーユーザ)のみがファイルまたはディレクトリのアクセス権限を変更できます。
 

 
ユーザーは、複数のユーザーからなるグループに参加できます。所有者は、ファイルやディレクトリに対して、グループへのアクセスを許可するだけでなく、”その他” と呼ばれる、すべてのユーザーに対するアクセス権も許可することができます。
アクセス権限の種別は、「読み取り権限」、「書き込み権限」、「実行権限」を定義できます。
 

パーミッションの確認

ファイルやディレクトリにどのようなパーミッションが付与されているか確認してみます。

まず、ユーザ「hirotano」で、新規にファイルを作成し、「ls -l」を実行します。–l(ロング)スイッチを付けてディレクトリの内容をロングフォーマットで表示します。

 

hirotano@ubuntu-1:~$ touch testfile01
hirotano@ubuntu-1:~$ ls -l
total 0
-rw-rw-r-- 1 hirotano hirotano 0 Sep 16 08:17 testfile01

通常、ファイルが作成されると、そのファイルを作成したユーザーがファイルの所有者であり、グループはユーザーの現在のグループです。

主な領域①~⑤の意味は、下記のとおりで、「testfile01は、所有者およびグループはともにhirotanoで、所有者とグループのメンバーは読み書きの権限があり、その他のユーザーは読み取りのみの権限がある」ことを意味します。

:ファイル種別(「」は、通常のファイルで、「d」はディレクトリを表します。)
:所有者、グループ、その他のユーザーのアクセス権限
:最初の hirotano はファイルの所有者(オーナー)の名前を示しています。
:次の hirotano はファイルのグループ名を示しています。
:ファイルの名前を示しています。

スポンサーリンク

パーミッション(読み取り、書き込み、実行)の詳細

この出力の「-rw-rw-r–」が、ファイルの属性です。

これには、ファイルの種別、および、ファイルの所有者、ファイルのグループ所有者、および他の全ての人に対する読み取り(r)、書き込み(w)、実行(x)の許可を表すものです。

 

種別は、前の章で説明したとおり、「通常のファイル」や「ディレクトリ」などを表します。 

読み取り(r)、書き込み(w)、実行(x)は、ファイル種別が通常ファイルとディレクトリで少し意味が異なります。

読み取り(r)
 ファイル:ファイルを開いて読むことを許可します。
 ディレクトリ:実行(x)も設定されている場合、ディレクトリの内容をリストアップすることを許可します。

書き込み(w)
 ファイル:ファイルに書きこみを許可します。ただし、この属性ではファイルの名前を変更したり削除したりすることはできません。ファイルの削除や名前の変更の権限はディレクトリの属性によって決まります。
 ディレクトリ:実行属性も設定されている場合、ディレクトリ内のファイルを作成、削除、名前を変更することを許可します。

実行(x)
 ファイル:ファイルをプログラムとして扱い、実行することを許可します。
 ディレクトリ:例えば、cd コマンドなど、ディレクトリに入ることを許可します。

スポンサーリンク

パーミッションの設定例

ここでは、ファイルやディレクトリによく使用されるパーミッションの設定例を確認します。

-rwx——

ファイルの所有者によって読み取り、書き込み、実行が可能な通常のファイルです。他の誰もがアクセスできません。

-rw-r–r–

ファイルの所有者によって読み取りと書き込みが可能な通常のファイルです。グループのメンバー含め、誰にでもファイルを読むことができます。

-rwxr-xr-x

ファイルの所有者によって読み取り、書き込み、実行が可能です。他の全ての人もファイルを読み取りと実行することができます。

drwxr-x—

種別はディレクトリです。所有者はディレクトリに入り、ファイルを作成、名前を変更、削除できます。グループのメンバーはディレクトリに入ることができますが、ファイルの作成、削除、名前の変更はできません。

コメント