Oracle Solaris セキュリティーサービス開発ガイド

スーパーユーザーモデルでの特権の囲い込み

次の例では、スーパーユーザーモデルで特権操作を囲い込みする方法を示します。


例 2–1 スーパーユーザー特権の囲い込み例

/* Program start */
uid = getuid();
seteuid(uid);

/* Privilege bracketing */
seteuid(0);
/* Code requiring superuser capability */
...
/* End of code requiring superuser capability */
seteuid(uid);
...
/* Give up superuser ability permanently */
setreuid(uid,uid);