개발 · 컴퓨터공학 / / 2021. 9. 15. 13:41

UNIX - File permissions 파일 권한

728x90
반응형

File permissions

UNIX는 multi user system이므로 이 user들을 group지어 구분한다. 이 group을 구분하기 위해서 UNIX에서는 파일에 permission(권한)을 부여한다.

 

permission은 총 9bit로 이루어져 있고, r은 readable, w은 writable, x는 executable을 의미한다. 

readable는 읽을 수 있는 권한, writeable은 쓸 수 있는 권한, executable은 실행해서 프로세스를 만들 수 있는 권한이다.

user는 파일의 owner의 권한이고, group은 user가 속한 group의 다른 유저들의 권한, others는 그 이외의 사람들을 말한다. 

permission의 비트값이 1이면 해당 자리의 문자로, 0이면 -으로 표현한다. 예를들어 permission의 비트가 111011001인 경우 -rwx-wx--x로 표현하는 것이다. (앞에 -추가)

 

권한을 변경할 때는 chmod 명령어를 사용하며, 기호모드와 숫자모드 두 가지의 방법이 있다.

% chmod g+w test
// group에 write권한 부여

% chmod 764 test
// owner에 execute권한 부여
//  7    6    4
// 111 110 100
// rwx  rw-  r--

숫자모드의 경우 각 숫자를 bitwise로 permission 9bit로 변경하여 적용한다. 또한 반드시 8진수로 입력해야한다.

chmod를 통해서 permission을 변경하는 작업은 file의 owner만이 할 수 있다.

 

S_IRUSR
S_IWUSR
S_IXUSR
S_IRWXU
S_IRGRP
S_IWGRP
S_IXGRP
S_IRWXG
S_IROTH
S_IWOTH
S_IXOTH
S_IRWXO
S_ISUID
S_ISGID

참고로 위와 같이 파일 권한에 대한 symbolic names도 존재한다. 

728x90
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유