[Linux] 특수권한 비트, CHMOD 에 대해

리눅스에서 파일 및 디렉토리의 접근 권한을 설정할 때 흔히 사용하는 권한 비트는 3자리(예: 777, 700)로 이루어져 있습니다. 하지만 때로는 이 앞에 4, 2 등의 숫자가 붙는 경우를 보게 되는데, 이를 “특수권한 비트”라고 합니다.

특수권한 비트의 기본 개념

기본 권한 비트처럼, 특수권한 비트 역시 8진수 숫자를 이용하여 설정합니다. 특수권한 비트에는 다음과 같은 값이 사용됩니다:

  • Setuid = 4
  • Setgid = 2
  • Sticky Bit = 1

특수권한 비트는 기존 권한 비트와 조합되어 설정되며, 특정 상황에서 보다 유용하게 활용됩니다.


1. Setuid

Setuid는 파일 실행 시 **유효 사용자 ID(EUID)**를 해당 파일의 소유자로 변경하는 특수권한입니다. 이는 주로 슈퍼유저(root)가 소유한 파일에서 활용됩니다.

Setuid의 특징

  1. 유효 사용자 변경: 프로그램을 실행하는 사용자의 ID가 파일 소유자의 ID로 일시 변경됩니다.
  2. 권한 대여: 사용자가 슈퍼유저 권한이 필요한 작업을 수행할 때, 파일 실행 순간에만 해당 권한을 빌려옵니다.
  3. 운영 효율성: 일반 사용자에게 root 권한을 부여하지 않고도, 필요한 작업을 수행할 수 있습니다.
  4. 사용 제한: 보안상 대부분 슈퍼유저가 소유한 소수의 프로그램에만 적용됩니다.

Setuid의 동작 확인

  • ls -l 명령어로 확인할 수 있습니다.
  • 실행 권한 자리(x)에 소문자 s가 나타나면 Setuid가 적용된 상태입니다. 만약 실행 권한이 없으면 대문자 S로 표시됩니다.

Setuid의 사용 사례

가장 흔히 사용되는 예는 /usr/bin/passwd 파일입니다. 사용자가 자신의 비밀번호를 변경할 때 일시적으로 root 권한이 필요하며, 이를 위해 Setuid 권한이 부여되어 있습니다.

주의: Setuid는 보안 취약점을 초래할 수 있으므로 반드시 신중히 사용해야 합니다.


2. Setgid

Setgid는 **유효 그룹 ID(EGID)**를 변경하는 특수권한으로, 디렉토리나 파일에 적용됩니다.

Setgid의 특징

  1. 유효 그룹 변경: 프로그램 실행 시 사용자의 그룹 ID가 파일 또는 디렉토리 소유자의 그룹 ID로 변경됩니다.
  2. 디렉토리 공유: Setgid가 설정된 디렉토리에서는 새로 생성된 파일이 디렉토리의 그룹 소유권을 따릅니다.
  3. 공유 환경에서 유용: 여러 사용자가 동일한 디렉토리 내 파일에 접근해야 할 때 유용합니다.

Setgid의 동작 확인

  • ls -l 명령어에서 그룹 권한 중 실행 권한 자리(x)에 s 또는 S로 표시됩니다.

3. Sticky Bit

Sticky Bit는 디렉토리에서 파일 삭제와 이름 변경 권한을 제한하는 데 사용됩니다. 주로 공용 디렉토리에 적용됩니다.

Sticky Bit의 특징

  1. 파일 보호: 디렉토리 소유자나 파일 소유자, 슈퍼유저만이 파일을 삭제하거나 이름을 변경할 수 있습니다.
  2. 공용 디렉토리에서 사용: 누구나 파일을 생성할 수 있지만, 삭제와 변경은 제한됩니다.

Sticky Bit의 동작 확인

  • ls -l 명령어에서 기타 사용자 권한 중 실행 권한 자리(x)에 소문자 t가 표시됩니다.

Sticky Bit의 사용 사례

  • /tmp 디렉토리처럼 공용 디렉토리에 Sticky Bit가 설정되어 있습니다.

4. 특수권한 파일 검색 방법

특수권한이 설정된 파일은 다음 명령어로 검색할 수 있습니다:

find <경로> -perm <접근권한> -ls

예를 들어, Setuid가 설정된 파일을 검색하려면 다음과 같이 입력합니다:

find / -perm -4000 -ls

5. 특수권한 설정 시 주의사항

  • 특수권한은 실행 권한이 포함된 상태에서만 정상적으로 작동합니다.
  • 무분별한 사용은 보안 취약점을 초래할 수 있으므로, 꼭 필요한 경우에만 설정하세요.

리눅스의 특수권한 비트는 강력한 도구이지만, 올바르게 이해하고 신중하게 사용해야 합니다. 운영 환경에서 보안과 효율성을 동시에 유지하는 데 필수적인 요소이므로, 위 내용을 참고하여 적절히 활용하시기 바랍니다.

Leave a Comment