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의 적절한 사용은 시스템 보안과 협업 환경에서의 파일 관리에 큰 도움이 됩니다.