Trusted Solaris 開発ガイド

保存特権のチェック

アプリケーションは、保存特権セットをチェックして特権の発生元を確認し、その結果に基づいて、作業を実行できます。この例は、保存セットを取得し、PRIV_PROC_SETIDPRIV_FILE_SETPRIV をチェックします。その結果、file_setpriv 特権は継承されず、proc_setid 特権が継承されていることを確認します。

PRIV_EMPTY(&saved_privs);

 if (getppriv(PRIV_SAVED, &saved_privs) == -1)
 	perror("Cannot get list of saved privileges¥n");
 if (!PRIV_ISASSERT(&saved_privs, PRIV_PROC_SETID))
 	fprintf(stderr, "proc_setid not in saved set. ¥n");

 if (!PRIV_ISASSERT(&saved_privs, PRIV_FILE_SETPRIV))
 	fprintf(stderr, "file_setpriv not in saved set.¥n");