Aller au contenu principal

21. SUID SGID and Sticky Bit


SUID (Set User ID)

SUID는 실행 파일이 사용자가 아닌 파일 소유자의 권한으로 실행되게 합니다. 문서에서 설명하는 것처럼: "SUID는 실행 파일에 적용될 때 프로세스가 파일을 실행한 사용자의 권한 대신 파일 소유자의 권한으로 실행될 수 있게 하는 권한입니다."

chmod 4664 filename을 사용하여 SUID를 설정합니다(앞 숫자 4로 표시). 실행 권한이 활성화되면 소문자 "s"가 표시되고, 그렇지 않으면 대문자 "S"가 표시됩니다.

SGID (Set Group ID)

SGID는 유사하게 작동하지만 실행 파일이나 디렉토리에 그룹 권한을 적용합니다. 디렉토리에 설정되면 새로 생성된 파일은 자동으로 그룹 소유권을 상속받습니다. 협업 환경에 유용합니다.

chmod 2664 filename으로 SGID를 적용합니다(숫자 2로 표시). 실행 권한을 포함하려면 chmod 2674를 사용하면 소문자 "s"가 표시됩니다.

두 권한 결합

SUID와 SGID 모두 적용하려면 숫자 6을 사용합니다: chmod 6664 filename

이러한 권한이 있는 파일을 찾으려면:

  • find . -perm /4000 — SUID 파일
  • find . -perm /2000 — SGID 파일
  • find . -perm /6000 — 하나 또는 둘 다

스티키 비트 (Sticky Bit)

스티키 비트는 공유 디렉토리에서 파일 삭제를 파일 소유자, 디렉토리 소유자 또는 슈퍼유저로 제한합니다. 이는 사용자들이 공유 디렉토리에서 다른 사람의 파일을 삭제하는 것을 방지합니다.

chmod 1777 directoryname으로 설정합니다(숫자 1). 실행 권한과 함께 비트가 설정되면 소문자 "t"가 표시되고, 실행 권한 없이 설정되면 대문자 "T"가 표시됩니다.

chmod u+s,g+s,o+t /home/bob/datadir  # setuid, setgid, sticky bit up