Setuid
バイナリの実行ファイルに setuid 属性を付与したとき、一般ユーザーがそのファイルを実行すると、プロセス生成時にそのファイルの所有者(通常はroot)の特権を得ることができる。root の権限がそのプロセスに与えられると、そのアプリケーションは一般ユーザーが通常ならできないタスクを実行できるようになる。それを起動したユーザーがそのプロセスを何とかして通常でない動きをさせようとしても、それは禁止されている。例えば、ptrace を使ったり、LD_LIBRARY_PATH をいじったり、シグナルを送ったりといったことである(端末からのシグナルだけは受け付けられる)。セキュリティ上の危険性が増すため、多くのオペレーティングシステムではシェルスクリプト形式の実行ファイルへの setuid 属性付与を無視するようになっている。
setuid 機能は非常に便利だが、注意深く設計でされていないプログラムの実行ファイルに setuid 属性を付与すると、セキュリティ上の危険性が生じる。悪意あるユーザーがそのような実行ファイルを利用して特権を得たり、一般ユーザーが気づかないうちにトロイの木馬を実行してしまうといった可能性がある。
setgid 属性はプロセスのグループベースの特権を変更する。
setuid 属性があるのは、UNIXにおいて一般ユーザーが chroot システムコールを実行できないためである。