#linux #fuse
#linux #fuse
Вопрос:
Теперь я использую cryfs или gocryptfs для шифрования некоторых данных. Доступ к этим данным может получить только указанный процесс. Если другой процесс хочет получить доступ к этим данным, cryfs или gocryptfs просто возвращают зашифрованный текст этому несанкционированному процессу.
Поддерживает ли libfuse эту функцию?Или есть несколько хороших способов узнать, какой процесс получает доступ к конфиденциальным данным.
Ответ №1:
libfuse предоставляет идентификатор текущего вызывающего процесса (среди прочего) с помощью этого вызова: fuse_get_context()
При этом возвращаемая структура:
struct fuse_context {
/** Pointer to the fuse object */
struct fuse *fuse;
/** User ID of the calling process */
uid_t uid;
/** Group ID of the calling process */
gid_t gid;
/** Process ID of the calling thread */
pid_t pid;
/** Private filesystem data */
void *private_data;
/** Umask of the calling process */
mode_t umask;
};