Под моим домашним каталогом есть каталог под названием ".gvfs". Как моя обычная учетная запись пользователя, я могу это нормально читать:
~ $ ls -lart ~raldi/.gvfs
total 4
dr-x------ 2 raldi raldi 0 2009-05-25 22:17 .
drwxr-xr-x 60 raldi raldi 4096 2009-05-25 23:08 ..
~ $ ls -d ~raldi/.gvfs
dr-x------ 2 raldi raldi 0 2009-05-25 22:17 /home/raldi/.gvfs
Однако как root я не могу использовать "ls" или даже "ls -d":
# ls ~raldi/.gvfs
ls: cannot access /home/raldi/.gvfs: Permission denied
# ls -d ~raldi/.gvfs
ls: cannot access /home/raldi/.gvfs: Permission denied
И, чтобы убедиться:
# echo $UID $EUID
0 0
Это просто домашняя установка Ubuntu 8.10, без NFS или чего-то подобного. Я вижу, что каталог отмечен как нечитаемый (и не доступный для мира), но я думал, что ничего из этого не применимо, когда вы являетесь пользователем root. Например, я могу создать каталог mode-000 в / tmp и отдать его не-root пользователю, и root не будет иметь проблем с чтением, записью и т.д.
Есть идеи, что происходит?
Из: http://bugzilla.gnome.org/show_bug.cgi?id=534284
Все это прискорбно, но это решение было принято специалистами по плавлению на уровне ядра (пользователь, отличный от того, кто смонтировал fs, не может получить к нему доступ, включая root), и мы ничего не можем с этим поделать.
Также см: https://bugs.launchpad.net/gvfs/+bug/225361
Решение, похоже, состоит в том, чтобы обновить ваш /etc/fuse.conf и включить user_allow_other вариант. Вам также может потребоваться получить gvfs для передачи allow_root или allow_other, но я не уверен, как это сделать.
Конечно, может быть намного проще просто отказаться от всех инструментов с графическим интерфейсом, таких как gvfs, и смонтировать файловые системы из командной строки, где у вас будет полный контроль над тем, как что-то монтируется.
В .gvfs
directory - это файловая система пользовательского пространства Gnome VFS, которая обеспечивает прямой путь к файловой системе для виртуальных файловых систем (например, удаленное монтирование samba, монтирование webdav), поэтому Gnome может передавать пути к программам, которые не поддерживают VFS при работе с удаленными файлами.
Поскольку это приложение и монтирование FUSE, оно может отказать в разрешениях root - агент, выполняющий проверки доступа в этом случае, является приложением FUSE, а не ядром.
По умолчанию gvfs
демон позволяет только владельцу перемещаться по каталогу.
Это может быть несколько вещей в порядке вероятности