줄기세포

[Linux] sticky bit, chmod 1777 ( drwxrwxrwt ) 본문

Linux

[Linux] sticky bit, chmod 1777 ( drwxrwxrwt )

줄기세포(Stem_Cell) 2021. 6. 7. 16:03

Linux에서 권한이란?

Linux OS에서는 파일 및 폴더에 접근 권한이 존재한다.

ls -alrt 로 조회시 그림과 같은 경로를 볼 수 있다.

drwxrwxrwx 권한은 아래와 같이 나누어 해석할 수 있다.

d/rwx/rwx/rwx => directory(폴더)이며 /

소유 유저가 읽고(r), 쓰고(w), 실행(x)을 할 수 있고 /

유저가 속한 그룹이 읽고(r), 쓰고(w), 실행(x)을 할 수 있고/

소유한 유저 이외의 유저가  읽고(r), 쓰고(w), 실행(x)을 할 수 있다.                라는 뜻이다.

 

그래서 각 bit 자리수를 계산하여,

r권한 4/ w권한 2/ x 권한 1 = 총합 7로 나타내며 chmod로 권한 설정 변경을 할 수 있다.

 

권한 부여 예시

$ chmod 777 /test
test 폴더에 rwxrwxrwx 권한 부여

$ chmod +r /test
test 폴더에 r권한 부여

$ chmod -x /test
test 폴더에 x권한 회수

 

그런데, 특이한 bit가 하나 더 존재한다. sticky bit

 

Sticky bit란?

sticky bit(t) 는 나 이외의 유저 혹은 그룹에 권한이 부여됐을 때, 발생할 수 있는 문제를 해결하기 위한 bit이다.

sticky bit라는 말처럼 bit하나가 더 붙어 있다고 생각하면 된다.

777권한의 폴더에 모든 사용자들이 접근할 수 있기 때문에, 다른 사용자가 사용하는 것을 모르고 지우게 되는 일이 발생할 수 있다. 이와 같은 현상을 방지하기 위해 sticky bit 개념이 생겨났다.

sticky bit가 적용된 폴더에 대해서는 소유자 및 root만이 삭제할 수 있다. 

 

파일을 삭제하려면 상위 폴더의 w권한을 가진 사용자가 삭제할 수 있다. 그래서 이 sticky bit는 폴더에  적용이 되는 개념이다.

 

권한 부여 예시

$ chmod 1777 /test

$ chmod +t /test

이렇게 sticky bit가 적용된 linux 기본 디렉토리는 /tmp 와 /var/tmp 이다.

 

 

기본 디렉토리 설명

https://novice-data.tistory.com/32

 

[Linux] 기본 디렉토리 설명 및 기능

CentOS 기준으로 작성되어있음. root 디렉토리에 존재하는 폴더에 대해서만 설명함 그 외 폴더는 다른 글에 /bin -> /usr/bin 심볼릭 링크 걸려있음, binary라는 뜻바이너리 포함 - essential executables 전체

novice-data.tistory.com

 

 

 

참조:

https://www.thegeekdiary.com/unix-linux-what-is-the-correct-permission-of-tmp-and-vartmp-directories/

 

UNIX / Linux : What is the correct permission of /tmp and /var/tmp directories – The Geek Diary

 

www.thegeekdiary.com

https://blogger.pe.kr/384?category=144028 

 

Sticky bit 란 무엇인가? (Unix 와 Linux 운영체제)

유닉스와 리눅스에서 파일 퍼미션에 대한 공부를 하다보면 나오는 특수한 파일 퍼미션이 두개가 있다. 하나는 앞의 find 명령어에 대한 고찰(http://blogger.pe.kr/338)에서 조금 살펴본 setuid/setgid 이고

blogger.pe.kr

https://hotpotato.tistory.com/425

 

[OS] 디렉토리 권한이 777이면 다른 사용자의 파일을 삭제할 수 있다?

rm 매뉴얼 페이지에 아래와 같이 나와 있습니다. You do not need read or write permission for the file you want to remove. However, you must have write permission for the directory containing the file...

hotpotato.tistory.com

 

 

 

Comments