표준 읽기, 쓰기, 실행 권한 외에도 Linux 는 고급 액세스 제어를 위한 특수 권한을 제공합니다. 우리가 다룰 마지막 특수 권한은 **스티키 비트 (sticky bit)**입니다.
스티키 비트란 무엇인가?
스티키 비트는 디렉터리에 적용할 수 있는 권한 설정입니다. 디렉터리에 스티키 비트가 설정되면 해당 디렉터리 내의 파일은 파일 소유자, 디렉터리 소유자 또는 루트 사용자만 삭제하거나 이름을 바꿀 수 있습니다. 이는 여러 사용자가 서로 방해하지 않고 자신의 파일을 생성하고 관리해야 하는 공유 디렉터리에 특히 유용합니다. 이 개념은 유닉스 파일 권한 스티키 비트 관리의 핵심 부분입니다.
실제 예시: /tmp 디렉터리
Linux 에서 스티키 비트의 일반적인 사용 사례는 임시 파일을 위한 전역 쓰기 가능 위치인 /tmp 디렉터리입니다. 권한을 살펴보겠습니다.
$ ls -ld /tmp
drwxrwxrwt 17 root root 4096 Dec 15 11:45 /tmp
권한 문자열 끝에 있는 t(rwxrwxrwt) 에 주목하십시오. 이 t는 스티키 비트가 설정되었음을 나타냅니다. 이로 인해 모든 사용자가 /tmp에 파일을 생성할 수는 있지만 다른 사용자가 만든 파일을 삭제하거나 이동할 수는 없습니다. 이는 이 공유 공간에서 한 사용자가 다른 사용자의 작업을 방해하는 것을 방지합니다.
스티키 비트 설정 방법
chmod 명령을 사용하여 두 가지 방법으로 스티키 비트를 설정할 수 있습니다. 기호 모드 또는 8 진수 (숫자) 모드입니다.
기호 모드를 사용하여 스티키 비트를 추가하려면:
chmod +t my_shared_dir
8 진수 모드를 사용하여 권한을 설정하려면 표준 세 자리 권한 코드 앞에 1을 붙입니다. 스티키 비트에 대한 숫자 표현은 1입니다.
# 스티키 비트와 함께 rwxr-xr-x 권한을 설정합니다
chmod 1755 my_shared_dir
스티키 비트를 이해하는 것은 다중 사용자 환경을 관리하고 공유 디렉터리를 효과적으로 보호하는 데 필수적입니다.