리눅스 특수권한 설정 - 이해하기


1) 특수권한 요약 (기호 방식 / 의미 / 대표 예)

특수권한 숫자값 기호(권한 비트에 표시) 의미(한 줄) 대표 예
setuid 4 실행 권한 자리 x가 **s**로 표시 (없으면 S) → -rwsr-xr-x 파일 실행 시 실행한 사용자가 아니라 파일 소유자 권한으로 실행 /usr/bin/passwd
setgid 2 그룹 실행 자리 x가 **s**로 표시 (없으면 S) → -rwxr-sr-x 실행 시 그룹 권한 적용 / 디렉터리에 걸면 생성 파일이 디렉터리의 그룹을 상속 공유 디렉터리, 일부 시스템 바이너리
sticky-bit 1 기타 사용자 실행 자리 x가 **t**로 표시 (없으면 T) → drwxrwxrwt 디렉터리 내에서 본인/소유자/root만 삭제 가능 (남이 만든 파일 삭제 방지) /tmp

s vs S, t vs T

  • s/t : 해당 위치에 실행(x) 권한이 있을 때

  • S/T : 실행(x) 권한이 없는데 특수권한만 걸린 상태(대개 설정 실수)


2) 특수권한 설정 예제 (chmod 숫자/기호 방식)

목적 숫자 방식 예제 기호 방식 예제 확인(권한 표시 예)
setuid 설정 chmod 4755 file chmod u+s file -rwsr-xr-x
setgid 설정(파일) chmod 2755 file chmod g+s file -rwxr-sr-x
setgid 설정(디렉터리: 그룹 상속) chmod 2775 dir chmod g+s dir drwxrwsr-x 또는 drwxrwsr-x(그룹 x 있으면 s)
sticky 설정(디렉터리) chmod 1777 dir chmod +t dir drwxrwxrwt
특수권한 조합 예 chmod 6755 file (4+2=6) chmod u+s,g+s file -rwsr-sr-x

3) “특수권한 파일/디렉터리 검색” 예제 (find)

찾고 싶은 대상 명령어 예제 설명
setuid 파일 찾기 find / -perm -4000 -type f 2>/dev/null 소유자 setuid 비트가 설정된 파일
setgid 파일 찾기 find / -perm -2000 -type f 2>/dev/null 그룹 setgid 비트가 설정된 파일
sticky-bit 디렉터리 찾기 find / -perm -1000 -type d 2>/dev/null sticky-bit가 설정된 디렉터리
setuid 또는 setgid 찾기 find / -perm /6000 -type f 2>/dev/null 둘 중 하나라도(OR) 설정된 파일
특수권한 “정확히” 매칭(주의) find / -perm 4755 -type f 2>/dev/null 권한이 정확히 4755인 것만 찾음(실무에선 보통 -4000//6000를 더 씀)
결과를 상세 표시 find / -perm -4000 -type f -exec ls -l {} \; 2>/dev/null 권한 문자열까지 같이 확인

보안기사 시험 포인트(짧게)

  • setuid/setgid: 권한 상승과 직결 → 관리 미흡 시 취약점(특히 쓰기 가능한 파일에 setuid는 위험)

  • sticky-bit: /tmp 같은 공용 디렉터리에서 “남의 파일 삭제 방지”


댓글 쓰기

새 댓글을 작성할 수 없습니다.*

다음 이전