Этот вопрос относится к другому, более общему вопросу о гостевых аккаунтах. Это очень специфично.
Установка: у меня много старых Dell Latitude E6410s и несколько более новых Dell Latitude 5450, которые я использую в классе, работающем 16.04. Многие студенты используют эти машины для различных целей, включая анализ данных и сбор данных через подключенные USB-устройства.
Учетные записи гостей хорошо помогают нам чистить машины между логинами. Дополнительная функция гостевых учетных записей заключается в том, что при включении машин и их «забывании» машина автоматически входит в гостевую учетную запись и запускает окно браузера. Проблема в том, что гостевые учетные записи не имеют никаких прав доступа к портам USB.
Простым решением было бы добавить новую гостевую учетную запись (например, guest-abf2) в группу dialout и plugdev, чтобы учащиеся могли использовать подключенные устройства и флэш-накопители. Примерно так:
moduser -a -G plugdev,dialout $USER
внутри скрипта достаточно рано в процессе входа в систему, чтобы работать.
Это то, что я пробовал до сих пор:
auto.sh
и prefs.sh
в /etc/guest-session
каталог. Ни то, ни другое не работает. prefs.sh
запускается в пользовательском контексте, и хотя auto.sh
должен выполняться в корневом контексте, он запускается слишком поздно, чтобы добавить вновь созданную гостевую учетную запись в две группы setup.sh
, который я пробовал, но я не уверен, что этот крючок больше работает. auto.sh
никогда не работал в корневом контексте. prefs.sh
сделал так до Ubuntu 15.10, когда она была получена /usr/sbin/guest-account
, но код был пересмотрен, и в 16,04 prefs.sh
получен /usr/share/lightdm/guest-session/setup.sh
, который не выполняется как корень.
не знают, является ли это изменение в поведении намеренным. В противном случае может быть причина предложить изменение.
Не уверенный, что Вы имеете в виду, когда Вы говорите, что гостевая сессия не может получить доступ к USB-портам. Я знаю, что можно использовать карты с интерфейсом USB, по крайней мере. Возможно существуют другие устройства, использование которых предотвращено через AppArmor.
Редактирование:
я зарегистрировал отчет об ошибках , и, если принято, Вы сможете использовать prefs.sh
для присвоения гостя группе (группам), как Вы могли прежде.
Что касается карт с интерфейсом USB я сделал некоторое тестирование и нашел это, как палка отформатирована вопросы. С ext4 отформатированная палка я не мог ни читать, ни записать, но при форматировании как fat16 она хорошо работает.
Гостевые учетные записи создаются сценарием оболочки /usr/sbin/guest-account
.
В конце функции add_account
, это звонит useradd для создания пользователя. Если Вы добавляете -G plugdev,dialout
опция здесь, которая должна добиться цели.
Использование dpkg-отклоняет , чтобы избежать, чтобы обновленный пакет перезаписал Ваш измененный сценарий.
Я не знаю точно, когда это произошло, но lightdm был обновлен так, поведение сценария prefs.sh запуска теперь работает, как рекламируется. Путем создания файла, названного prefs.sh в /etc/guest-session со следующей строкой:
moduser $USER -a -G plugdev,dialout
я достиг точно, что я должен был позволить студентам получать доступ к новым USB-устройствам в гостевой учетной записи.
Используйте usermod
, не' moduser
'.
..., таким образом, поведение сценария запуска prefs.sh теперь работает, как рекламируется. Путем создания файла, призванного prefs.sh/etc/guest-session со следующей строкой :
moduser $USER -a -G plugdev,dialout
, Что команда заставит гостевую сессию отказывать и не загружаться при включении ее в prefs.sh
. ''moduser' не является допустимой командой. Используйте эту строку вместо этого:
usermod -a -G plugdev,dialout $USER