linux как перехватить несанкционированный доступ процесса к файлу, базе с помощью FUSE (cryfs или gocryptfs)

#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;
};