suid 비트가 장치 파일에 어떤 의미를 가지나요?

suid 비트가 장치 파일에 어떤 의미를 가지나요?

~이든조금이라도Linux의 장치 파일에는 특별한 의미가 있습니까?

답변1

나는 이것이 사실이 아니라고 믿습니다. 이 비트는 실행 파일에만 사용됩니다. 이는 Linux 커널 헤더 파일에 로 정의되어 있습니다 S_ISUID. 이 상수를 찾기 위해 커널 소스 코드를 grep하면 다음 용도로만 사용된다는 것을 알 수 있습니다.

  • should_remove_suidSUID/SGID 비트를 제거해야 하는 FS 작업을 위한 기능,
  • prepare_binprmfs/exec.cEUID 설정을 위한 실행파일을 준비할 때 사용하는 함수 exec,
  • pid_revalidatefs/proc/base.cprocfs를 채우는 기능,
  • notify_changefs/attr.c파일 속성을 변경할 때 사용하는 함수,
  • is_sxid특정 코드와 함수에서만 사용되는 include/linux/fs.h함수 ,XFSGFSnotify_change
  • 파일 시스템 특정 코드에서 (물론)

따라서 이 비트는 (사용자 공간 관점에서) 파일을 실행할 때만 사용되는 것 같습니다. 적어도 리눅스에서는요.

관련 정보