2017. 4. 29. 17:12ㆍLinux
dr-xr-xr-x. 2 root root 4096 2017-04-22 13:42 bin
파일타입(d) / 허가권(r-xr-xr-x) / 링크수(2) / 소유자(root) / 소유그룹(root) / 파일크기 / 생성일자 / 파일명
< 소유권 >
- 파일 및 디렉터리에 대한 소유 권한
#chown [User]:[Group] [Path]
- 해당 경로의 파일 또는 디렉토리에 대한 소유권을 변경한다
- ' : ' 를 기준으로 왼쪽은 소유자 , 오른쪽은 소유 그룹을 지정한다
< 허가권 >
- 파일 및 디렉터리에 접근을 제한하는 것
- [ _ _ _ _ _ _ _ _ _ ] : 소유자, 소유그룹의 그룹원 , 기타사용자 들의 권한
- r : 파일을 읽을 수 있는 권한
- w : 파일을 삭제하거나 수정 또는 생성할 수 있는 권한
- x : 파일을 실행 할 수 있는 권한
- 허가권 지정 방법
r : 4 , w : 2 , x : 1 => 7진법 이용
#chmod _ _ _ [Path]
- 해당 경로의 파일 또는 디렉토리에 대한 허가권을 변경한다
- _ _ _ 각각은 소유자, 그룹원, 기타사용자 의 허가권에 해당한다
rwx rwx rwx : 소유자,그룹원,기타사용자의 허가권
#chmod 421 testFile
소유자의 허가권은 4 => r / 소유그룹의 그룹원들의 허가권은 2 => w / 기타사용자들의 허가권은 1 => x
#chmod 765 testFile
rwx => 4+2+1 = 7 / rw => 4+2 =6 / r-x => 4+1 = 5
< 특수 권한 >
< SetUID >
- "실행파일" 에 한해서 설정한다. SetUID가 설정된 실행파일을 실행할 경우에는 해당 실행파일의 소유자 권한으로 프로세스가 실행된다
#chmod u+s testFile or #chmod 4765 =>
=> 해당 파일을 다른 사용자로 로그인하여 실행하여도 root권한으로 파일이 실행된다
=> root사용자의 역할이 너무 많으므로 기타 사용자가 실행 할 수 있도록 역할을 나누어 준다
* 해당 실행파일에 SetUID를 설정하기 전에 소유자에게 'x' 즉 실행권한이 없었을 경우에는 rwS 대문자로 표시된다
* 원래의 허가권 765 에 +4000 옵션
< SetGID >
- "디렉토리" 에 설정한다
- 프로세스가 실행한 사용자의 GID가 아닌 파일을 소유한 그룹의 GID로 실행된다
- SetGID가 설정 되어있는 디렉토리에서 파일을 생성하면, 해당 디렉토리의 소유그룹이 그 파일의 소유권을 가진다
< setGID 설정하기 전 >
디렉토리 'testDir'의 소유자와 소유그룹이 hwan-3 이지만
해당 디렉토리에 파일을 생성하면 소유권과 소유그룹은 로그인한 사용자의 권한이 된다
< setGID 설정 한 후 >
#chmod 2755 [Path] or #chmod g+s [Path]
#chmod 2755 /testDir 실행결과 해당 디렉토리의 권한은 "rwxr-sr-x" 로 변경되었다
# 해당 디렉토리에 파일을 생성하면 자동적으로 소유권을 해당디렉토리의 소유그룹이 가지게 된다
< StickyBit >
- 모든 사용자가 생성이나 수정, 삭제가 가능한 디렉토리에 적용한다
- Sticky 설정 후에는 해당 디렉터리의 소유자만 파일을 삭제 할 수 있다.
- 위에서 지정했던 디렉터리의 SetGID 를 제거 해준다
< 디렉토리에 StickyBit 설정 >
- #chmod o+t [Path] or #chmod 1xxx [Path]
- 기타사용자의 허가권에 't'
< ACL ( Accessed Control List ) >
- 디렉터리 및 파일에 특정사용자나 그룹에게 특정 권한을 부여하는 기능
- 세세한 권한 관리시 사용한다
[1]
#getfacl [Option] [Path]
- 파일과 디렉터리의 ACl설정 확인
- d : 기본정보만확인
- r: 하위파일 및 디렉터리까지 확인
[2]
#setfacl [Option] [Rule] [Path]
- 파일과 디렉터리에 ACL을 설정한다
* Option
- m : 권한을 수정할 때
- x : 권한을 삭제할 때
- R : 하위 파일 및 디렉터리까지 설정할 때
- b : 권한 및 마스크 등 지정한 권한 모두 제거
* Rule
- u : UID or 유저명 : 권한
- g : GID or 그룹명 : 권한
- o : 권한
소유자에게는 모든권한이 있고 그룹과 다른사용자들은 읽기권한만 가지고 있다.
#setfacl 을 실행하여서 다른 특정사용자에게 쓰기권한을 부여해보자
#setfacl -m u:hwan-3:5 testDir
-> 유저 "hwan-3" 에게 "testDir" 디렉터리에 대한 "5(r+x)" 권한을 부여한다
#setfacl -x u:hwan-3 /testDir
-> 유저 "hwan-3"이 "testDir"디렉터리에 가진 권한을 제거한다
#setfacl -b testDir
-> "testDir" 디렉터리에 설정된 모든 ACL 설정 제거
'Linux' 카테고리의 다른 글
방화벽설정과 SSH통신 [ iptables , ssh ] (0) | 2017.05.31 |
---|---|
리눅스 서버 공부전에 알아두면 좋은 네트워크 개념들 (0) | 2017.05.09 |
Linux 디렉터리 및 파일 종류 (0) | 2017.04.16 |
Linux Command ( 리눅스 명령어 ) (0) | 2017.04.14 |
VI명령어 (0) | 2017.04.13 |