Chapter 5. 허가권(Permissions) & 소유권(Ownership)
1. 허가권(permissions)과 소유권
2. 허가권(Permissions)
- Linux의 File과 Directory는 사용자에 대해 허가권이 있다.
- 첫 번째 자리는 File 유형(File, Directory)을 구분하는 용도이다.
- 허가권의 자리수가 10개인 이유
‧ 첫 번째 자리로 File, Directory를 구분하고 나머지 각각 3개씩 사용자에 대한 허가권을 나타내며 세 가지 사용자에 대해 구분된다.
‧ 사용자의 종류
◦ 관리자(Owner)
◦ Group 사용자(Group User)
◦ 기타 사용자(Other User)
- 허가권은 r(Read), w(Write), x(Execute)로 나눠지게 된다.
- 허가권은 숫자로 나타낼 수도 있어 r, w, x는 각각 2², 2, 1을 나타낸다.
- x의 의미
‧ 문서(Document) File의 x : File중 x를 갖는 File은 존재하지 않는다.
‧ 실행(Executable) File의 x : 실행
‧ Directory의 x : 접근
- 허가권(Permissions) 관련 명령어
‧ chmod
◦ 허가권을 변경하는 데 사용되는 명령어 이다.
◦ 허가권은 숫자로 표현할 수도 문자로 표현할 수도 있다.
◦ 허가권을 숫자로 표현하는 방식
▹ r, w, x를 각각 2², 2, 1로 표현하고 -는 0으로 표현해 사용자별로 숫자를 더한다.
▹ 각각의 사용자별 숫자는 8진수로 표현되며 세 자리로 표현돼 명령어에 사용된다.
▹ 예 : -rwxr-xr-x
▸ 4+2+1 4+1 4+1 → 755
◦ 허가권을 문자로 표현하는 방식
▹ 관리자를 u(User), Group 사용자를 g(Group), 기타사용자를 o(Other)로 표현한다.
▹ 각각의 사용자에 대해 허가권을 문자로 더하고(ex. u+r) 문자로 빼서(ex. u-r) 허가권을 부여한다.
▹ 여러 개의 허가권을 한 번에 부여할 때는 콤마(,)로 여러 개 지정한다.
- 특별한 허가권
‧ SetUID
◦ Owner 허가권의 x가 s인 허가권
◦ SetUID 권한이 설정되어 있는 실행 File을 실행할 경우 그 File의 소유자 권한을 빌려온다.
‧ SetGID
◦ Group 허가권의 x가 s인 허가권
◦ SetUID와 동일하게 소유자 권한을 빌려오며 Group의 권한으로 실행된다.
‧ Sticky bit
◦ Other 허가권의 x가 t인 허가권
◦ Windows의 공유폴더와 비슷한 개념으로 해당 권한이 설정되어 있는 Directory의 모든 유저는 File을 생성하고 삭제하는 것이 자유롭지만 삭제 시에는 소유자 혹은 관리자(Owner)만 삭제가능하다.
- UMASK
‧ File이나 Directory를 생성할 때 기본적으로 지정된 허가권
‧ 허가권(Directory : 777, File : 666)에서 빼는 숫자를 말하며 관리자(Owner)의 경우가 해당한다.
‧ 기본 UMASK : 022
‧ 관리자의 기본 허가권
◦ Directory : 755(drwxr-xr-x)
◦ FIle : 644(-rw-r--r--)
‧ 일반 사용자의 기본 허가권
◦ Directory : 775(drwxrwxr-x)
◦ File : 664(-rw-rw-r--)
3. 소유권(Ownership)
- 사용자가 File 이나 Directory를 갖는 것을 뜻하며 허가권의 Owner, Group, Other를 뜻한다.
- 접속자별 허가권 판단
‧ 관리자 접속
◦ 접속자와 소유자가 일치하는 경우를 뜻하며
◦ 이 경우 허가권이 Owner의 허가권이 적용된다.
‧ 소속 Group이 일치하는 일반 접속자 접속
◦ 접속자가 관리자가 아닌 일반접속자이고 Group이 일치하는 경우
◦ 이 경우 허가권이 Group의 허가권이 적용된다.
‧ 소속 Group이 일치하지 않는 일반 접속자 접속
◦ 접속자가 관리자가 아닌 일반접속자이고 Group이 일치하지 않는 경우
◦ 이 경우 허가권이 Other의 허가권이 적용된다.
'Linux > CentOS Linux 6.5' 카테고리의 다른 글
Chapter 7. Partition (0) | 2015.08.07 |
---|---|
Chapter 6. Package (0) | 2015.08.07 |
Chapter 4. 사용자(Users) & 그룹(Group) (0) | 2015.08.07 |
Chapter 3. VI Editor (0) | 2015.08.07 |
Chapter 2. Linux의 기초 (0) | 2015.08.07 |