Я получаю сообщение об ошибке «Отказано в доступе» при запуске приложения Snap, когда мой домашний каталог смонтирован в точке монтирования nfs, которая не разрешает запись с правами root. Это не необычная конфигурация, поэтому я считаю это ошибкой.

Сообщение об ошибке:

cannot create user data directory: /home/tcumming/snap/vlc/4: Permission denied

Также была такая же проблема с ubuntu 16.

Дополнительная информация по запросу:

С помощью ubuntu, «Ubuntu Software» устанавливаю snap-приложение (например, vlc). Когда я пытаюсь запустить его (из командной строки), я получаю сообщение «Отказано в доступе» выше.

Я только что переустановил Ubuntu на машину, так что с ОС не возился. Я сохранил свой uid:gid, чтобы я мог смонтировать свой предыдущий общий ресурс nfs.

Это не проблема с точкой монтирования или nfs. Наша точка монтирования недоступна для записи с правами root из соображений безопасности.

Я предполагаю, что вопрос в том, должен ли я подать отчет об ошибке? Каковы мои следующие шаги?

49
David Foerster 1 Июл 2017 в 10:44
Какой вопрос? Как подать отчет об ошибке?
 – 
mikewhatever
29 Июн 2017 в 23:57
Я предполагаю, что если вы отправите отчет об ошибке, он будет помечен как недействительный, поскольку это проблема конфигурации с nfs и точкой монтирования, а не ошибка, но вы можете попробовать.
 – 
Panther
30 Июн 2017 в 00:02
Не могли бы вы добавить немного больше деталей? Что точно вы сделали, чего хотели добиться и что вместо этого произошло? Сталкивались ли вы с какими-либо предупреждениями или сообщениями об ошибках? Пожалуйста, воспроизведите их полностью в своем вопросе. Вы можете выбирать, копировать и вставлять содержимое терминала и большинство диалоговых сообщений в Ubuntu. (см. Как задать хороший вопрос?)
 – 
David Foerster
30 Июн 2017 в 09:23
Я отредактировал свой первоначальный вопрос, чтобы адресовать его выше.
 – 
Tom Cumming
1 Июл 2017 в 04:48

8 ответов

То же самое происходит в Ubuntu 18.04.

Если домашний каталог пользователя не находится под монтированием /home (или /), невозможно работать с snap. Мой HOMEDIR находился на другом локальном SSD-диске, но, поскольку он не был смонтирован под /home, каждый пакет, установленный с помощью Snap, не работал.

Поскольку Canonical переходит на поддержку Snap, вам придется отказаться от таких приятных вещей, как HOMEDIR в других файловых системах, смонтированных с помощью NFS и т. д.

Возможно, в будущем snap станет более гибким, но это не приоритет: https ://forum.snapcraft.io/t/how-can-i-use-snap-when-i-dont-use-home-user/3352/6

Обходной путь прямо сейчас — удалить snap и установить вещи из пакетов *.tar.gz или *.deb.

21
estibordo 30 Апр 2018 в 14:25
29
Пока щелчок = худшая идея. Слишком рано :-p
 – 
Ligemer
12 Май 2018 в 03:48
4
Это действительно печально и близко к показухе, особенно для огромных развертываний, где $HOME находится на общих ресурсах NFS или CIFS, смонтированных через autofs-ldap.
 – 
Sebastian Stark
9 Июн 2018 в 16:33
1
«Поскольку Canonical переходит на поддержку Snap, вам придется отказаться от таких приятных вещей, как HOMEDIR в других файловых системах, смонтированных с помощью NFS и т. д.». Я не думаю, что Canonical собирается убедить людей, использующих Ubuntu в коммерческих/бизнес-средах, отказаться от использования централизованных домашних каталогов, смонтированных в сети, в пользу локальных только для того, чтобы они могли использовать «мгновенные пакеты»…
 – 
Dean
30 Июл 2018 в 15:43
1
В настоящее время ПК с SSD/HD слишком распространены. Многие (но не все!) мои команды /snap/bin/ завершались ошибкой с вводящей в заблуждение ошибкой «отказано в доступе» с входными файлами, и проблема не могла быть решена путем изменения прав доступа к файлам, а путем удаления пакета /snap/ и переустановив их с помощью apt! (Убунту 18.04)
 – 
