У меня есть материал, сохраненный во внешнем разделе (ext4), который смонтирован через /etc/fstab
к местоположению /vms
. В том каталоге у меня есть папка shared
который должен быть доступным (в настоящее время только для чтения, позже возможно, чтение-запись) всеми локальными пользователями, включая гостевые сессии.
Однако chmod -R a+r /vms/shared
делает файлы читаемыми миром всем типичным пользователям, но не для гостевых сессий, какие AFAIK имеют другой слой ограничений через AppArmor или что-то как этот, который запрещает доступа ко всему возле их дома.
У меня уже есть отдельная учетная запись guest-config
который служит профилем по умолчанию для новых гостевых сессий (/etc/guest-session/skel
символьная ссылка на /home/guest-config
) чтобы смочь настроить гостевые настройки профиля, на всякий случай это поможет.
Как я могу разблокировать этот определенный каталог (и все его файлы и подкаталоги), чтобы допустить, что гость считает или доступ для чтения-записи только для чтения? Используя Ubuntu 16.04 btw.
(Скопированный с моего ответа здесь , так как я видел, что сначала, и он не кажется правильным для маркировки этого как дубликат вопроса, который задают позже.)
Гостевые сессии заблокированы вниз с помощью AppArmor, который использует длинный список специальных полномочий помешать гостевым пользователям касаться чего-либо. К ним получают доступ от etc/apparmor.d/lightdm-guest-session
.
На моей машине, тот файл похож на это:
# Profile for restricting lightdm guest session
#include <tunables/global>
/usr/lib/lightdm/lightdm-guest-session {
# Most applications are confined via the main abstraction
#include <abstractions/lightdm>
# chromium-browser needs special confinement due to its sandboxing
#include <abstractions/lightdm_chromium-browser>
}
Открытие той "основной абстракции" (etc/apparmor.d/abstractions/lightdm
) дает что-то более интересное:
...
/ r,
/bin/ rmix,
/bin/fusermount Px,
/bin/** rmix,
/cdrom/ rmix,
/cdrom/** rmix,
/dev/ r,
/dev/** rmw, # audio devices etc.
owner /dev/shm/** rmw,
/etc/ r,
/etc/** rmk,
...
Это все каталоги, к которым ограниченная сессия может получить доступ, наряду с их полномочиями. Если Вы добавите свой раздел и совместно используемую папку к тому списку (с запаздыванием /**
для включения всех подкаталогов, и r
для разрешения чтения), то все будущие гостевые сессии будут иметь доступ только для чтения к нему.
Для полномочий чтения-записи, используйте rw
; это - разрешение по умолчанию для /var/guest-data
. Для полных полномочий используйте rwlkmix
; это - разрешение по умолчанию для гостевых дисков в /media
. Они обозначают Чтение, Запись, Ссылку, блокировку, Карту распределения памяти, и Наследовались - выполнитесь: последний дает полномочия выполнения, но указывает, что выполнение должно произойти в текущем заключении (таким образом, Вы не можете убежать из гостевых ограничений путем выполнения особенно созданного сценария оболочки).