FUSE라는 파일 시스템을 생성 foo
하고 /mnt/foo
.
파일을 열기 위해 myuser
running 이라는 이름의 사용자가 있는 경우 사용자 및 프로세스에 대한 정보가 포함된 FUSE 메소드 또는 데이터 구조는 무엇입니까? 사용자/그룹 및 프로세스의 실제 이름이나 RUID 및 PID를 원합니다.vi
/mnt/foo
계속 쳐다보는데이것 하지만 doxygen 문서에서 언급한 정보를 찾을 수 없습니다.
답변1
회로 차단기 작동 중에 호출하여 fuse_get_context()
현재 호출하는 사용자 ID, 그룹 ID, 프로세스 ID 및 umask를 얻을 수 있습니다.fusion_context 구조.
struct fuse_context {
struct fuse *fuse;
uid_t uid;
gid_t gid;
pid_t pid;
void *private_data;
mode_t umask;
};
이것은문서그리고BSD매뉴얼 페이지에 이 기능이 언급되어 있습니다.
하위 수준 API를 사용하는 경우 현재 함수를 사용 fuse_req_ctx
하고 전달 해야 합니다 .fuse_req_t
이 스레드. fuse_req_ctx
반품a에 대한 포인터fusion_ctx 구조uid
그 중에는 , gid
, 및 호출 절차용이 있습니다 pid
.umask