_리눅스 실습 커리큘럼 11/40 · 권한과 사용자 (6주차)_
umask 와 sticky 로 특수 권한을 처음 봤습니다. 이번 편은 나머지 둘, SUID 와 SGID 입니다. 서버를 인수하면 이런 비트가 걸린 파일과 누구나 쓸 수 있는 파일을 목록으로 뽑는 것이 보안 점검의 시작입니다.
SUID·SGID 파일 감사, 왜 필요한가
- SUID 실행 파일은 일반 사용자가 실행해도 소유자(대개 root) 권한으로 동작해 권한 상승의 표적입니다.
- world-writable 파일은 아무 계정이나 내용을 바꿀 수 있어 악성 코드 삽입 경로가 됩니다.
- 리눅스마스터 1급·LPIC-1 보안 단원이 이 점검을 다룹니다.
이번 편에서 익힐 것
- 특수 권한 세 자리 — SUID 4, SGID 2, sticky 1
- 비트로 찾기 —
find -perm -4000,-perm -2000,-perm -o+w - 조건 묶기 —
\( -o \) - 감사 리포트 —
stat -c형식 출력
SUID·SGID 파일 감사 핵심 명령어
find / -type f -perm -4000 2>/dev/null # SUID 파일
find / -type f \( -perm -4000 -o -perm -2000 \) 2>/dev/null # SUID 또는 SGID
find /home -type f -perm -o+w # world-writable 일반 파일
find /srv -perm -o+w # 디렉터리 포함
find /usr/local/bin -type f -perm /111 -exec stat -c '%a %U %n' {} \; # 실행 파일 리포트
| 비트 | 숫자 | 표시 | 효과 |
|---|---|---|---|
| SUID | 4xxx | 소유자 x 자리 s | 파일 소유자 권한으로 실행 |
| SGID | 2xxx | 그룹 x 자리 s | 파일 그룹 권한 / 디렉터리면 그룹 상속 |
| sticky | 1xxx | 기타 x 자리 t | 디렉터리에서 소유자만 삭제 |
-perm -값은 "그 비트가 모두 켜진",-perm /값은 "하나라도 켜진".2>/dev/null은 권한 없는 디렉터리의 오류 메시지를 숨겨 목록 파일에 섞이지 않게 합니다.
SUID·SGID 파일 감사 자주 하는 실수
-o를 쓸 때 괄호 이스케이프 누락 —\(\)가 필요합니다.-type f유무 — 지문이 "일반 파일"인지 "디렉터리 포함"인지 확인하세요.- 리포트 형식 —
stat -c의 형식 문자열과 열 순서를 지문 그대로.
SUID·SGID 파일 감사 실습 문제
- SUID/SGID 파일 감사 목록 만들기
- world-writable 일반파일 목록 추출
- world-writable 파일 찾기
- stat으로 실행 파일 목록 만들기
다음 편
다음 편은 소유권 일괄 변경과 협업 디렉터리 setgid 입니다. 화·금요일에 이어집니다.
<!-- publish_key:linux-path-20w-p11-post -->

아직 댓글이 없습니다. 궁금한 점이나 풀이 경험을 남겨 보세요.