sliver__

[Manage Files] - access 함수 본문

CS/UNIX

[Manage Files] - access 함수

sliver__ 2022. 10. 19. 00:32
728x90

[Testing Access to a File]

  • 때로는 실제 사용 전에 파일 시스템 개체의 액세스를 테스트해야 한다.
  • 예를 들어, 응용 프로그램이 실행 파일의 경로 이름을 다른 응용 프로그램에 제공해야 하는 경우 해당 파일에 대한 실행 권한이 있는지 확인해야한다.
  • 프로토타입은 아래와 같다.
#include <unistd.h>

int access(const char *path, int mode);
  • mode 종류는 아래와 같다.
F_OK File exist
R_OK Read access
W_OK Write access
X_OK Excute access
  • 성공하면 0을 return 한다.
  • 실패하면 -1을 return하고 errno에 이유가 적힌다. ( EACCESS 경우 권한 문제 시 발생하는 에러이다 )
  • 예제 코드는 아래와 같다.
if ( access("./my_script",R_OK|X_OK) == -1 )
    /* Report error */
else
    /* ./my_xeq has execute access */
728x90
Comments