설명

파일의 접근권한을 변경합니다. chmod()가 파일 이름으로 변경했다면 fchmod()는 파일 디스크립터를 이용하여 변경하며, 일기 전용으로 열기를 해도 변경이 가능합니다.

헤더 sys/stat.h
형태 int fchmod (int fd, mode_t mode)
인수 int fd 변경하려는 파일 디스크립터
mode_t mode 접근 권한
반환 int 성공:0 실패:-1
예제
#include <stdio.h>
#include <fcntl.h>
#include <sys/stat.h>

int main()
{
   int      fd;

   fd = open( "a.out", O_RDONLY);
   if ( -1 == fchmod( fd, 0111))
      printf( "접근권한 변경 실패n");
   close( fd);
}
]$ ./a.out
]$ ls -al
합계 20
drwxr-xr-x 2 jwjw jwjw 4096  9월 25 10:33 .
drwxr-xr-x 7 jwjw jwjw 4096  9월 25 06:20 ..
---x--x--x 1 jwjw jwjw 4806  9월 25 10:30 a.out
-rw-r--r-- 1 jwjw jwjw  141  9월 25 10:30 test.c

   a.out의 접근 권한이 바뀌었습니다.