ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Linux/리눅스] 05. 파일 퍼미션 명령어 , 디렉토리 퍼미션 명령어 , ACL
    Linux 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

    반응형
Designed by Tistory.