Я хотел бы предоставить пользователю (маме и папе) доступ только к этим 4 приложениям:
Конечно, они заблокированы в домашнем каталоге пользователя. И также, конечно: они должны иметь возможность изменять объем и печатать документы. Это близко к киоску; -)
Каков наилучший способ справиться с этим? Я бегу 12.04 (64).
(пессулус и локаут недоступны?)
Дайте им отдельную учетную запись пользователя без прав администратора. Если им не нужно сохранять материалы сверх продолжительности сеанса, подойдет временная гостевая учетная запись.
Если вы действительно хотите ограничить доступ к приложениям для некоторых пользователей, мне на ум приходит несколько вещей. Все они включают отдельную учетную запись пользователя, и ни одна из них не кажется мне действительно удовлетворительной.
Если вы просто хотите скрыть разнообразие и сложность, чтобы не вводить пользователей в заблуждение, переопределите все «ненужные» запуска приложений. Что-то вроде следующего непроверенного сценария оболочки:
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, которые запрещают «родителям» пользователя выполнять что-либо, кроме разрешенных приложений. Это потенциально сложно, потому что многие приложения полагаются на внешние программы и сценарии оболочки, а некоторые имеют свои настоящие двоичные исполняемые файлы где-то в /usr/lib
. Это может работать для очень ограниченного набора приложений.
Разумным набором программ, которые можно разрешить, будут вещи из пакетов «coreutils», «bash», «python», «perl» и любых зависимостей разрешенных приложений.
Я также отключил бы пусковые устройства приложения, как объяснено выше, чтобы не иметь кучу дисфункциональных пусковых устройств в приборной панели, док-станции, меню приложения или где-либо еще.