パーミッションとは。アクセス権の設定方法を紹介(Unix/Linux向け)

本記事では、パーミッションの意味や設定方法について解説します。

パソコンやサーバーにあるファイルやディレクトリを扱う上で、意識しないといけない点に「パーミッション(Permission)」があります

これはUnix/Linuxにおけるアクセス権のことです。

パーミッションを適切に設定しないと、プログラムが正しく実行されなかったり、最悪、情報漏洩などのセキュリティインシデントを引き起こしたりすることもあります

今回ご紹介する手順をもとに、ファイルのアクセス権を確認し、パーミッションを正しく設定してください。

Unix/LinuxVPSで利用するなら
ミライサーバー
\2週間無料・全プランSSD搭載/
ミライサーバーを無料で試す

パーミッションとは

パーミッションとは何か

パーミッションとは、Unix/Linuxにおいて、パソコンやサーバー内に存在するファイルやディレクトリといったアクセス権のことです。

パーミッションは、ファイルやディレクトリに対して以下の3種類を対象としたアクセス権を表します。

    • ファイルの所有者
    • ファイルの所有者が所属しているグループ
    • 第三者(その他全員)

また、これらの対象に対して、以下の権限を表します。

    • Read(読み取り)
    • Write(書き込み)
    • eXecute(実行)

つまり、パーミッションをみることで「ファイルの所有者に実行権限がある」「第三者には読み取り権限がある」といったことがわかるのです。

パーミッションが正しく設定されていないと、アプリケーションの設定ファイルなど本来第三者が自由に書き込みしてはいけないものまで書き込めたり、実行できたりします

そのような誤動作を防ぐために、またセキュリティインシデントの防止のために、パーミッションは適切に設定しておかなければいけません。

パーミッションの文字表記の意味

以下は、Ubuntu環境上のファイルのリストを示した画像です。

赤枠の部分がパーミッションです。

パーミッションの見方は、以下のとおりです。

アクセス権の見方について説明します。 drwxrwxrwx という例を取り上げます。 d: ファイルの属性 rwx: 所有者のアクセス権 rwx: 所有者と同じグループのアクセス権 rwx: 第三者のアクセス権

先頭の「d」は対象の属性を表すもので、パーミッションとは異なります。

「d」はディレクトリ、「-」はファイルを示します。

  • アクセス権の例

アクセス権の例① rwxr-xr-xの場合 rwx: 所有者に読み取り・書き込み・実行権限がある r-x: 所有者と同じグループに読み取り・実行権限がある r-x: 第三者に読み取り・実行権限がある を意味します。

例えば、パーミッション「rwxr-xr-x」の場合

    • 所有者に「読み取り」「書き込み」「実行権限」がある
    • 所有者と同じグループには「読み取り」「実行権限」がある
    • 第三者には「読み取り」「実行権限」がある

ということを表します。

パーミッション「rw——-(※-が7つ並んでいる状態)」の場合、所有者にしか読み取り、書き込み権限しかないことを意味します。

このように、ファイルやディレクトリによって適切なアクセス権を割り当てることが重要です。

Unix系OS専門のホスティングサービス「ミライサーバー」

パーミッションの設定方法

パーミッションを数字で指定

ここからは、実際にファイルのパーミッションを変更する方法について紹介します。

パーミッションを変更するには「chmod」コマンドを使用します。

コマンドの書式は以下のとおりです。

chmod [オプション] <パーミッション> <ファイル名またはディレクトリ名>

ここで、パーミッションを指定する方法が2種類あります。

1つは、数字で指定する方法です。

この方法が一般的なので、覚えておきましょう。

アクセス権を数値で表し、「所有者」「所有者が所属するグループ」「第三者」の順で3桁の数値で指定します。

アクセス権を表す数字は以下のとおりです。

数字アクセス権意味
0---アクセス権なし
1--x実行権限のみ
2-w-書き込みのみ
3-wx書き込みと実行
4r--読み取りのみ
5r-x読み取りと実行
6rw-読み取りと書き込み
7rwx読み取りと書き込みと実行

例えば、ファイル「test.txt」にパーミッションを設定するケースを考えてみましょう。

所有者に「読み取りと書き込み」、所有者と同じグループおよび第三者に「読み取りのみ」の権限を付与したい場合は、以下のコマンドを実行します。

chmod 644 test.txt

実行すると、実際にパーミッションが変更されていることを確認できます。

Unix系OS専門のホスティングサービス「ミライサーバー」

パーミッションを文字列で指定

もう1つの方法は、対象とパーミッションを文字列で指定する方法です。

指定する文字列は、以下のとおりです。

対象設定値意味
ユーザーuuser(所有者)
ggroup(所有者が所属するグループ)
oother(第三者、その他全員)
aall(全ユーザー)
演算子+アクセス権付与
-アクセス権削除
=指定したアクセス権に変更
アクセス権r読み取り
w書き込み
x実行

例えば、所有者に実行権限を付与したい場合は「u+x」、第三者から書き込み権限を削除したい場合は「o-w」と指定します。

では、先ほどと同様、ファイル「test.txt」にパーミッションを設定するケースを考えてみましょう。

所有者に「読み取りと書き込み」、所有者と同じグループおよび第三者に「読み取りのみ」の権限を付与したい場合は、以下のコマンドを実行します。

chmod u+rw test.txt
chmod go+r test.txt

実行すると、実際にパーミッションが変更されていることを確認できます。

パーミッションの指定は、数字・文字列どちらでもかまいません。

わかりやすい方を使用しましょう。

一般的には、数字で指定するほうが広く認知されています。

Unix系OS専門のホスティングサービス「ミライサーバー」

chmodのオプション

最後に、知っておくと便利なchmodのオプションを紹介します。

    • 「-v」オプション:実行結果の詳細表示

パーミッションの変更は大変重要なので、変更した後必ず確認しておくことが大切です。

通常chmod実行後、エラーがなければ何も出力されませんが、「-v」を指定すると、コマンド実行時の詳細が表示されます

chmod -v 664 test.txt

    • 「-R」オプション:ディレクトリ配下のファイルを一括変更

ディレクトリ内にあるすべてのファイルのパーミッションを一括で変更したい場合は、「-R」を指定します。

chmod -R 777 testdir

まとめ

今回はUbuntuを例に、パーミッションについて説明しました。

パーミッションはファイルやディレクトリのアクセス権のことで、適切に指定することは非常に重要です。

パーミッションが正しく設定されていないと、アプリケーションやシェルスクリプトが正常に動作しなかったり、第三者にファイルの情報を盗まれたりするなど、セキュリティインシデントを引き起こす要因にもなります。

今回ご紹介した手順をもとに、ファイルのアクセス権を確認し、正しく設定するよう心がけてください。

UnixやLinuxのVPSならミライサーバー

ミライサーバーは、アシストアップ株式会社が提供している、Unix系サーバーに特化したホスティングサービスです。

ミライサーバーのVPSでは、高速処理が可能なSSD全プランに搭載しています。

OSは、UbuntuDebianAlmaLinuxなどの豊富なラインアップから選択することができます。

2週間無料トライアルを実施しておりますので、まずはお気軽にお試しください。

▼ミライサーバーについてはこちら▼Unix系OS専門のホスティングサービス「ミライサーバー」

VPSなら「ミライサーバー」

・全プランSSD搭載
・2週間無料

▶ ミライサーバーを無料で試す

関連記事

特集記事

TOP