리눅스 책 부시기 - 2탄 (rwx 보다 확장된 권한 사용법)

박경현·2023년 8월 22일
0

리눅스의 확장 권한 - 1 setuid

우리가 흔히 rwx 권한을 가지고 파일을 실행하게 되면 현재 나의 실행권한으로 실행이 된다!

하지만 그 안에 따로 파일을 생성한 사람만 사용할 수 있는 제어 등이 되어있다면
제한이 많아진다!!

그래서 setuid 권한을 가지고 있으면 파일을 생성한 주체의 권한으로 프로세스를 실행할 수가 있다1!

which passwd
ls -l /bin/passwd ## rwsr-x-rx 로 되어있다!

이때 passwd 파일을 생성한 user는 root다!
setuid설정이 되어있으면 x가 있어야하는 부분에 's'로 되어있다!!

root 사용자는 파일의 권한을 어느정도 무시가 가능해서 패스워드나 정보를 수정하는게 가능해진다!!

우리는 저 root의 권한을 사용하는 것!!

리눅스의 확장 권한 - 2 setgid

setgid도 setuid랑 사실 크게 다르지 않다

하지만 setuid는 스크립트 파일이나 실행파일에서 사용을 주로 하고
setgid는 디렉토리 설정에서 많이 사용한다!

디렉토리에 setgid가 되어있으면 해당 디렉토리에서 파일을 만들때
그 디렉토리 생성 그룹의 권한으로 만들 수 있어 에러를 발생시키지 않는다!

ls -ld /run/log/journal
drwxr-sr-x root systemed-journal 60 Feb 22 14:55 /run/log/journal

리눅스의 확장 권한 - 3 sticky bit

기타 사용자 권한에 읽기 쓰기 실행 (r,w,x)가 다 설정 되어있으면
누구나 그 파일을 삭제 수정 할 수 있게 된다!!

하지만 이 문제는 생각보다 심각하다
누군가 실수로 정말 필요한 파일을 해킹하거나 삭제하면 프로그램 자체가 망가지기 때문에!

이때 sticky bit를 사용한다면 해당 파일의 권한이 있어도 삭제를 막아버린다!!

즉 파일을 소유한 사용자만이 삭제 가능!
ex) 인터넷 게시판 -> 다른사람이 작성한 글 아무나 삭제 못하게!!

ls -l /tmp
drwxrwxrwt 15 root root 4096 Feb 23 16:47 /tmp

rwx는 어떻게 권한모드 하는지 아는데 확장권한은 어떻게 권한을 설정 해제 할까?

8진수 방식으로 작성하기

우리가 chmod 777 /rudgus/test1 -> 파일의 권한이 rwxrwxrwx가 된다!

이때 3자리가 아닌 앞에 한자리를 더 추가한 4자리로 설정을 해버리면 확장권한도 적을 수가 있다!!

chmod 1000 /rudgus/test1 -> 파일 권한에 sticky bit가 추가 된다!
chmod -1000 /rudgus/test1 -> 파일 권한에 sticky bit가 해제 된다!

setuid는 4, setgid는 2, sticky bit는 1이다!!

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글