Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all
名前
euidaccess, eaccess - ファイルへのアクセス権を実効ユーザーでチェックする
書式
#define _GNU_SOURCE /* feature_test_macros(7) 参照 */ #include <unistd.h> int euidaccess(const char *pathname, int mode); int eaccess(const char *pathname, int mode);
説明
access(2) と同様、 euidaccess() は引数 pathname で指定されたファイルの許可 (permission) と存在のチェックを行う。 access(2) はプロセスの実 (real) ユーザーID / 実グループID を用い てチェックを行うのに対し、 euidaccess() は実効 (effective) ID を用いる。 mode は R_OK, W_OK, X_OK, F_OK の一つ以上から構成されるマスクである。 R_OK, W_OK, X_OK, F_OK は access(2) と同じ意味を持つ。 eaccess() は euidaccess() の同義語であり、他のいくつかのシステムとの互換性のために提供さ れている。
返り値
成功した場合 (要求した全てについて許可が得られたら)、ゼロが返される。 エラーの場合 (mode の少なくとも一つのビットで要求した許可がなかった場合や、 他のエラーが起こった場合)、-1 が 返され、 errno が適切に設定される。
エラー
access(2) と同じ。
バージョン
eaccess() 関数は glibc のバージョン 2.4 で追加された。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。 ┌────────────────────────┬───────────────┬─────────┐ │インターフェース │ 属性 │ 値 │ ├────────────────────────┼───────────────┼─────────┤ │euidaccess(), eaccess() │ Thread safety │ MT-Safe │ └────────────────────────┴───────────────┴─────────┘
準拠
これらの関数は非標準である。 他のいくつかのシステムには eaccess() 関数がある。
注意
警告: ある操作を実行する前にこの関数を使ってファイルに対するプロセスのアクセス許可を 確認 してから、その情報に基づいて操作を行うと、競合条件が発生する可能性がある。 これは二つの操 作の間でファイルのアクセス許可が変化する場合があるからである。 一般的には、必要な操作のみ を行い、その際に発生したアクセス許可に関するエラーを 処理する方が安全である。 この関数は常にシンボリックリンクの展開を行う。 シンボリックリンクのアクセス許可を確認する 必要がある場合は、 フラグ AT_EACCESS と AT_SYMLINK_NOFOLLOW を付けて faccessat(2) を使うこ と。
関連項目
access(2), chmod(2), chown(2), faccessat(2), open(2), setgid(2), setuid(2), stat(2), credentials(7), path_resolution(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの 説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。 2017-09-15 EUIDACCESS(3)