tail head cat sleep
QR code linking to this page

Man page  — ACCESS

명칭

access – 파일 또는 패스명의 액세스 허가를 체크한다

내용

프로그램 라이브러리

Standard C Library (libc, -lc)

서식

#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)''의 읽기, 기록, 및 실행의 모드 비트에 따라 체크된 허가를 가집니다. 소유자 이외의 파일의 그룹의 멤버는 ``그룹 (group)''모드 비트에 따라서 체크된 허가를 가져, 다른 모든 것은 ``그 외 (other)''모드 비트에 따라서 체크된 허가를 가집니다.
[EFAULT]
  path (은)는, 프로세스에 할당할 수 있었던 address 공간의 범위외를 가리키고 있습니다.
[EIO] 파일 시스템에 읽고 쓰기하고 있는 동안에 입출력 에러가 발생했습니다.

관련 항목

chmod(2), stat(2)

표준

access() 함수는 IEEE Std 1003.1-90 ("POSIX.1") 에 준거하고 있습니다.

경고

access() (은)는, 보안 홀이 될 가능성이 있어, 결코 사용하지 않게 해 주세요.

역사

access() 함수는 AT&T v7 그리고 등장했습니다.

ACCESS (2) April 1, 1994

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

What is this horrible fascination with Unix? The operating system of the 1960s, still gaining in popularity in the 1990s.
— Donald A. Norman