Manpages

이 름

chmod, fchmod − 파 일 의 권 한 변 경 .

사 용 법

#include <sys/types.h>
#include <sys/stat.h>

int chmod(const char *path, mode_t mode);
int fchmod(int
fildes, mode_t mode);

설 명

path나 fildes참 조 에 의 해 주 어 진 파 일 의 모 드 를 바 꾼 다 .

모 드 는 아 래 와 같 이 or’ing에 의 해 설 명 할 수 있 다 ;

S_ISUID

04000 실 행 을 위 한 사 용 자 ID설 정 .

S_ISGID

02000 실 행 을 위 한 그 룹 ID설 정 .

S_ISVTX

01000 스 티 키 비 트 .

S_IRUSR (S_IREAD)

04000 읽 기 .

S_IWUSR (S_IWRITE)

02000 쓰 기 .

S_IXUSR (S_IEXEC)

00100 실 행 /찾 기

S_IRGRP

00040 그 룹 에 의 한 읽 기

S_IWGRP

00020 그 룹 에 의 한 쓰 기 .

S_IXGRP

00010 그 룹 에 의 한 실 행 /찾 기 .

S_IROTH

00004 다 른 사 람 이 읽 기 00004 read by others

S_IWOTH

00002 다 른 사 람 이 쓰 기

S_IXOTH

00001 다 른 사 람 이 실 행 /찾 기 .

프 로 세 스 의 유 효 UID는 0이 거 나 파 일 의 소 유 자 와 같 아 야 한 다 .

프 로 세 스 의 유 효 UID가 0이 아 니 고 파 일 의 그 룹 이 프 로 세 스 의 그 룹 유 효 ID나 추 가 그 룹 ID중 하 나 가 다 르 다 면 S_ISGID 비 트 가 꺼 질 것 이 다 . 하 지 만 이 것 은 에 러 를 유 발 하 지 않 는 다 .

NFS파 일 시 스 템 에 서 접 근 제 어 는 서 버 가 하 기 때 문 에 권 한 제 한 은 이 미 열 린 파 일 에 영 향 을 줄 것 이 지 만 , 열 린 파 일 은 클 라 이 언 트 가 다 루 게 된 다 .

반 환 값

성 공 시 , 0을 반 환 한 다 . 실 패 시 , −1을 반 환 하 고 errno가 적 절 히 설 정 된 다 .

에 러

EPERM

유 효 UID가 파 일 의 소 유 자 와 같 지 않 고 0이 아 니 다 .

EROFS

파 일 이 read-only 파 일 시 스 템 상 에 위 치 했 다 .

EFAULT

path 가 접 근 불 가 공 간 에 있 다 .

ENAMETOOLONG

path 가 너 무 길 다 .

ENOENT

파 일 이 없 다 .

ENOMEM

커 널 메 모 리 가 부 족 하 다 .

ENOTDIR

path가 디 렉 토 리 가 아 니 다 .

EACCES

찾 기 권 한 이 없 다 .

ELOOP

링 크 가 너 무 많 다 . path.

EIO

I/O 에 러 .

fchmod의 일 반 적 인 에 러 는 아 래 와 같 다 :

EBADF

파 일 디 스 크 립 터 fildes가 적 절 하 지 않 다 .

EROFS

위 참 고 .

EPERM

위 참 고 .

EIO

위 참 고 .

호 환

chmod 명 령 은 SVr4, SVID, POSIX, X/OPEN, 4.4BSD에 따 른 다 . SVr4, EINTR, ENOLINK, EMULTIHOP는 반 환 하 지 만 ENOMEM은 반 환 하 지 않 는 다 .

fchmod 명 령 은 4.4BSD와 SVr4에 따 른 다 .

관 련 항 목

open(2), chown(2), execve(2), stat(2)

역 자

ASPLINUX<man [AT] asp-linux.kr>, 2000년 7월 29일