1. 형식: permission_mode= getmod(name)
2. 기능: 인자 name의 파일 또는 디렉토리에 대한 허가 모드를 얻는다.
3. 설명
(1) 인자 name은 문자열이며 수치이면 문자열로 변환된다.
(2) 인자 name은 파일 또는 디렉토리 이름으로 wild card ("*" 이나 "?")를
대표문자로 인식하지 않고 파일 또는 디렉토리 이름으로 처리한다.
(3) permission_mode의 값이 정수 -1(ERROR)이면 에러가 발생한 것이다.
(4) permission_mode의 값이 정수 -1(ERROR)이 아니면 인자 name의 파일 또는
디렉토리에 대한 허가 모드이다.
(5) 허가 모드에 대하여
- 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. 사용예
mode= getmod("/bin");
if(mode==ERROR) // 또는 if(mode==-1)
{
print("/bin이 없거나 에러가 발생했습니다!\n");
}
else
{
print("/bin의 허가모드는 ",mode,"(8진수: 0c", oct(mode), ")입니다.\n");
}
------------------------------ [ 출력결과 ] ------------------------------
/bin의 허가모드는 493(8진수: 0c755)입니다.
|