ls: не может получить доступ к .gvfs: Разрешение отклонено

Каждый раз, когда я запускаю приложение в терминале как корень (такой как sudo gedit /etc/default/varnish), впоследствии когда я открываю другой терминал, я добираюсь "ls: не может получить доступ к .gvfs: Разрешение отклонило" ошибку в верхней строке терминала.

Я нашел решение в сети

  umount /path/to/.gvfs
  rm -rf .gvfs

но это только решает проблему временно.

Кажется, что у меня есть два смонтированных экземпляра gvfs в моей системе

  $ sudo mount |grep gvfs
    gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=33)
    gvfsd-fuse on /home/****/.gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)

Я не знаю, связано ли это с, несколько месяцев назад я должен был изменить разрешение в своей домашней папке как

  sudo chown -R $USER:www-data

Помогите мне зафиксировать его?

Править: После того, как я размонтировался /run/user/1000/gvfs Я не получаю ту ошибку.

12
задан 16 September 2014 в 18:17

2 ответа

Запуск графических приложений с sudo может иногда приводить к подобным проблемам.

Объяснение

sudo запускает программу с привилегиями суперпользователя (например, запускается как root), но программа по-прежнему видит текущий домашний каталог как ваш домашний каталог .

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

Какое решение является лучшим?

Есть альтернатива: gksudo .

Этот вариант sudo настраивает переменные среды, такие как домашний каталог, таким образом, чтобы сделать запуск графических приложений с правами root намного безопаснее и не запутать программы при создании root- принадлежащие файлы в вашем домашнем каталоге.

Почему это влияет на графические приложения?

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

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

Как решить проблему?

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

Чтобы найти файлы, принадлежащие root, в вашем домашнем каталоге:

find ~ -user root

Если у вас все еще возникают проблемы с некоторыми приложениями (запустите как пользователь ), попробуйте перезагрузиться, чтобы очистить / tmp и все, что еще работает. Иногда некоторые приложения могли повредить свои существующие файлы конфигурации и требовать от вас удаления всей их конфигурации в вашем домашнем каталоге, но, надеюсь, этого не произойдет со многими.

11
ответ дан 16 November 2019 в 15:42

Просто дайте пользователю разрешения на .gvfs / , и он должен исправить это.

sudo chown -R $USER:$USER ~/.gvfs/
2
ответ дан 23 November 2019 в 04:34

Другие вопросы по тегам:

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