Вы не делаете ничего плохого, и нечего исправлять. /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командной строки?