본문으로 바로가기

6. 리눅스 권한

category SECURITY/Linux 2016. 11. 13. 20:12

리눅스 권한

 

 

리눅스의 기본권한

 

리눅스의 기본권한에는 chomd, chown, chgrp, umask가 있다.

 

 

chomd

- 파일이나 디렉터리에 접근할 수 있는 허가권을 설정하는 명령

- 알파벳 기호를 사용하는 문자모드

- 8진수의 값을 사용하는 숫자모드

- 복수 지정은 콤마(,)를 사용하여 구분

 

* 문자모드

 문자모드

 기호

 설명

 권한 표시

 r 

 파일의 내용을 볼 수 있는 권한, 디렉터리의 내부의 내용을 볼 수 있는 권한

 w

 파일의 내용을 수정할 수 있는 권한, 디렉터리 내부에 파일을 생성 또는 삭제할 수 있는 권한

 x

 실행 파일을 실행시킬 수 있는 권한, 디렉터리 내부로 접근할 수 있는 권한

 사용자 지정

 u

 파일 소유자의 접근 권한을 지정할 때 사용

 g

 그룹에 속한 사용자들에 대한 접근 권한 지정할 때 사용

 o

 다른 사용자들에 대한 접근 권한을 지정할 때 사용

 a

 파일 소유자, 그룹, 다른 모든 사용자를 포함하여 접근 권한을 지정할 때 사용

 접근권한의 설정 

 +

 설정

 -

 해제

 =

 특정 권한만 지정할 때 사용

 

* 숫자모드

- 숫자(4,2,1,0)를 조합하여 8진수의 값을 만들어 권한 설정

- 읽기권한 4, 쓰기권한 2, 실행권한 2

 8진법

 2진법 

 파일모드 

  0 

 000

 ---

 1

 001

 --x

 2

 010

 -w-

 3

 011

 -wx

 4

 100

 r--

 5

 101

 r-x

 6

 110

 rw-

 7

 111

 rwx

 

* 주요 옵션

-R   하위 디렉터리를 포함하여 디렉터리 내부의 모든 파일의 접근 권한을 변경한다.    

-c   변경된 정보를 출력해준다.

-f   중요한 오류 메세지가 아니면 출력하지 않는다.

-h  심볼릭 링크 파일의 그룹 소유권을 변경한다.

 

 

chown

파일이나 디렉터리의 소유권 및 그룹 소유권을 변경하는 명령

주요 옵션은 champ의 옵션과 같다.

 

 

chgrp

파일이나 디렉터리의 소유 그룹을 바꾸는 명령

특정한 사용자가 여러 그룹에 속한 경우에 본인 소유의 파일을 본인이 속한 그룹내에서 소유권을 변경할 수 있다.

주요 옵션은 champ의 옵션과 같다.

 

 

umask

파일이나 디렉터리 생성 시 부여하는 기본 허가권 값을 지정하는 명령이다.

파일 생성시 : 666(rw-rw-rw-)-umask로 지정한 값

디렉터리 : 777(rwxrwxrwx)-umask로 지정한 값

주요 옵션은 champ의 옵션과 같다.

 

 

 

 

리눅스의 특수 권한

 

 

리눅스의 특수 권한에는 setuid, setgid, stickybit가 있다. 이부분은 보안상의 위험을 초래할 수 있으므로

보안쪽에서 꼭 알고 넘어가야 하는 부분이다.

특수권한을 이용하면 다른계정에게 읽기, 쓰기, 실행권한을 줄 수 있고, 다른계정에서 만든 파일을 내 계정에서 실행하는

동안 다른계정의 권한을 얻어 해당파일을 읽거나 쓰고 실행하는 것이 가능해진다. (setuid와 setgid에 해당)

 

 

setuid

사용자의 권한이 있어야만 실행을 할 수 있는 파일의 경우, 그 권한을 일시적으로 파일을 실행하는

일반 사용자들에게 부여하기 위해 사용 한다.

setuid가 설정된 파일을 실행하면 해당 파일을 실행하는 도중에는 파일의 사용자 권한을 획득하며,

파일의 실행을 마친 뒤에는 다시 자신의 권한으로 돌아온다.

setuid는 4xxx로 설정한다. (100에 해당. xxx는 권한표시인 rwx를 의미한다.)

setuid 설정 시 사용자 권한내의 실행 권한 자리에 x가 아닌 s가 오게 된다. 만약 실행 권한이

없는 파일에 부여하면 대문자 S로 나타낸다.

 

 

 

setgid

그룹의 권한이 있어야만 실행을 할 수 있는 파일의 경우, 그 권한을 일시적으로 파일을 실행하는

일반 사용자들에게 부여하기 위해 사용 한다.

setgid가 설정된 파일을 실행하면 해당 파일을 실행하는 도중에는 파일의 그룹 권한을 획득하며,

파일의 실행을 마친 뒤에는 다시 자신의 권한으로 돌아온다.

setgid는 2xxx로 설정한다. (010에 해당. xxx는 권한표시인 rwx를 의미한다.)

setgid 설정 시 그룹 권한내의 실행 권한 자리에 x가 아닌 s가 오게 된다. 만약 실행 권한이

없는 파일에 부여하면 대문자 S로 나타낸다.

 

 

 

sticky bit

sticky bit가 설정된 디렉토리에 파일을 생성하면 해당 파일은 생성한 사람의 소유가 되며,

오직 소유자와 root에게만 해당 파일에 대한 삭제 및 변경의 권한이 있다. 공유디렉토리로 사용하고자 할 때 쓰인다.

sticky bit는 1xxx로 설정한다. (001에 해당. xxx는 권한표시인 rwx를 의미한다.)

sticky bit 설정 시 아더 권한내의 실행 권한 자리에 x가 아닌 t가 오게 된다.

그룹의 공유모드로 사용한 경우에는 대문자 T로 표기된다.

 

 

* 특수권한의 설정

setuid,setgid,stickybit 허가권 설정명령인 chmod를 사용한다.

 특수권한

 문자모드

 숫자모드(천의 자리)

 setuid

 s

 4

 setgid

 2

 sticky bit

 t

 1

 

 

'SECURITY > Linux' 카테고리의 다른 글

명령어 대한 참조 (help, manual)  (0) 2017.03.21
리눅스 디렉터리 구조  (0) 2017.03.21
리눅스 기본명령어 정리  (0) 2016.11.08
리눅스 Yum repolist 설정하기  (0) 2016.11.05
CentOS 설치하기  (0) 2016.11.02