fchaudit() - 記述子によるファイル用の監査フラグの変更

標準

標準/拡張機能 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);
  }
}

関連情報