В Ubuntu 11.04 я мог смонтировать файловую систему в / media / foo и запустить chown guest:guest /media/foo/bar -R
и иметь полный доступ в гостевой учетной записи. После обновления до 12.04 я изменил свою процедуру, чтобы отразить новые имена гостевых пользователей (chown guest[id]:guest[id] /media/foo/bar -R
), но я все еще не могу получить к ней доступ как гостевой пользователь, поскольку у меня нет привилегий доступа к / media как гостю:
ls: невозможно открыть каталог / media: в доступе отказано
blockquote>(Очень интересно, что это сработает, если я
su
войду в гостевую учетную запись как root). Я понимаю, что это подразумевается как мера безопасности , но я не вижу, как это делается.ls -l /
сообщаетdrwxr-xr-x 11 root root 4096 Sep 9 22:28 media
Таким образом, у меня два вопроса: как работает это ограничение и как я могу получить доступ к смонтированной файловой системе в качестве гостевого пользователя, в идеале, не предоставляя доступ ко всем другим смонтированным файловым системам?
Доступ к /media
ограничен профилем AppArmor /etc/apparmor.d/lightdm-guest-session
. Есть два исключения (строки 31 и 32):
owner /media/ r,
owner /media/** rmwlixk, # we want access to USB sticks and the like
Это разрешает доступ, если /media/foo
принадлежит guest [id], что является первой альтернативой для решения моей проблемы. Недостатком является то, что гостевая учетная запись может создавать произвольные каталоги и файлы в корне / media / foo. Я решил явно указать отверстие для /media/foo/bar
и добавил строки:
owner /media/foo/bar rw,
Описание синтаксиса можно найти здесь: http://doc.opensuse.org/documentation/ html / openSUSE / opensuse-security / cha.apparmor.profiles.html
Насколько мне известно, это только позволяет гостевой сессии получить доступ к /media/foo/bar
и только если guest [id] является владелец bar
. Обратите внимание, что guest [id] все еще не может получить доступ к самому /media/foo
. Таким образом ls /media/foo
потерпит неудачу, но ls /media/foo/bar
работает.
Наконец перезагрузите профиль, чтобы изменения вступили в силу:
sudo apparmor_parser -r /etc/apparmor.d/lightdm-guest-session