C언어 header/unistd.h
chown(2) - 파일의 owner 및 group 변경
자연&사람
2019. 9. 30. 22:14
반응형
chown(2)
#include <unistd.h>
int chown(const char *path, uid_t owner, gid_t group);
파일 및 디렉토리의 owner 및 소유 group을 변경합니다. path가 만약 symbolic link이면, symbolic link가 걸린 원본의 owner 및 group을 변경합니다.(lchown과의 차이) owner를 변경할 수 있는 권한이 있는 프로세스여야 합니다. (주로 root)
파라미터
path
- owner 및 group을 변경하려는 파일 또는 directory
owner
- 설정하려는 ower ID, -1이면 owner id는 변경하지 않습니다.
group
- 설정하려는 group ID, -1이면 group id는 변경되지 않습니다.
RETURN
0
- 정상적으로 owner 또는 소유 group이 변경하였습니다.
-1
- 오류가 발생하였고, 상세한 오류 내용은 errno 전역변수에 설정되었습니다.
EACCES : filename을 구성하는 directory 중에서 search permission이 없음.
(디렉토리의 권한 중 rwx 중에서 x권한)
EFAULT : path 변수의 데이터 주소 접근할 수 없는 메모리 영역입니다.
EIO : inode정보를 변경도중 I/O 오류가 발생하였습니다.
ELOOP : 디렉토리를 찾는 데, symbolic link가 너무 많이 걸려 있음.
ENAMETOOLONG : path가 너무 긴 문자열입니다.
ENOENT : 없는 파일입니다.
ENOMEM : kernel 메모리가 부족합니다.
ENOTDIR: path를 구성하는 이름중에서 directory가 아닌 것이 있습니다.
EPERM : 변경 권한이 없습니다.
EROFS : path가 read only 파일 시스템에 있습니다.
see also :
반응형