Linux

[Linux/리눅스] 05. 파일 퍼미션 명령어 , 디렉토리 퍼미션 명령어 , ACL

reifier.tistory.com 으로 이전하였습니다. 2018. 12. 21. 14:37
반응형

 

파일/디렉토리 퍼미션 변경


chmod
- 퍼미션을 변경하는 명령
- Change Mode
- 기호 또는 숫자로 표시할 수 있다.

심볼릭 방법


chmod [ref][oper][mod] file|dir

[References]            [Operator]                            [Modes]
- u : user                - [ + ] : 추가                        - r : read
- g : group              - [ - ] : 제거                        - w : write
- o : other               - [ = ] : 정확하게 설정          - x : excute
- a : all



8진법 숫자 방법


chmod [-R] (#1)(#2)(#3)(#4) file|dir

- 각 # 은 r = 4 , w =2 , x = 1 의 합계이다.

- #1 은 0 이다.

- #2 는 사용자에 대한 퍼미션

- #3 은 그룹에 대한 퍼미션

- #4 는 기타에 대한 퍼미션

- -R 옵션을 사용하여 그 하위 파일/디렉토리에게 퍼미션을 부여할 수 있다.


예 : -rwxr-x--- Videos 퍼미션의 경우

- 사용자는 rwx 이므로 4 + 2 + 1 = 7 이다.

- 그룹의 경우 r-x 이므로 4 + 0 + 1 = 5 이다.

- 기타의 경우 --- 이므로 0 이다.

- 최종적으로 chmod 750 Videos 라는 결과가 된다.



EX 1 : exampleFile1 에 대하여 그룹 및 기타는 읽기, 쓰기 퍼미션을 제거한다.

~]#  chmod go-rw exampleFile1 


EX 2 : exampleFile2 에 대하여 모든 사람에게 실행 권한을 추가한다.

~]#  chmod a+x exampleFile2 


EX 3 : exampleFile3 에 대하여 사용자에게는 읽기,쓰기,실행 권한
그룹에게는 읽기,실행 권한 그리고 기타에게는 어느 권한도 설정하지 않는다.

 ~]#  chmod 750 exampleFile3






 

파일/디렉토리 (사용자|그룹) 소유권 변경


    - chown 명령으로 파일 소유권을 변경할 수 있다.

예 1 : file1 파일을 A 사용자 에게 소유권을 부여한다.

~]#  chown A file1 


예 2 : dir1 디렉토리와 그 하위 모든 파일/디렉토리를 A 사용자 에게 소유권을 부여한다.

~]#  chown -R A dir1


예 3 : dir2 디렉토리의 소유권을 B 그룹에게 부여한다.

~]#  chown :B dir2 


예 4 : dir3 디렉토리의 소유권을 A 사용자, B 그룹에게 부여한다.

~]#  chown A:B dir3 


- root 만이 파일의 소유권을 변경할 수 있다.

- 그룹 소유권은 해당 파일의 소유자가 설정할 수 있다.

- root 가 아닌 사용자는 자신이 속한 그룹에 대해서만 설정 할 수 있다.





기본 권한 및 파일 액세스 관리


특수 권한


setuid/setgid 권한은 실행한 사용자가 아니라 파일의 user/group으로 실행됨을 의미한다.


sticky bit 는 파일 삭제에 대한 특수한 제한을 설정한다.

- 파일 소유자와 root 만이 디렉토리 내의 파일을 제거할 수 있다.


setuid = 4 , setgid = 2, stickty = 1


- u+s(setuid)

- 파일을 소유한 사용자의 권한으로 실행한다.

~]#  chmod u+s file                ->              ~]#  chmod 4770 file



- g+s(setgid)

- 파일을 소유한 그룹 권한으로 실행한다.

- 디렉토리안에 새로운 파일에는 디렉토리의 그룹 소유자가 설정된다.


- o+t(sticky)

- 디렉토리에 대한 쓰기 퍼미션을 가진 사용자는 자신이 소유한 파일만을 제거할 수 있다.






 

POSIX ACL 액세스 제어 목록


- ACL 에서는 파일에 대하여 더 자세한 권한을 할당할 수 있다.

- 표준 파일 소유자, 그룹 소유자, 기타 파일 등등


- 파일 소유자는 개별 파일 / 디렉토리에 ACL을 설정할 수 있다.


- 파일 시스템 마운트 옵션
    - 파일 시스템은 ACL 지원을 활성화야여 마운트 하여야 한다.

- XFS 파일 시스템에는 기본적으로 ACL 이 포함되어 있다.




ACL 퍼미션 자세히 보기


- getfacl filename

파일 ACL 보기

- getfacl /경로

디렉토리 ACL 보기




ACL 파일 권한 변경


- setfacl 명령을 통하여 파일 / 디렉토리에서 표준 ACL 을 추가, 수정, 제거한다.

- setfacl 명령은 chmod 와 동일한 기능을 한다.

- setfacl -m 명령을 통하여 추가 또는 수정한다.


예 1 : user ACL 추가,수정 하는 방법

~]#  setfacl  -m  u:username:rX   file 


예 2 : group ACL 추가,수정 하는 방법

~]#  setfacl  -m  g:groupname:rw  file


예 3 : other ACL 추가,수정 하는 방법

~]#  setfacl  -m  o::-  file 

    - other 에는 권한 설정만이 가능하다.



ACL 삭제

~]#  setfacl  -x  u:username,g:groupname  file 



기본 ACL 파일 권한 제어

~]#  setfacl  -m  d:u:username:rx  dir 




기본 ACL 삭제

~]#  setfacl  -x  d:u:username  dir 



기본 ACL 모두 삭제

-  setfacl  -k  /dir


디렉토리의 모든 ACL 삭제

-  setfacl  -b  /dir

반응형