Как ограничить доступ пользователей к определённым приложениям?

Вопрос или проблема

Я хотел бы предоставить пользователю (маме и папе) доступ только к этим 4 приложениям:

  • Google Chrome
  • Libreoffice Calc и Writer
  • vlcplayer

Разумеется, они заблокированы в домашнем каталоге пользователя. И, конечно, они должны иметь возможность изменять громкость и печатать документы. Это близко к киоску 😉

Как лучше всего это реализовать?
Я использую 12.04 (64).

(pessulus и lockout недоступны?)

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

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

  • Если вы просто хотите скрыть разнообразие и сложность, чтобы не запутать пользователей, переопределите все “необходимые” стартовые программы. Примером может служить следующий не протестированный shell-скрипт:

    cp -R {/usr,~/.local}/share/applications
    find ~/.local/share/applications -name \*.desktop -exec sed -i -e '/^NoDisplay=/d;/^\[Desktop Entry\]$/a NoDisplay=true' \{\} +
    

    Затем удалите стартовые программы разрешенных приложений из ~/.local/share/applications. Вы можете сделать нечто подобное для MIME-типов, которые вы не хотите, чтобы они открывали (с некоторыми приложениями).

  • Напишите некоторые правила apparmor, которые запрещают пользователю “родителям” запускать что-либо, кроме разрешенных приложений. Это может быть сложно, потому что многие приложения полагаются на внешние программы и shell-скрипты, а некоторые имеют свои реальные бинарные исполняемые файлы где-то в /usr/lib. Тем не менее это может работать для очень ограниченного набора приложений.

    Разумный набор разрешенных программ будет включать пакеты “coreutils”, “bash”, “python”, “perl” и любые зависимости разрешенных приложений.

    Я также отключил бы стартовые программы, как объяснено выше, чтобы не иметь кучи неработающих стартов в dash, dock, меню приложений или где угодно.

Ответ или решение

Чтобы ограничить доступ пользователя к определённым приложениям в операционной системе Ubuntu 12.04 (64), можно воспользоваться несколькими методами. Основная цель – создать среду, в которой пользователь сможет использовать только указанные вами приложения: Google Chrome, LibreOffice Calc и Writer, а также VLC player. Вот пошаговое руководство по реализации этого:

1. Создание отдельного пользователя

Сначала создайте отдельную учётную запись для ваших родителей:

sudo adduser parents

Следуйте инструкциям для установки пароля и дополнительных данных.

2. Отключение административных привилегий

Убедитесь, что эта учётная запись не имеет административных прав. Это предотвратит доступ к важным системным функциям и настройкам.

3. Скрытие ненужных приложений

Для упрощения интерфейса и сокращения выборов можно скрыть ненужные приложения. Используйте следующее:

# Копируйте приложения в локальную директорию
cp -R /usr/share/applications ~/.local/share/applications

# Скрывайте все приложения, кроме разрешённых
find ~/.local/share/applications -name '*.desktop' -exec sed -i -e '/^NoDisplay=/d;/^\[Desktop Entry\]$/a NoDisplay=true' {} +

Затем удалите .desktop файлы для тех приложений, которые вы не хотите, чтобы пользователь видел. Например:

rm ~/.local/share/applications/<имя_лишнего_приложения>.desktop

4. Настройка AppArmor

Для более строгого контроля можно воспользоваться AppArmor, чтобы разрешить выполнение только определённых приложений. Вот пример создания профиля для пользователя:

  1. Создайте новый профиль AppArmor для пользователя parents.
sudo nano /etc/apparmor.d/usr.bin.myspecificprofile
  1. Добавьте разрешения для необходимых приложений:
# это пример, обновите путь к нужным приложениям
/bin/google-chrome usr.bin.google-chrome,
/usr/bin/libreoffice-calc usr.bin.libreoffice-calc,
usr.bin.libreoffice-writer,
usr.bin.vlcplayer,
  1. Активируйте профиль:
sudo apparmor_parser -r /etc/apparmor.d/usr.bin.myspecificprofile

5. Ограничение в доступе к сторонним MIME типам

Если вы не хотите, чтобы пользователь открывал файлы с определёнными MIME типами, можете настроить соответствующие параметры. Это может также помочь в создании более контролируемой среды.

6. Мобильность и печать документов

Для обеспечения возможности изменения громкости и печати документов проверьте, чтобы нужные приложения имели доступ к аудио и принтерам. Обычно это не вызывает проблем, но если управление состоянием звука переносится на другие приложения – это стоит проверить.

Заключение

С помощью вышеуказанных шагов вы сможете создать среду, в которой ваши родители будут иметь доступ только к указанным приложениям, без возможности доступа к ненужным или потенциально опасным программам. При этом они смогут выполнять основную работу, например, печатать документы и управлять громкостью.

Не забудьте протестировать все настройки, чтобы убедиться, что всё работает корректно для пользователей.

Оцените материал
Добавить комментарий

Капча загружается...