/tmp 디렉토리의 특수성 (Sticky Bit)

/tmp 는 모든 사용자가 파일을 쓸 수 있는 공용 공간이다. 그래서 리눅스는 보안을 위해 Sticky Bit라는 설정을 해둔다. (drwxrwxrwt 에서 맨 끝의 t )

이 설정이 있으면 자기가 만든 파일이 아니면 삭제하거나 수정할 수 없다는 제약이 걸린다. 하지만 여기서 한 걸음 더 나아간 보호 기능이 있다.

Protected Symlinks

최신 리눅스 커널은 /tmp 와 같이 누구나 쓸 수 있는 디렉토리에서 심볼릭 링크를 이용한 공격을 막기 위해 fs.protected_symlinks 옵션을 기본적으로 켠다.

이 옵션이 켜져 있으면, 다음 조건이 모두 충족될 때만 링크를 따라가는 것이 허용된다.

  1. 링크를 실행하는 유저가 링크의 소유자이거나
  2. 링크가 있는 디렉토리의 소유자인 경우