Linux

suid 位對設備文件有任何意義嗎?

  • September 14, 2012

suid 位對 Linux 中的設備文件有什麼特殊含義嗎?

我相信不是。該位僅用於執行檔。它在 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
  • 在文件系統特定程式碼中(當然)

所以在我看來,這個位只在執行文件時使用(從使用者空間的角度來看)。至少在 Linux 上。

引用自:https://unix.stackexchange.com/questions/48060