SYK
10 Окт 2018 в 07:58
1
Этот вопрос или его причина совершенно недооценены в моей книге. То, что что-то не работает для основной части пользовательской базы, не может быть низким приоритетом.
 – 
SeveQ
23 Ноя 2018 в 11:50

Вы можете установить разрешения для приложения Snap в магазине программного обеспечения.

Следующие шаги протестированы на Ubuntu 20.04 LTS:

  • Открытое программное обеспечение
  • Выберите вкладку «Установлено». Появится список установленного программного обеспечения.
  • Выберите пакет моментальных снимков, для которого требуются повышенные разрешения.
  • В подробном представлении нажмите кнопку «Разрешения».
  • Нажмите на переключатель рядом с «Чтение/запись файлов на съемных носителях».

Этот метод работает для установленных жестких дисков.

Ссылки:

5
severecci 31 Авг 2021 в 08:05
1
Добро пожаловать в Ask Ubuntu! Хотя теоретически это может ответить на вопрос, было бы предпочтительнее включить сюда основные части ответа и предоставить ссылку для справки. .
 – 
Kevin Bowen
13 Янв 2019 в 08:07

Приложения Snap по умолчанию ограничены песочницей в целях безопасности. Если вы хотите, чтобы приложения snap могли читать/записывать данные в вашем домашнем каталоге, вам следует установить их в классическом режиме. Пытаться:

rclone install --classic vlc

Это должно сработать для вас.

Если вас беспокоит песочница приложения, вы можете изучить firejail.

4
Prajjwal 23 Авг 2017 в 11:58

Обходной путь apparmor мне не помог. Что сработало, так это эти шаги для моего текущего домашнего каталога "/opt/stack"...

mkdir -p /home/stack
edit /etc/fstab with "/opt/stack /home/stack none defaults,bind 0 0"
mount -a

«mount -a» сообщает, есть ли какие-либо проблемы с записями fstab. Нет необходимости перезагружаться после внесения изменений в fstab.

0
Hem 16 Июн 2021 в 20:44

Я оказался на этой странице AskUbuntu после получения ошибки «Отказано в доступе» (доступ к /media) при попытке открыть файл *.srt фильма, хранящегося на USB-накопителе. Необычно, я не нашел здесь действительно простого ответа, но потом нашел это на странице Github Subsync...

sudo snap connect subsync:removable-media

Так что, если я снова окажусь здесь с той же основной проблемой, я смогу выяснить для себя, как заменить subsync там на [другой пакет, установленный с помощью оснастки, с той же проблемой].

Я не знаю, есть ли альтернативы removable-media, которые также могут быть полезны. Но если кто-то еще знает, то здесь было бы неплохо разместить эту информацию — для меня и, возможно, для других.

0
FumbleFingers 10 Июл 2020 в 02:19

Все непривилегированные пользователи получали эту ошибку со всеми снимками в Ubuntu 20.04. Добавление пользователей в группу adm устранило проблему. Но это точно не решение. Есть идеи, почему приложения Snap требуют этого?

Обновить:

Похоже, это было связано с моей настройкой. У меня есть следующие разрешения для /home:

drwxr-x--x 13 root         adm          4096 Sep  1 14:12 /home

И это разрешения, например, домашний каталог пользователя:

drwxr-xr-x  7 kubetraining kubetraining 4096 Sep  1 16:39 /home/kubetraining

По-видимому, snap пытается перечислить /home, терпит неудачу и выдает ошибки. Но на самом деле не следует пытаться перечислить что-либо в /home, поэтому мне это кажется ошибкой.

0
Vasya Pupkin 1 Сен 2021 в 22:36

Я столкнулся с той же проблемой 20.04, пытаясь установить github cli (gh) через оснастку для клонирования репо через ssh. В записи Ubuntu Software для gh мне нужно было включить ssh-keys: allows reading ssh user configuration and keys. Существует также вариант Access files in your home folder.

gh snap settings in the Ubuntu Software app

enter image description here

0
danialk 10 Янв 2022 в 00:26