Компьютерный класс МОС
Материал из IT в школе
Версия от 15:37, 8 декабря 2022; Kekaloav (обсуждение | вклад)
Данный скрипт запускается у нас при каждой загрузке моноблоков компьютерного класса, обновляя некоторые настройки, которые могут быть изменены нерадивыми учениками. Цель - обезопасить себя от ситуации, когда в начале следующего урока компьютеры класса оказались в нерабочем состоянии. Впрочем, большинство изменений достаточно применить однократно.
#!/bin/bash
SFTP="sftp://student:passstudent@teacher_comp.local"
#удаляем репозиторий alt. Уже несколько раз изза
#конфликта версий в репозиториях приходилось вносить исправления
rm /etc/apt/sources.list.d/alt.list
#установить или восстановить wine32 после проблем с libopenal1
if [ ! -z "`apt-get -y install i586-wine | grep libopenal | grep Depends`" ]; then
epm downgrade libopenal1
fi
#убираем задержку при загрузке. Чтобы невозможно было влезть в систему и поменять root пароль
sed -i -r 's/^#*(GRUB_TIMEOUT=).*/GRUB_TIMEOUT=0/' /etc/sysconfig/grub2
sed -i -r 's/^#*(GRUB_HIDDEN_TIMEOUT=).*/GRUB_HIDDEN_TIMEOUT=$GRUB_TIMEOUT/' /etc/sysconfig/grub2
grub-mkconfig -o /boot/grub/grub.cfg
#прописываем в cron отключение компьютера ночью
if [ -z "`crontab -l | grep shutdown`" ]; then
echo -e "0 22 * * * /sbin/shutdown now\n0 7 * * * /sbin/shutdown now\n" >> /var/spool/cron/root
fi
#блокировка нежелательных настроек от пользователя student
if [ ! -f /home/student/.config/kcmfonts ]; then
echo -e "[General]\nforceFontDPI=0" > /home/student/.config/kcmfonts
fi
sed -i -r "s/^(forceFontDPI=).*/\10/" /home/student/.config/kcmfonts
#отключить засыпание
sed -i '/AC\]\[DPMS/,+2d' /home/student/.config/powermanagementprofilesrc
sed -i '/AC\]\[DimDisp/,+2d' /home/student/.config/powermanagementprofilesrc
#блокировка файлов настроек
cd /home/student/.config/
for i in plasma-org.kde.plasma.desktop-appletsrc kdeglobals powermanagementprofilesrc systemsettingsrc kcmfonts
do
chown root:student ${i}
chmod 040 ${i}
done
#блокировка kscreen
chown root:student /home/student/.local/share/kscreen
chmod 040 /home/student/.local/share/kscreen
#удалить wifi соединения
rm /etc/NetworkManager/system-connections/Study.MOS.nmconnection
rm /etc/NetworkManager/system-connections/Study.nmconnection
#создать каталог сдать работы для проекта teacher_control
mkdir '/home/student/Рабочий стол/Сдать работы'
chown student:student '/home/student/Рабочий стол/Сдать работы'
#создать общую папку для проекта teacher_control
echo -e "[Desktop Entry]\nIcon=folder-remote\nName=Задания\nType=Application\nExec=dolphin $SFTP/home/share" > '/home/student/Рабочий стол/share.desktop'
chown student:student '/home/student/Рабочий стол/share.desktop'
#создать хромиум
echo -e "#!/usr/bin/env xdg-open\n[Desktop Entry]\nIcon=chromium\nName=Chromium\nType=Application\nExec=chromium" > '/home/student/Рабочий стол/Chromium.desktop'
chown student:student '/home/student/Рабочий стол/Chromium.desktop'
# Установка Chrome браузером по умолчанию
if [ ! -f /home/student/.config/mimeapps.list ]; then
echo -e '#!/usr/bin/env xdg-open\n[Default Applications]\nx-scheme-handler/http=chromium\nx-scheme-handler/https=chromium' > /home/student/.config/mimeapps.list
chown student:student /home/student/.config/mimeapps.list
else
sed -i -r 's/(http=|https=).*/\1chromium/' /home/student/.config/mimeapps.list
fi
#обновление ставим по команде администратора, нет необходимости показывать их учащимся.
apt-get remove -y apt-indicator