メモ > サーバ > 各論: エトセトラ > アクセス権メモ
アクセス権メモ
■パーミッションとグループ
パーミッションとは、ファイルの「読み込み」「書き込み」「実行」の権限のこと。
パーミッションは
・オーナーの「読み込み」「書き込み」「実行」権限。
・グループの「読み込み」「書き込み」「実行」権限。
・その他の「読み込み」「書き込み」「実行」権限。
と、計9つの属性を設定する。
オーナー・グループ・その他の意味は以下のようになる。
オーナー ... ファイルの所有者。
グループ ... ファイルの所有者が属するグループ。
他人 ... ファイルの所有者以外の人。(Webブラウザでアクセスしてくる人も含む。)
パーミッションは「-rwsr-xr-x」のように表示される。
(最初の「-」はファイルを表す。ディレクトリの場合は「d」となる。)
アルファベットの意味は
・「r」が表示されていれば読み込み可能。
・「w」が表示されていれば書き込み可能。
・「x」が表示されていれば実行可能。
・「-」が表示されていれば権限無し。
となっており、左からオーナー・グループ・その他 となっている。
例えば
-rw-r--r-- … オーナーに読み込みと書き込みの権限が与えられており、グループとその他の人に読み込みの権限が与えられている。
-rwx---r-x … オーナーに読み込みと書き込みと実行の権限が与えられており、その他の人に読み込みと実行権限が与えられている。
-rwxrwxrwx … すべての人にすべての権限が与えられている。
となる。
パーミッションを数値で表す場合、このアルファベットの並びを3桁ずつの2進数に見立て、それを10進数に直す。
以下は実際の例。
-rw-r--r-- … 110 100 100 と見立てる。110を10進数で表すと6、100は4なので「644」となる。
-rwx---r-x … 111 000 101 と見立てる。111を10進数で表すと7、000は0、101は5なので「705」となる。
-rwxrwxrwx … 111 111 111 と見立てる。111を10進数で表すと7なので「777」となる。
■SUID(Set User ID)
# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 2月 22 20:48 2012 /usr/bin/passwd
↑sになっている。どのユーザがプログラムを実行した場合でも、ファイルの所有者の権限で実行される。
これにより、root権限の無い一般ユーザが /etc/shadow を編集できる。
SUIDとは
http://www.itmedia.co.jp/enterprise/articles/0804/08/news014.html
Linux: SUID、SGID、スティッキービットまとめ - Qiita
https://qiita.com/aosho235/items/16434a490f9a05ddb0dc
■SGID(Set Group ID)
どのユーザがプログラムを実行した場合でも、グループの所有者の権限で実行される。
■SUIDとSGIDの確認
# find / -perm -4000 -o -perm -2000
ざっくり概要!Linuxセキュリティに関する基礎知識まとめ
https://eng-entrance.com/linux-security-basic
■スティッキービット
# ls -ld /tmp
drwxrwxrwt. 5 root root 4096 5月 7 17:53 2016 /tmp
↑tになっている。実際のパーミッションに関係なく、ファイルもしくはディレクトリの所有者と、rootユーザーのみが名前の変更と削除を行える。
すべてのユーザーがファイルやディレクトリを作成できるようにしたいが、作成したファイルやディレクトリを他人が消せないようにしたい。
という場合に使用される。