Study

[Linux 자격증 2차시험] 접근권한 관련 명령어

wookjae 2022. 1. 23. 16:27

chmod (Change Mode)

- 파일의 퍼미션을 변경하기 위한 명령어

$ chmod [옵션 ] '적용대상파일' 

 

옵션 

-c 변경된 파일만 자세히 보여준다.
-f 변경되지 않은 파일에 대해서 오류메세지를 보여주지않음
-R '하위 디렉토리'를 포함하여 디렉토리 내부 모든파일 접근권한 변경

 

$ chmod +w test1

--> test1파일에 쓰기권한 부여

 

$ chmod 750 test1

--> test1 파일에 관하여 소유자(읽기,쓰기,실행), 그룹(읽기,실행) 권한부여 

 

읽기r(4) / 쓰기w(2) / 실행x(1) - Sum(7)

 

$ chmod ugo+rwx test1.excel

--> 파일소유자+그룹+기타(다른)사용자 전체에게 test1엑셀파일에 관하여 (읽고,쓰고,실행)가능한 권한부여

      (u: 파일소유자, g: 그룹, o: 다른사용자 / r: 읽기권한, w:쓰기권한, x:실행권한) 

 

$ chmod o-rw /root/user1 

--> '/root/user1' 디렉토리에관하여 기타(다른)사용자의 읽기,쓰기 권한무효 

 

[ 특별한 권한 ]
* SUID(Set UID)
- SUID를 부여 시, 해당파일을 접근하는 모든사용자에게 파일의 소유자의 권한으로 인식
SUID를 설정시 소유자 권한부분에 (rwx -> rws)로 표기. 


* SGID(Set GID)
- SGID부여 시, 해당파일을 접근하는 모든사용자에게 소유한 그룹의 권한으로 인식.
그룹권한부분에 (rwx -> rws)로 표기.

* Sticky-Bit
- 다른사용자 권한이 rwx로 설정되어 있을시, 동시다발적으로 해당 파일에접근하여 수정, 삭제중 삭제작업에 대하여 제한을 두는 것, 'Sticky-Bit' 를 사용하여 소유자만이 삭제 가능하도록 설정 
다른사용자 권한 부문에 (rwx -> rwt)로 표기.

[ SUID, SGID, Sticky-Bit 설정방법 ]
* 기존설정 퍼미션앞에 숫자추가 
  - sticky bit(1), SGID(2), SUID(4)

  $ chmod 4777     chomd -rwsrwxrwx 
  --> 파일일소유자, 그룹, 다른사용자 에게 모두 (읽기,쓰기,실행) 권한이 있으며 파일에 대한 모든사용자는 
       소유자의 권한으로 실행된다. *SUID적용 

파일 :  - 
링크 : l 
디렉토리 : d

 

chown (Change Owner)

$ chown [옵션 ] 소유자:소유그룹 파일명 

$ chown [옵션 ] 소유자.소유그룹 파일명 

--> 파일의 소유자소유그룹을 변경하기 위한 명령어 (Root계정만 사용가능) 

-R: 하위 디렉토리에서 모든파일의 소유주와 소유그룹을 변경  

-c: 변경된 정보를 출력 

      $ chown aaa test1      (test1에 파일 소유자를 'aaa'로 변경)

      $ chown a:abc test1    (test1에 파일 소유자를 'a', 소유그룹을 'abc'로 변경)

      $ chown a.abc test1    (test1에 파일 소유자를 'a', 소유그룹을 'abc'로 변경)


 

chgrp (Change Group)

$ chown [옵션 ] 그룹 '파일명'

--> 파일 또는 디렉토리의 소유그룹을 변경하기 위한명령어 

-R: 하위 디렉토리에서 모든파일의 소유주와 소유그룹을 변경  

-c: 변경된 정보를 출력 

      $ chgrp -R group2 ./temp      (temp디렉토리(D) 포함 하위 모든 파일의 그룹 소유주를 'group2'로 변경)


 

umask

$ umask [옵션 ] 값

--> 파일 또는 디렉토리의 초기권한 을 설정하는 명령어  

-S: 설정 값에 대하여 문자로 확인 

      $ umask -S      (설정된 허가에 관하여 문자로 확인 --> u = rw, g=rx, o=rwx)

     

[ umask ]

Cf). (umask 022 == chmod 755) 
     
      7 7 7  (소유자 그룹 다른사용자)   
 -    0 2 2  (umask 값)
 -----------------------
      7 5 5  (소유자는 읽고쓰고실행, 그룹다른사용자는 읽고 실행하는권한만)