1. 형식: result= chmod(name, permission_mode)
2. 기능: 인자 name의 파일 또는 디렉토리를 인자 permission_mode로 허가 모드를
변경한다.
3. 설명
(1) 인자 name은 문자열이며 수치이면 문자열로 변환된다.
(2) 인자 name은 파일 또는 디렉토리 이름으로 wild card ("*" 이나 "?")를
대표문자로 인식하지 않고 파일 또는 디렉토리 이름으로 처리한다.
(3) 인자 permission_mode는 정수이며 정수가 아니면 형변환된다.
(4) 인자 permission_mode가 문자열이고 수치로 변환될 수 없을 때는
에러 처리된다.
(5) result의 값이 정수 0 이면 정상적으로 처리한 경우이다.
(6) result의 값이 정수 -1(ERROR)이면 에러가 발생한 것이다.
(7) 허가 모드에 대하여
- UNIX 또는 Linux는 모든 파일을 소유주(Owner), 그룹(Group), 기타(Other)
사용자로 구분하여 서로 다른 접근 허가를 지정할 수 있다. 예를 들어서
chmod("test", 0c750)라 설정한다면 8진수 0c750는 2진수로 111 101 000
이고 이때 각 2진수의 1은 허가, 0은 불허이며 아래와 같은 의미이다.
1 1 1 1 0 1 0 0 0 test
r w x r w x r w x
------- ------- ------- ls명령의 표시형식: rwxr-x---
소유주 그룹 기타 (r: 읽기, w: 쓰기, x: 실행)
test라는 파일의 주인(소유주)은 읽기(r), 쓰기(w), 실행(x)가 모두 가능
하고 소유주가 속한 그룹의 사용자는 읽기,실행만 가능(쓰기 및 삭제 불능)
하며 그 외의 기타 사용자는 읽기,쓰기,실행이 모두 금지된다.
4. 사용예
// 아래의 예제는 주석 처리되어 있습니다.
// rt= chmod("test", 0c700);
// if(rt==ERROR) print("test가 없거나 에러가 발생했습니다!\n");
// else print("test의 허가 모드를 변경했습니다!\n");
------------------------------ [ 출력결과 ] ------------------------------
|