Вы не делаете ничего плохого, и нечего исправлять. /run/user/$uid/gvfs
или ~$user/.gvfs
это точка монтирования интерфейса FUSE для GVFS . GVFS - это виртуальная файловая система для Gnome, которая позволяет приложениям Gnome получать доступ к ресурсам, таким как серверы FTP или Samba, или к содержимому zip-файлов, например локальным каталогам. FUSE - это способ реализации драйверов файловой системы в виде пользовательского кода (вместо кода ядра). Шлюз GVFS-FUSE делает драйверы файловой системы GVFS доступными для всех приложений, а не только для тех, которые используют библиотеки Gnome.
Управлять границами доверия с файловыми системами FUSE сложно, потому что драйвер файловой системы работает как непривилегированный пользователь, в отличие от кода ядра для традиционных файловых систем. Чтобы избежать сложностей, по умолчанию файловые системы FUSE доступны только пользователю, выполняющему процесс драйвера. Даже root не может обойти это ограничение.
Если вы ищете файл только на локальных файловых системах, перейдите -xdev
к find
. Если вы хотите просмотреть несколько локальных файловых систем, перечислите их все.
find / /home -xdev -name ngirc
Если файл присутствует со вчерашнего дня, вы можете попробовать locate ngirc
вместо этого ( locate
поиск в базе данных имен файлов, которая обычно обновляется ночью).
Если вы хотите пересечь точки монтирования GVFS, вы должны сделать это как соответствующий пользователь.
find / -name ngirc -path '/run/user/*/gvfs' -prune -o -path '/home/*/.gvfs' -prune -o -name ngirc -print
for d in /run/user/*; do su "${d##*/}" -c "find $d -name ngirc -print"; done
find
командной строки?