Почему не может найти чтение/run/user/1000/gvfs даже при том, что оно работает как корень?

Это используется для защиты псевдонима:

$ ls
.bashrc  a  b

$ alias ls
alias ls='ls $LS_OPTIONS'

$ \ls
a   b
35
29.05.2013, 12:56
4 ответа

Вы не делаете ничего плохого, и нет ничего для фиксации. /run/user/$uid/gvfs или ~$user/.gvfs точка монтирования для интерфейса FUSE к GVFS. GVFS является реализацией виртуальной файловой системы для Gnome, который позволяет приложениям Gnome получать доступ к ресурсам, таким как FTP или серверы Samba или содержание zip-файлов как локальные каталоги. FUSE является способом реализовать драйверы файловой системы как пользовательский код (вместо кода ядра). Шлюз GVFS-FUSE делает драйверы файловой системы GVFS доступными для всех приложений, не только тех пользующихся библиотеками Gnome.

Управление доверяет границам файловые системы FUSE, является трудным, потому что драйвер файловой системы работает как непривилегированный пользователь, в противоположность коду ядра для традиционных файловых систем. Для предотвращения сложностей, по умолчанию, файловые системы FUSE только доступны для пользователя, выполняющего процесс драйвера. Даже корень не добирается для обхода этого ограничения.

Если Вы ищете файл в локальных файловых системах только, передаче -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
34
27.01.2020, 19:36
  • 1
    Спасибо за большое объяснение на GVFS и FUSE. Я попробовал рабочую 'находку' как в Вашем примере, и это работало отлично. –  kal 30.05.2013, 07:00
  • 2
    Как FUSE препятствует тому, чтобы корень получил доступ к файлам? Конечно, корень имеет способность отключить такие меры защиты. –  Akinos 25.09.2015, 07:37
  • 3
    @Nat может изменить fsuid своего процесса на цель uid, таким образом, в смысле безопасности, обходящем защиту, тривиально. Но функция управления доступом в ядре запрещает доступа к корню. Это явление также происходит с другими файловыми системами, например, корень не может получить доступ к частным каталогам на NFS, не переключаясь на UID владельца. –  Gilles 'SO- stop being evil' 25.09.2015, 11:04
  • 4
    для "предотвращения сложностей"... Хорошо это верное созданное огромная сложность, так как я не могу использовать команду монтирования для отображения пути к общему ресурсу на более чистое имя папки.. Доступ запрещен для укоренения при использовании sudo монтируется. –  Nuzzolilo 01.01.2016, 10:56
  • 5
    @Nuzzolilo я понятия не имею, о чем Вы говорите. Если Вы имеете проблему, задаете новый вопрос и, несомненно, объясните Ваш сценарий. –  Gilles 'SO- stop being evil' 01.01.2016, 18:07

Это - проблема предохранителя. Никакой пользователь кроме владельца не может читать. Для работы вокруг конфигурации по умолчанию попытайтесь включить user_allow_other опцию. Эта опция указана путем добавления его к/etc/fuse.conf. Это не имеет никакого значения, просто укажите опцию на пустой строке.

10
27.01.2020, 19:36
  • 1
    Спасибо. Я действительно не понимаю, каков предохранитель, но после чтения немного из отчета об ошибках в Вашем комментарии и комментарии don_crissti, я предполагаю, что это имеет отношение к жесткому диску USB, который я включил или мой сервер самбы? Есть ли какие-либо проблемы безопасности, которые я должен рассмотреть при включении "user_allow_other" и являюсь там какими-либо другими опциями для монтирования, что я должен рассмотреть?Спасибо. –  kal 29.05.2013, 02:36
  • 2
    Спасибо, но это не действительно решение для меня, если никто больше не может использовать систему. Как я могу сказать, кто владелец? Я пытался размонтировать/разъединить свой внешний жесткий диск и закрыть мой сервер самбы. Все, что я действительно хочу сделать, смочь искать всю файловую систему файл, не ставя под угрозу безопасность. Существует ли альтернатива FUSE и там способ сказать точно, для чего это используется?Спасибо. –  kal 29.05.2013, 04:51
  • 3
    askubuntu.com/questions/715637 / …, я попробовал предложение @Christopher, но параметры командной строки не уважают. Я подозреваю, что демон, автоматическое средство запуска настроено определенный путь, но я не могу найти, что документация по настройке делает так –  Nuzzolilo 01.01.2016, 21:06

Если вы получаете разрешение и другие сведения для gvfs согласно следующему

d?????????? ? ?    ?      ?            ? gvfs

затем просто размонтируйте gvfs, используя следующую команду. Ваша проблема будет решена после выполнения этого процесса.

umount ~/gvfs(umount /run/user/112/gvfs in my case).

GVFS (Виртуальная файловая система GNOME) - это виртуальная файловая система для рабочего стола GNOME, которая позволяет пользователям легко получать доступ к удаленным данным через SFTP, FTP, WebDAV, SMB и локальным данным через интеграцию с udev, поэтому вам не нужно бояться при размонтировании этого.

3
27.01.2020, 19:36

это старая ветка, но в отчетах об ошибках gnome это недавняя открытая проблема, поэтому она может быть полезна всем, кто часами ищет решение для исправления gvfs -проблем с фьюзером -, которые все кажутся тесно связаны.

Сообщение об ошибке от объединения:

Error copying '/media/root/5FDA03906F33F217/SAVE/rsyncTEST-usb/allusers' to '/run/user/0/gvfs/ftp:host=192.168.0.103/var/ftp/ftpd/images/PersistenceUSBs/rsync-meld/allusers'

[Errno 95] Operation not supported: '/run/user/0/gvfs/ftp:host=192.168.0.103/var/ftp/ftpd/images/PersistenceUSBs/rsync-meld/allusers'.

Я столкнулся с проблемой фьюзера gvfs -при попытке использовать meld/diff/kdiff по ftp. Кажется, проблема между фьюзером и gvfs. Похоже, что проблема не возникает в 3.15.1, но о ней начинают сообщать в 3.15.2. (новая версия Python? )Решение является обходным путем, а не исправлением -файлы/каталоги будут скопированы, но ошибка все равно будет отображаться.

Ответ Кристофера определяет проблему и предлагает решение.

Другим возможным решением является использование sshfs (см. этот комментарий и этот поток). Для получения дополнительной информации о gvfs-commandsсм. . В чем разница между командами gvfs и обычными командами, такими как cat, ls, cp?

Возможные -связанные ошибки включают GNOME #317875 и GNOME #768281 .

5
27.01.2020, 19:36

Теги

Похожие вопросы