setuidとかseteuidとかの話。いまお行儀のよいdaemonを書こうとおもって、そこら辺を調べていた過程でUIDの話が出てきた。 実行中のプログラムにはReal UID, Effective UID, Saved UIDの3つがあって、普通は全部一緒になっている。使われるのはEffective UIDで、それ以外はUID操作に関する特殊用途で持っている。 Real UIDとEffective UIDのはなし プログラムによっては(Effective) UIDを変更したいことがある。(Effective) UIDを変更したいシチュエーションは2つある 一時的に(Effective) UIDを変更して、権限を落とす。(後で戻したい) 恒久的に(Effective) UIDを変更して、権限を落とす。(後で戻せないようにしたい) 一時的なほうは別ユーザーとしてファイルを作りたいときに使って