プロセスはいくつかのIDを持っている。
あまり深く考えず、実UIDと実行UIDについて考える。
実UID(UID)
- 呼び出し元のプロセス(親プロセス)の実ユーザーID。
- 普通にログインして、何かプロセスをシェルから走らせる場合、ログインシェルのUIDがログインユーザーIDなので、ログインユーザーIDになる。
実効UID
- 呼び出し元のプロセス(親プロセス)の実効ユーザーID。
- ファイルアクセスに影響。
- 普通にログインして、何かプロセスをシェルから走らせる場合、ログインシェルのUIDがログインユーザーIDなので、ログインユーザーIDになる。
- ただし、SUID ビットがあるときは、それに従う。
SUID, SGID, スティッキービット
SUID, SGID
| それぞれ setuid, setgidのこと。
| まず、 SUID(SGID) ビットが立っているファイルについて見る。