Компьютерный класс МОС

Материал из 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