Home > Archive > 2007年 > 4 月 > Permission復習

Permission復習

  • 2007-04-13 (金) 17:57

理解が甘いので、復習しておくことにしました。 

・パーミッションの基本 rwxrwxrwx

まずは基本。user、group、other それぞれの Read,Write,execution 権について。 これは多くのサイトで解説されているので説明は省きます。UNIXの部屋 検索:chmod の説明が分かりやすいです。 

・umask

新規ファイル・ディレクトリを作成した際のパーミッションを決めるため値です。ディレクトリは777から、ファイルは666からumaskの値を引いたものが、新規ファイル・ディレクトリを作成した際のパーミッションとなります。umaskが022の場合、新規作成したディレクトリのパーミッションは777-022 =755、ファイルのパーミッションは 666-022 - 644 となります。

・現在のumaskの表示

%umask

22

・umaskの設定

%umask `設定したい値`

参考: UNIXの部屋 検索:umask

・setuid、setgid、sticky bit

この辺りから少しややこしくなります。404 Blog Not Found:unix - permissionあれこれ の説明が分かりやすくて参考になります。ではそれぞれの意味を確認していきます。

・setuid(SUID、4000)

SUID がセットされると、user 実行権限の表示が x から s に変わります。そして実行された際に、実行したuserではなく、ファイルの所有userの権限で実行されるようになります。(EUID がファイルの所有ユーザの EUID となります。) /usr/bin/passwd が代表的な例です。/usr/bin/passwd はパスワードの変更を行うコマンドですが、パスワード情報が誰からでも読み書き可能な状態ではまずいですね。 /usr/bin/passwdのパーミッションは、以下のようになっています。

% ls -l /usr/bin/passwd
-r-s–x–x 1 root root

所有 user、所有 group 共に root ですが、SUID がセットされ、所有者のパーミッションが、(r- s) となっています。またothersにも実行権限(–x)が付加されています。これにより、others で実行した場合にも、実際には root 権限で実行されるため、スーパーユーザしか読み書きする権限を持たないパスワードファイルの書き換えが出来るわけです。 UNIXシステム管理 第3版 VOLUME 1 にも書かれていますが、setuidは使い方を誤るとかなり危険です。特にrootに用いるのは、、言うまでもないですね。

 

・setgid(SGID、2000)

SGIDがセットされると、group 実行権限の表示が x から s に変わります。そして実行された際に、実行した user のデフォル group ではなく、ファイルの所有groupの権限で実行されます。(EGIDが、ファイルの所有グループのEGIDになります。) またファイルを作成した際に、作成したファイルの group が、ディレクトリと同じ group になります。

ウノウラボ Unoh Labs: ウェブ開発の共同作業でパーミッションを有効活用する では、グループで開発を行う際に、SGIDを活用する方法が紹介されてます。手順はこんな感じ。

  1. 共通グループを作成し、権限を与えたいメンバを追加
  2. 各ユーザの umask を 0002 に設定
  3. 共通作業ディレクトリの所有グループを共通グループにし、SGID をセット(rwxrwsr-x)

 

・Sticky Bit

Sticky Bitがディレクトリにセットされると、others実行権限の表示が x から t に変わります。そして、ファイルとディレクトリの所有者のみが、ファイルの削除と名前変更ができるようになります。全ユーザがアクセス権をもつような /tmp ディレクトリで使われています。

 

※SUID、SGID、Sticky Bit は、実行ビットが立っていなければ無意味な点に注意です。その場合、rwSrwSrwT のように、表示が大文字になって教えてくれます。

 

自宅サーバ構築 TOP へ戻る

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://juyama.net/2007/04/13/20/trackback
Listed below are links to weblogs that reference
Permission復習 from juyama.net

トップ > 2007年 > 4 月 > Permission復習

Search
Feed
Others

track feed
ブログSEO対策:track word

Return to page top