Unix 기반의 운영체제는 File System 에 Access Permission 을 관리할 수 있는 장치를 갖고 있다.
이는 특정 사용자 또는 그룹에게 어떤 종류의 권한을 허용하는 가에 대한 정보를 저장하게 된다.
파일 접근 권한에 대한 분류는 다음과 같이 나눌 수 있다.
(1) 접근 대상에 대한 분류
- User
- Group
- Others(public)
(2) 접근 권한에 대한 분류
- Read
- Write
- Execute
Unix 기반의 운영체제에서 File System 내의 모든 요소는 File 로 관리되기 때문에 각 파일이 위의 대상들 각각에 대한 권한을 모두 갖고 있다.
즉, 하나의 파일은 User / Group / Others 에 대한 Read / Write / Execute 권한을 전부 관리하게 된다.
먼저 각 접근 권한에 대해 알아보자.
Unix 시스템은 접근 권한을 bit 단위로 관리하며, 각 접근 권한은 다음 비트들에 매핑된다.
Read(4), Write(2), Execute(1)
이게 무슨 의미냐면, Unix 시스템은 위와 같은 이진 주소에 Access / Deny 정보를 관리한다는 뜻이다.
즉, Read 는 4의 위치(2^2) 에서 1/0 으로 구분이 되며, Write 는 2의 위치(2^1), Execute 는 1의 위치(2^0) 에서 1/0 으로 권한 비트를 구별한다.
정리하자면 권한에 대한 비트는 다음과 같이 각각에 대한 Flag 값의 조합으로 이루어진다.
101 => Read(4 * 1) + Write(2 * 0) + Execute(1 * 1) => 5
111 => Read(4 * 1) + Write(2 * 1) + Execute(1 * 1) => 7
위와 같은 플래그 값으로 File System 의 권한을 나타낼 수 있으며, Unix File System 은 각 접근 대상 들에 대해 이를 똑같이 적용한다.
소유자(User) / 그룹(Group) / 공개(Public)
rwx(7) rwx(7) rwx(7)
가령 위와 같이 정리되어 있을 경우 이 파일은 Permission Code 777 을 가졌다고 하며, 모든 소유자, 그룹, 공개된 사용자들에 대해 읽기(Read), 쓰기(Write), 실행(Execute) 권한을 모두 부여함을 뜻한다.
Permission 에 대한 권한은 chmod 명령어를 이용해서 변경할 수 있고, 다음과 같이 사용 가능하다.
chmod 755 /sample : /sample 폴더에 사용자(R, W, X), 그룹(R, X), 공개된 사용자(R, X) 권한을 부여한다.
chmod 사용에는 다음과 같은 옵션을 부여해서 같이 사용할 수 있다.
-c : 실제로 파일의 권한이 바뀐 파일만 자세히 기술한다.
-f : 파일의 권한이 바뀔 수 없어도 에러 메시지를 출력하지 않는다.
-v : 변경된 권한에 대해서 자세히 기술한다.
-R : 디렉토리와 파일들의 권한을 재귀적으로 모두 바꾼다.
chmod 외에도 chown(파일의 소유자 및 소유 그룹변경) 명령어나 chgrp(파일의 사용자 그룹 변경) 명령어도 잘 사용되므로 알아두도록 하자.
'Computer Base > Linux & OS' 카테고리의 다른 글
Hard Link & Symbolic Link 개념 정리 (0) | 2020.08.11 |
---|---|
PCB(Process Control Block) 개념 정리 (0) | 2018.10.18 |
가상 메모리(Virtual Memory)와 페이징(Paging)에 대한 정리 (3) | 2018.10.16 |
Linux 의 입출력 스케줄링(I/O Scheduling) (0) | 2018.10.14 |
Unix/Linux 파일시스템 구조 정리 (2) (0) | 2018.10.04 |