揮発性のメモ2

http://d.hatena.ne.jp/iww/

drwxrwxrwx

ファイルパーミッション - Wikipedia
“ÁŽê‚ȃAƒNƒZƒXŒ ‚ɂ‚¢‚Ä

種類 ユーザー(u) グループ(g) その他(o)
d rwx rwx rwx

読み書き実行のほかにもうひとつ属性がある

  • r 読める
  • w 書ける
  • x 実行できる
  • s setuid,setgid,sticky

setuid

x 実行属性なし 実行属性あり
setuidなし - x
setuidあり S s

実行ファイルにsetuidされていると、そのユーザーで実行したことになる
ディレクトリにsetuidされていると、そのユーザーがファイルを作ったことになる

setgid

ユーザーでなくグループである以外はsetuidと同じ。

sticky

x 実行属性なし 実行属性あり
stickyなし - x
stickyあり T t

実行ファイルにstickyビットがついてても、Linuxでは無視する*1
ディレクトリにstickyビットがついてると、そこに作成されたファイルは ディレクトリの所有者かファイルの所有者以外には削除できなくなる。

chmod

chmod g+xs hoge
chmod o+t hoge
chmod -s hoge

setgidやsetuidは s 、stickyビットは t で指定する。(chmod -sとしてもstickyビットは剥がれない)
chmodコマンドでパーミッションを8進数で指定するとき、setgidやsetuidは立てることはできるが下ろすことはできない。

--------- 最初の状態
chmod 2000 hoge -----S--- setgidビットが立つ
chmod 1000 hoge -----S--T stickyビットが立つ。setgidビットが下りない
chmod 0000 hoge -----S--- setgidビットが下りない

d