Ошибка «Отказано в доступе» при запуске приложений, установленных как пакеты моментальных снимков - Ubuntu 17.04

22

Я получаю сообщение об ошибке «Отказано в доступе» при запуске приложения моментальных снимков, когда мой домашний каталог монтируется в точке монтирования 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.

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

Том Камминг
источник
Какой вопрос? Как подать отчет об ошибке?
независимо от того, что
Я собираюсь угадать, если вы отправите отчет об ошибке, он будет помечен как недействительный, так как это проблема конфигурации с nfs и точкой монтирования, а не ошибка, но вы можете попробовать.
Пантера
Не могли бы вы добавить немного больше деталей? Что именно вы делали, чего вы хотели достичь и что произошло вместо этого? Были ли какие-либо предупреждения или сообщения об ошибках? Пожалуйста, воспроизведите их полностью в своем вопросе. Вы можете выбирать, копировать и вставлять содержимое терминала и большинство диалоговых сообщений в Ubuntu. (см. Как мне задать хороший вопрос? )
Дэвид Фёрстер
Я отредактировал свой оригинальный вопрос, чтобы обратиться к выше.
Том Камминг

Ответы:

11

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

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

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

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

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

estibordo
источник
8
Пока что хватит = худшая идея. Слишком скоро :-p
Ligemer
2
Это очень печально и близко к демонстрации, особенно для больших развертываний, где $ HOME находится на общих ресурсах NFS или CIFS, смонтированных через autofs-ldap.
Себастьян Старк
1
«Поскольку Canonical переходит на поддержку моментальных снимков, вам придется потерять такие приятные вещи, как HOMEDIR в других файловых системах, смонтированных NFS и т. Д.» Я не думаю, что canonical собирается убедить людей, использующих Ubuntu в коммерческих / бизнес-средах, прекратить использовать домашние каталоги, смонтированные в централизованной сети, в пользу локальных, просто чтобы они могли использовать «мгновенные пакеты» ...
Декан
1
ПК с SSD / HD сейчас слишком распространены. Многие (но не все!) Из моих команд / snap / bin / потерпят неудачу из-за вводящей в заблуждение ошибки «Отказано в разрешении» с входными файлами, и проблему не удалось решить, связавшись с правами доступа к файлам, но удалив пакет / snap / и переустановка их с помощью apt! (Ubuntu 18.04)
SYK
1
Этот вопрос или его причина полностью недооценены в моей книге. Не может быть низким приоритетом, что вещи не работают для большей части пользовательской базы.
SeveQ
2

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

rclone install --classic vlc

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

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

Prajjwal
источник
2

Вы можете установить разрешения для Приложения Snap в Магазине программного обеспечения. Смотрите: http://www.linuxandubuntu.com/home/snap-application-permissions

Фабиан де Бур
источник
Добро пожаловать в Спросите Ubuntu! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить здесь основные части ответа и предоставить ссылку для справки.
Кевин Боуэн
1

Я столкнулся с этим, потому что мой домашний каталог связан с / home / $ USER другой точкой монтирования. Я исправил это с предложением от: https://bugs.launchpad.net/snapcraft/+bug/1620771

Короче говоря, вам нужно добавить нестандартный домашний каталог в переменную apparmor HOMEDIRS:

$ sudo dpkg-reconfigure apparmor

или: создайте файл в /etc/apparmor.d/tunables/home.d/, который указывает на точку монтирования вашего домашнего каталога:

@{HOMEDIRS}+=/mnt/hdd/.home/

Тогда, просто для хорошей меры, вы должны удалить кэш apparmor и перезагрузиться:

$ sudo rm -f /etc/apparmor.d/cache/* /var/cache/apparmor/snap.*
$ sudo reboot
Джонатан Перри-Хаутс
источник