假设我创建了一个名为的 FUSE 文件系统foo
并将其安装在/mnt/foo
.
如果我有一个名为的用户myuser
正在运行vi
以打开 中的文件/mnt/foo
,那么哪些 FUSE 方法或数据结构包含有关用户和进程的信息?我想要用户/组和进程的实际名称,或者 RUID 和 PID。
我一直盯着这 但我找不到我从 doxygen 文档中提到的信息。
答案1
在调用熔断操作期间,您可以调用fuse_get_context()
以获取当前调用用户 id、组 id、进程 id 和 umaskfusion_context 结构体。
struct fuse_context {
struct fuse *fuse;
uid_t uid;
gid_t gid;
pid_t pid;
void *private_data;
mode_t umask;
};
如果您使用的是低级 API,则需要使用fuse_req_ctx
并传递传递fuse_req_t
给当前函数的 ,请参阅这个线程。 fuse_req_ctx
回报一个指向a的指针fusion_ctx 结构体其中有调用过程的uid
、gid
、pid
、 和。umask