Filesystems

在 FUSE 中,如何獲取有關使用者和嘗試在虛擬文件系統中讀/寫的程序的資訊?

  • December 15, 2017

假設我創建了一個名為 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;
};

這是一個提到此功能的文件bsd手冊頁。

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