본문 바로가기
LINUX

Sticky bit를 사용하는 이유가 뭘까?

by Rainbound-IT 2024. 12. 21.
반응형

 

777 권한일때 권한을 775로 바꾸면 수정이 불가능하니 되니 sticky bit 안써도 되는거 아닌가라는 생각이 들었습니다.

 

디렉토리의 권한을 775로 변경하면, 일반 사용자(그룹에 속하지 않은 사용자)가 쓰기 권한을 잃게 되므로 특정 상황에서는 Sticky Bit를 사용하지 않아도 의도치 않은 파일 삭제나 수정이 방지될 수 있습니다. 그러나 두 접근 방식에는 서로 다른 목적과 적용 사례가 있습니다. 이를 비교해서 살펴보겠습니다.


775 권한과 Sticky Bit의 차이

특성775 권한Sticky Bit

특성 775 권한 Sticky bit
접근 제한 특정 그룹 사용자만 파일 추가/삭제 가능 모든 사용자가 파일 추가 가능
파일 삭제/수정 제한 그룹 외 사용자는 디렉토리 내 작업 불가 소유자만 자신의 파일 삭제/수정 가능
공유 디렉토리 목적 적합하지 않음 매우 적합
사용 사례 비공유 디렉토리 공유 디렉토리(/tmp, /shared)

775로 권한을 제한하면 Sticky Bit가 불필요한 경우

775로 설정하면 다음과 같은 상황에서 Sticky Bit를 사용하지 않아도 됩니다:

  1. 디렉토리를 사용하는 사용자가 관리자(root) 또는 특정 그룹으로 제한되어 있는 경우.
    • 그룹 소속 사용자만 쓰기 작업이 가능하므로, 의도치 않은 파일 삭제가 애초에 불가능.
  2. 디렉토리의 목적이 공유 작업이 아니라 특정 사용자 또는 그룹 간 협업인 경우.

예시:

 
chmod 775 /restricted ls -ld /restricted
 
drwxrwxr-x 2 root admin 4096 Dec 20 14:00 /restricted
  • 결과:
    • admin 그룹에 속하지 않은 사용자는 디렉토리 내 파일을 삭제하거나 수정할 수 없습니다.
    • Sticky Bit가 필요하지 않음.

Sticky Bit가 필요한 경우

Sticky Bit는 공유 디렉토리 환경에서 주로 사용됩니다.
특히, 모든 사용자가 디렉토리를 자유롭게 사용할 수 있는 상황(권한 777)에서 효과적입니다.

예: /tmp 디렉토리

  • /tmp는 모든 사용자가 접근 가능(777 권한)하지만, 자신의 파일만 삭제할 수 있어야 합니다.
  • Sticky Bit가 설정되지 않으면 다른 사용자가 내 파일을 삭제할 수 있음.
 
chmod 1777 /tmp ls -ld /tmp
 
drwxrwxrwt 2 root root 4096 Dec 20 14:00 /tmp

왜 775만으로는 충분하지 않은가?

775는 쓰기 권한을 그룹에 속한 사용자로 제한하지만, 공유 디렉토리처럼 모든 사용자가 파일을 생성하고 관리해야 하는 환경에서는 적합하지 않습니다. 예를 들어:

  • 그룹에 속하지 않은 사용자는 아예 파일을 추가할 수 없으므로 디렉토리의 공유 목적에 부합하지 않음.
  • Sticky Bit는 파일 생성 권한은 열어주되, 삭제 권한은 소유자로 제한할 수 있는 특수한 시나리오를 다룹니다.

결론

  • 775 권한: 특정 사용자나 그룹만 디렉토리를 사용하는 경우에는 Sticky Bit가 필요 없습니다.
  • Sticky Bit: 모든 사용자가 접근 가능한 공유 디렉토리(권한 777)가 필요할 때 적합합니다.

따라서 상황에 따라 적절한 방식을 선택하면 됩니다. 보안편의성의 균형을 맞추는 것이 중요합니다.

 

생성삭제가 소유자만 가능하도록 하기위해선 Sticky Bit가 필요합니다.

반응형

댓글