Linuxコマンド逆引き大全
コマンド集(機能別) | コマンド集(アルファベット順) | コマンド逆引き大全 | シェル・スクリプト・リファンレス

 アクセス権限とは
$ ls -lh
$ df -h
$ du -h

 ファイルやディレクトリには,アクセス権限(パーミッション)が設定されている。ファイルやディレクトリのパーミッションは,「ls -l」の出力のうち,最初の10 文字で表されている。


$ ls -l
-rw-rw-r--  1 hoge   hoge   1897 Jul  3 08:14 test.txt
-rwxrwxr-x  1 hoge   hoge   6849 Jul  2 21:22 hoge.bin*
lrwxrwxrwx  1 hoge   hoge     10 Jun 12 04:48 src -> /home/src/
drwxrwxr-x  2 hoge   hoge   1024 Jul 27 16:55 temp/

 最初の1文字はファイル,ディレクトリ,シンボリック・リンクのいずれであるのかを示している(下表)。


記号 意味
- ファイル
d ディレクトリ
l シンボリック・リンク

 2~4文字目,5~7文字目,8~10文字目がそれぞれ3文字ずつセットとなっており,各セットはアクセスのグループを表している(下図)。




 各セットとも,1 文字目は読み出し(r),2 文字目は書き込み(w),3 文字目は実行(x)の意味が割り当てられており,マイナス(-)の場合はその権限が与えられていないことを示す。

 ディレクトリには,所有者のみがディレクトリ内のファイル削除やファイル名変更をできるようにする「スティッキ・ビット」を付けることができる。スティッキ・ビットが指定されているディレクトリは,その他のユーザーの実行権限(x)がスティッキ・ビット(t)になっている。また,ファイルにスティッキ・ビットを付けた場合はユーザーの実行権限(x)がスティッキ・ビット(T)になる。

 セットIDを指定することで,他のユーザーが実行する際,ファイルの所有者またはグループの権限で実行できる。セットIDには所有者権限で実行するセット・ユーザーIDと,グループ権限で実行するセット・グループIDがある。セット・ユーザーIDでは所有者の実行部ビット(x)がセット・ユーザー ID(s)で表され,セット・グループIDではグループの実行部ビット(x)がセット・ユーザーID(s)で表される。


記号 意味
r 読み出し可能。マイナス(-)の場合は読み出し不可
w 書き込み可能。マイナス(-)の場合は書き込み不可
x 実行可能。マイナス(-)の場合は実行不可
t ディレクトリへのスティッキ・ビット。所有者のみがディレクトリ内のファイル名の変更,削除を行える
T ファイルへのスティッキ・ビット。所有者のみがファイル名の変更,削除を行える
s セットID。その他のユーザーがファイルを実行する際,所有者またはグループの権限で実行する

 パーミッションの例を以下の表に示した。


パーミッション 意味
-rw-r--r-- 読み出し可能なファイル。所有者だけが書き込み可能
-rwx------ 実行可能なファイル。所有者以外のアクセスはすべて不可
-rwxrwxrwx すべてのユーザーが,すべての操作を行える
-rwxrwxr-x 所有者とグループ・ユーザーのみ書き込み可能
-rwsrwxr-x ファイルを実行する際,所有者の権限で実行する
-rwxrwsr-x ファイルを実行する際,グループの権限で実行する
-rwTrw-rw- 全てのユーザーがファイルの変更はできるが,削除やファイル名の変更は所有者のみが行えるファイル
drwxr-xr-x ディレクトリ。他のユーザーは書き込み不可
drwx------ プライベートなディレクトリ
drwxrwxrwt すべてのユーザーがディレクトリ内のファイルを作成・変更できるが,削除やファイル名変更は所有者のみが行えるディレクトリ
lrwxrwxrwx シンボリック・リンク。パーミッションはリンク先のものを引き継ぐ

 パーミッションの変更は「chmod」で行う。また,ディレクトリ作成は「mkdir」,シンボリック・リンクの作成は「ln -s」で行える。