標準
標準/拡張機能 |
C/C++ |
依存項目 |
z/OS®UNIX |
両方 |
|
形式
#include <sys/stat.h>
int fchaudit(int fildes, unsigned int flags, unsigned int option);
機能説明
ファイルの監査フラグを変更します。
fildes パラメーターは、監査フラグが変更されるオープン・ファイルのファイル記述子です。
flags は、次のような監査フラグの変更内容を指定します。
- AUDTREADFAIL
- 読み取り要求の監査失敗。
- AUDTREADSUCC
- 読み取り要求の監査成功。
- AUDTWRITEFAIL
- 書き込み要求の監査失敗。
- AUDTWRITESUCC
- 書き込み要求の監査成功。
- AUDTEXECFAIL
- 実行または検索要求の監査失敗。
- AUDTEXECSUCC
- 実行または検索要求の監査成功。これらのすべてまたはいくつかのビット単位の
包含 OR は、複数のタイプの監査を設定するのに使用できる。
option パラメーターには、ユーザー監査フラグまたはセキュリティー監査
人監査フラグを以下へ変更するかどうかを指定します。
- AUDT_USER (0)
- ユーザー監査フラグが変更される。ユーザーは、ファイル所有者であるか、またはファイルのユーザー監査
フラグを変更するのに適切な権限を持っていなければならない。
- AUDT_AUDITOR (1)
- セキュリティー監査人監査フラグが変更される。ユーザーは、ファイルのセキュリティー監査人監査フラグを変更するセキュリティー監査人権
限を持っていなければならない。
戻り値
fchaudit() は、正常終了時には 0 を戻します。
正常に実行されなかった場合、fchaudit() は -1 を戻して、errno を次のいずれかの
値に設定します。
- エラー・コード
- 説明
- EBADF
- fildes が、有効なオープン・ファイル記述子ではありません。
- EINVAL
- option に 0 または 1 が入っていません。
- EPERM
- 呼び出しプロセスの有効ユーザー ID (UID) がファイルの所有者
に一致しません。また、呼び出しプロセスに適切な特権がありません。
- EROFS
- fildes は、読み取り専用ファイル・システムにあるファイルに関
連付けられています。
例
CELEBF02
⁄* CELEBF02
The following program changes the audit flags of a file.
*⁄
#define _OPEN_SYS
#include <fcntl.h>
#include <sys⁄types.h>
#include <sys⁄stat.h>
#include <unistd.h>
#include <stdio.h>
main() {
int fd;
char fn[]="fchaudit.file";
if ((fd = creat(fn, S_IRUSR|S_IWUSR)) < 0)
perror("creat() error");
else {
if (fchaudit(fd, AUDTREADSUCC, AUDT_USER) != 0)
perror("fchaudit() error");
close(fd);
unlink(fn);
}
}