access(2) FreeBSD 一般コマンドマニュアル

access

前のページ 上に戻る 次のページ

access




書式

     #include <unistd.h>

     int
     access(const char *path, int mode);


解説

     access() 関数は、 mode によって示されたアクセス許可について path で指定さ
     れるファイルのアクセス可能性をチェックします。 mode の値は、チェックされ
     るアクセス許可 (読取り許可については R_OK 、書込み許可については W_OK 、
     実行 / 検索許可については X_OK) のビット単位の OR、または存在試験 F_OK で
     す。パス名 path のすべての構成要素がアクセス許可についてチェックされます
     (F_OK も含まれます)。

     実ユーザ ID は実効ユーザ ID の代わりに使用され、実グループアクセスリスト
     (実グループ ID を含む) がパーミッションを検証するために実効 ID の代わりに
     使用されます。

     プロセスに適切な特権があり、 X_OK について成功を示していても、実際には
     ファイルの実行許可ビットが設定されていないことがあります。同じことが、
     R_OK および W_OK にも該当します。


戻り値

     path が見つからない場合、または希望のアクセスモードが認められない場合、値
     -1 が返されます。そうでない場合は、値 0 が返されます。


エラー

     ファイルへのアクセスは次の場合に拒絶されます。

     [ENOTDIR]          パスの構成要素中にディレクトリ以外のものが含まれていま
                        す。

     [ENAMETOOLONG]     パス名の構成要素が 255 文字を越えているか、またはパス
                        名全体が 1023 文字を越えています。

     [ENOENT]           指定されたファイルが存在しません。

     [ELOOP]            パス名を変換するときに検出されたシンボリックリンクが多
                        すぎます。

     [EROFS]            読取り専用ファイルシステム上のファイルについて書込みア
                        クセスが要求されました。

     [ETXTBSY]          現時点で実行中の純粋な手続き (共有テキスト) ファイルに
                        ついて書込みアクセスが要求されています。

     [EACCES]           ファイルモードの許可ビットが要求されたアクセスを許容し
                        ないか、またはパスの構成要素について検索許可が拒絶され
                        ています。ファイルの所有者は ``所有者 (owner)'' の読取
                        り、書込み、および実行のモードビットに従ってチェックさ
                        れた許可を持ちます。所有者以外のファイルのグループのメ


規格

     access() 関数は ISO/IEC 9945-1:1990 (``POSIX.1'') に準拠しています。


警告

     access() は、セキュリティホールになる可能性があり、決して使用しないように
     してください。


歴史

     access() 関数は Version 7 AT&T UNIX で登場しました。

FreeBSD 4.4                      April 1, 1994                     FreeBSD 4.4

ABELNET VPSサービス