「ls -l」コマンドの表示からファイルの属性を理解しよう“応用力”をつけるためのLinux再入門(9)(2/4 ページ)

» 2016年05月18日 05時00分 公開
[西村めぐみ@IT]

ファイルのパーミッション(許可属性)とは?

 ファイルのアクセス権などを決定するのが、「パーミッション(許可属性)」になります。

 パーミッションには「読み出しの許可」「書き込みの許可」「実行の許可」の3種類があります。例えば、読み出し許可のないファイルの中身を見ようとした場合は、「Permission denied(許可されていない)」というエラーが表示されます。コマンドも許可が与えられて、初めて実行可能になります(参考記事:連載「“応用力”をつけるためのLinux再入門(第8回)」)。

 パーミッションは、“3文字のアルファベット×3組”で表示されます(画面3)。

画面3 画面3 「ls -l」コマンドでのパーミッションの表示。3文字のアルファベット×3組で表示される

 3文字のアルファベットは、それぞれ「読み出し(r)」「書き込み(w)」「実行許可(x)」を示しています。「-」の場合は、該当する許可がありません。例えば、「rwx」ならば読み出し、書き込み、実行の全てが可能であり、「r--」ならば読み出しはできても、書き込んだり、実行したりすることはできません。

 “3組”が意味するのは「所有者」「グループ」「他人(所有者でも所有グループでもない人)」で、例えばパーミッションが「rwxr-x---」ならば、所有者は読み書き実行が全て許可(rwx)、グループは読み出しと実行が許可(r-x)、それ以外の人は全ての操作が一切不可(---)という意味になります。なお、パーミッションは「chmod」コマンドで変更できます。

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

 ディレクトリの場合、読み出しは「ファイル一覧の表示」、書き込みは「ファイルの追加」、実行は「cd」コマンド(ディレクトリを移動する)でそのディレクトリに入れるかどうかを意味します。

 例えば、各ユーザーのホームディレクトリは「rwx------」にパーミッションが設定されており、所有者以外はlsコマンドでファイルを一覧表示したり、ファイルを追加したり、cdコマンドで中に入ったりすることはできません(画面4)。

画面4 画面4 ホームディレクトリのパーミッション。所有者以外はファイルを追加したり、一覧を表示したりするこができない

パーミッションを表す数値

 パーミッションは“3桁の数字”で表現されることもあります。「読み出し可能(r)=4」「書き込み可能(w)=2」「実行可能(x)=1」で、読み出しと書き込みが可能な場合は「4+2=6」と表現されます。全ての操作が可能な場合は「4+2+1」で「7」、全ての操作が不可の場合は「0」になります。

 この数値が所有者、グループ、他人(所有者でも所有グループでもない人)の順に並び、3桁の数字となっています(表2)。

パーミッション 数値 意味
r 4 読み出し可能(ディレクトリの場合は、ファイル一覧の表示の許可)
w 2 書き込み可能(ディレクトリの場合は、ファイルの追加/削除の許可)
x 1 実行可能(ディレクトリの場合は、cdコマンドでそのディレクトリに入れるかどうか)
- 0 許可がない
表2 パーミッションと数値の対応

※パーミッションの0〜7の数値は、2進数で見た場合に“どのビットが立っているか(1になっているか)”で管理されています。パーミッションの数値の「4」「2」「1」を2進数で表現すると、それぞれ「100」「010」「001」となり、「6(4+2)」ならば「110」、「7(4+2+1)」は「111」となります。



※パーミッションは、0〜7×4桁の数で管理されています。2〜4桁目は「ls -l」コマンドで表示される3セット(所有者、グループ、他人)に対応しています。1桁目は特殊な属性で、「4」には「set-user-ID(SUID)」、「2」には「set-group-ID(SGID)」(それぞれ、実行時に所有者または所有グループの権限を引き継ぐという意味)、「1」にはディレクトリに設定した場合には「削除制限」、ファイルの場合は「スティッキー(sticky属性)」が設定されている、という意味があります。削除制限とは、ファイルの削除やリネームを所有者だけが行えるというもので、sticky属性は、実行可能ファイルにセットしている場合、そのファイルが読み込んだテキストイメージを終了後もメモリに残すという働きがあります。



Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。