• Amir Goldstein's avatar
    fanotify: support limited functionality for unprivileged users · 7cea2a3c
    Amir Goldstein authored
    Add limited support for unprivileged fanotify groups.
    An unprivileged users is not allowed to get an open file descriptor in
    the event nor the process pid of another process.  An unprivileged user
    cannot request permission events, cannot set mount/filesystem marks and
    cannot request unlimited queue/marks.
    
    This enables the limited functionality similar to inotify when watching a
    set of files and directories for OPEN/ACCESS/MODIFY/CLOSE events, without
    requiring SYS_CAP_ADMIN privileges.
    
    The FAN_REPORT_DFID_NAME init flag, provide a method for an unprivileged
    listener watching a set of directories (with FAN_EVENT_ON_CHILD) to monitor
    all changes inside those directories.
    
    This typically requires that the listener keeps a map of watched directory
    fid to dirfd (O_PATH), where fid is obtained with name_to_handle_at()
    before starting to watch for changes.
    
    When getting an event, the reported fid of the parent should be resolved
    to dirfd and fstatsat(2) with dirfd and name should be used to query the
    state of the filesystem entry.
    
    Link: https://lore.kernel.org/r/20210304112921.3996419-3-amir73il@gmail.comSigned-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    7cea2a3c
fdinfo.c 4.22 KB