~이든조금이라도Linux의 장치 파일에는 특별한 의미가 있습니까?
답변1
나는 이것이 사실이 아니라고 믿습니다. 이 비트는 실행 파일에만 사용됩니다. 이는 Linux 커널 헤더 파일에 로 정의되어 있습니다 S_ISUID
. 이 상수를 찾기 위해 커널 소스 코드를 grep하면 다음 용도로만 사용된다는 것을 알 수 있습니다.
should_remove_suid
SUID/SGID 비트를 제거해야 하는 FS 작업을 위한 기능,prepare_binprm
fs/exec.c
EUID 설정을 위한 실행파일을 준비할 때 사용하는 함수exec
,pid_revalidate
fs/proc/base.c
procfs를 채우는 기능,notify_change
fs/attr.c
파일 속성을 변경할 때 사용하는 함수,is_sxid
특정 코드와 함수에서만 사용되는include/linux/fs.h
함수 ,XFS
GFS
notify_change
- 파일 시스템 특정 코드에서 (물론)
따라서 이 비트는 (사용자 공간 관점에서) 파일을 실행할 때만 사용되는 것 같습니다. 적어도 리눅스에서는요.