Хороший способ не дать ученику испортить настройки программы в / home / user

В моем случае у меня была блокировка RPM db, из-за которой yum зависал.

Запуск strace yum --verbose --noplugins infoзастревал на:

open("/var/lib/rpm/.dbenv.lock", O_RDWR|O_CREAT, 0644) = 5
umask(022)                              = 022
fcntl(5, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0,  len=0}Killed

, поэтому, чтобы исправить это, я запускал как root:

rm /var/lib/rpm/.dbenv.lock
1
04.09.2017, 23:56
2 ответа

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

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

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

Кстати, это очень стандартная настройка для многих пользователей кластера машин.

5
27.01.2020, 23:11

Установка атрибутов Immutableи Undeletableв dotfiles через ] chattrдолжен помочь. См. man chattrили запись в википедии для chattr

Не предотвращает полное изменение или удаление, так как пользователь может запустить chattr, но это определенно делает его более неясным.

4
27.01.2020, 23:11

Теги

Похожие вопросы