Filesystems
在 FUSE 中,如何獲取有關使用者和嘗試在虛擬文件系統中讀/寫的程序的資訊?
假設我創建了一個名為 FUSE 的文件系統
foo
並將其安裝在/mnt/foo
.如果我有一個名為的使用者
myuser
正在執行vi
以打開文件/mnt/foo
,那麼 FUSE 方法或資料結構包含有關使用者和程序的資訊嗎?我想要使用者/組和程序的實際名稱,或者 RUID 和 PID。我一直在盯著這個 ,但我找不到我從 doxygen 文件中提到的資訊。
在呼叫 fuse 操作期間,您可以呼叫
fuse_get_context()
以獲取fuse_context 結構中的目前呼叫使用者 id、組 id、程序 id 和 umask 。struct fuse_context { struct fuse *fuse; uid_t uid; gid_t gid; pid_t pid; void *private_data; mode_t umask; };