─━ IT ━─

리눅스 파일 시스템에서 접근권한 특수비트의 개념과 활용

DKel 2024. 11. 3. 16:35
반응형
리눅스 파일 시스템에서 파일 및 디렉터리의 보안을 강화하기 위해 사용되는 특수비트는 크게 세 가지가 있습니다: SUID(Set UID), SGID(Set GID), Sticky Bit입니다. 이 특수비트들은 표준 읽기, 쓰기, 실행 권한 외에 추가적인 접근 제어를 제공합니다. 각 특수비트의 역할과 사용 사례를 예제 코드와 함께 상세히 설명하겠습니다.

 
1. SUID (Set User ID)
SUID 비트는 실행 파일에만 적용되며, 해당 비트가 설정된 파일을 실행하는 사용자는 파일 소유자의 권한으로 실행하게 됩니다. 보통 파일 소유자가 루트(root) 계정인 프로그램에서 자주 사용됩니다.
 
예제:
```bash
# SUID 비트 설정
chmod u+s /path/to/executable
 
# 현재 설정된 SUID 확인
ls -l /path/to/executable
```
실행 결과 예제:
```bash
-rwsr-xr-x 1 root users 12345 Oct  5 12:34 executable
```
위의 예제에서, 's'자는 소유자에 대한 실행권한(x)과 SUID 권한이 모두 설정된 것을 의미합니다.
 
2. SGID (Set Group ID)
SGID 비트는 두 가지 방식으로 사용될 수 있습니다. 파일에 설정될 경우 실행하는 사용자가 파일 그룹 소유자의 권한으로 실행하게 됩니다. 디렉터리에 설정될 경우, 디렉터리 안에 생성된 파일들은 부모 디렉터리의 그룹 권한을 상속받습니다.
 
예제:
```bash
# SGID 비트 설정
chmod g+s /path/to/directory
 
# 현재 설정된 SGID 확인
ls -ld /path/to/directory
```
실행 결과 예제:
```bash
drwxr-sr-x 2 user group 4096 Oct  5 12:34 directory
```
여기서 's'자는 그룹에 대한 실행권한(x)과 SGID 권한이 모두 설정된 것을 의미합니다.
 
3. Sticky Bit
Sticky Bit는 디렉터리에 설정되며, 설정된 디렉터리 내의 파일들은 파일 소유자와 디렉터리 소유자만 삭제할 수 있도록 제한해줍니다. 이는 일반적으로 공유 디렉터리에 사용됩니다.
 
예제:
```bash
# Sticky Bit 설정
chmod +t /path/to/shared_directory
 
# 현재 설정된 Sticky Bit 확인
ls -ld /path/to/shared_directory
```
실행 결과 예제:
```bash
drwxrwxrwt 2 user group 4096 Oct  5 12:34 shared_directory
```
여기서 't'자는 스티키 비트가 설정되어 공유 디렉터리의 파일 제어가 더욱 강화된 상태를 의미합니다.
 
이러한 특수비트는 리눅스 환경에서 파일 및 디렉터리의 접근 권한을 더욱 세밀하게 제어할 수 있는 방법을 제공합니다. SUID와 SGID, Sticky Bit의 적절한 사용은 시스템 보안과 협업 환경에서의 파일 관리에 큰 도움이 됩니다.

반응형