lchown(2)

#include <unistd.h>

int lchown(const char *path, uid_t owner, gid_t group);

파일의 owner 및 group을 변경합니다. path가 만약 symbolic link이면, symbolic link 자체의 owner 및 group을 변경합니다.(chown과의 차이) 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 :

    File 속성 정보 및 파일 관리 Library

    Directory 정보 조회 및 관리 Library

    System Call File I/O Library

    Stream File I/O Library

 

블로그 이미지

자연&사람

행복한 개발자 programmer since 1995.

댓글을 달아 주세요