NAME

euidaccess, eaccess - 파일에 대한 실효 사용자의 권한 확인하기

SYNOPSIS

#define _GNU_SOURCE             /* feature_test_macros(7) 참고 */
#include <unistd.h>

int euidaccess(const char *pathname, int mode);
int eaccess(const char *pathname, int mode);

DESCRIPTION

euidaccess()access(2)처럼 인자 pathname이 나타내는 파일의 권한과 존재 여부를 확인한다. access(2)에서는 프로세스의 실제 사용자 및 그룹 식별자들로 검사를 수행하는 반면 euidaccess()에서는 실효 식별자들을 쓴다.

modeR_OK, W_OK, X_OK, F_OK를 한 개 이상 조합한 마스크이며 access(2)에서와 의미가 같다.

eaccess()euidaccess()와 이름만 다른 함수이며 일부 다른 시스템들과의 호환성을 위한 것이다.

RETURN VALUE

성공 시 (모든 요청 권한이 허용됨) 0을 반환한다. 오류 시 (권한을 묻는 mode의 비트 중 최소 하나가 거부됨, 또는 어떤 다른 오류 발생) -1을 반환하며 오류를 나타내도록 errno를 설정한다.

ERRORS

access(2)에서와 같음.

VERSIONS

glibc 버전 2.4에서 eaccess() 함수가 추가되었다.

ATTRIBUTES

이 절에서 사용하는 용어들에 대한 설명은 attributes(7)를 보라.

인터페이스 속성
euidaccess(), eaccess() 스레드 안전성 MT-Safe

CONFORMING TO

이 함수들은 비표준이다. 일부 다른 시스템에 eaccess() 함수가 있다.

NOTES

경고: 이 함수를 사용해 파일에 대한 프로세스의 권한을 확인한 다음 그 정보에 따라 어떤 동작을 수행하는 방식은 경쟁 조건으로 이어진다. 두 단계 사이에서 파일 권한이 바뀔 수도 있기 때문이다. 그냥 원하는 동작을 시도하고서 권한 오류가 발생하면 대처하는 방식이 일반적으로 더 안전하다.

이 함수는 항상 심볼릭 링크를 따라간다. 심볼릭 링크에 대해 권한을 검사해야 하면 AT_EACCESSAT_SYMLINK_NOFOLLOW 플래그를 써서 faccessat(2)을 이용하면 된다.

SEE ALSO

access(2), chmod(2), chown(2), faccessat(2), open(2), setgid(2), setuid(2), stat(2), credentials(7), path_resolution(7)


2021-03-22