Как управлять группой ПК МОС12: различия между версиями

Материал из IT в школе
Перейти к навигацииПерейти к поиску
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:


Найти в сети IP только что установленныхх ПК (если в сети нет роутеров с NAT, которые скрывают адреса)
Найти в сети IP только что установленныхх ПК (если в сети нет роутеров с NAT, которые скрывают адреса)
Строка 4: Строка 5:
  nbtscan 172.xx.xx.0/22 | grep "MOS" | awk '{ print $1 }' > ${HOME}/iplist
  nbtscan 172.xx.xx.0/22 | grep "MOS" | awk '{ print $1 }' > ${HOME}/iplist


xx.xx - подставить от вашей сети
Возможно nbtscan перед этим надо установить (если это еще не сделано)
Возможно nbtscan перед этим надо установить (если это еще не сделано)


  dnf install nbtscan
  dnf install nbtscan


Выполнить команду на новых ПК


  TEACHERPASS=""
Раздача ключей для доступа по ssh со своего ПК с правами root (ключ сначала надо сгенерировать один раз командой ssh-keygen -t ed25519.)
 
USER="teacher"
USERPASS="amend5could_image"
SSHKEY=`cat ${HOME}/.ssh/id_ed25519.pub`
for IP in $(cat ${HOME}/iplist) ; do
(sleep 1;echo ${USERPASS}; sleep 1; echo "echo \"${SSHKEY}\"" >> /root/.ssh/authorized_keys" ; echo exit; sleep 1; echo exit )  | sshpass -p ${USERPASS} ssh -yy -oStrictHostKeyChecking=no ${USER}@${IP} sudo su
done
 
Далее можно создать нужных пользователей и/или поменять пароль, добавить нужные или убрать ненужные пакеты, обновить
#!/bin/bash
USER="student"
PASS="2023"
SCHOOL="1111"
CORP="1"
INSTALL="alteroffice alteroffice-freedesktop-menus mos-appstore-wheel-only mos-auth-core vk-messenger-mos idle kamoso xnview whatsapp-web-launcher samsung-unified-driver hplip* get-yandex-browser-autoupdate scratch kompas3d-wine-helper java-17-openjdk-devel xnview"
REMOVE="mos-welcome-pages-school mos-identify"
NUMBER="`cat /${HOME}/lastnumber`"
if [ -z "${NUMBER}" ]; then
  NUMBER=1
fi
  for IP in $(cat ${HOME}/iplist) ; do
  for IP in $(cat ${HOME}/iplist) ; do
sshpass -P ${TEACHERPASS} ssh -oStrictHostKeyChecking=no -l teacher
  let "NUMBER=NUMBER+1"
  ssh -l root ${IP} "hostnamectl hostname n${SCHOOL}-${CORP}-${NUMBER}"
  ssh -l root ${IP} "adduser student"
  ssh -l root ${IP} "$(echo \"${USER}:${PASS}\" | /usr/sbin/chpasswd)"
  ssh -l root ${IP} "dnf -y install ${INSTALL}"
  ssh -l root ${IP} "dnf -y remove ${REMOVE}"
  ssh -l root ${IP} "dnf --refresh -y up"
  done
  done
echo "${NUMBER}" > /${HOME}/lastnumber
[[Категория:МОС12]]
[[Категория:МОС12]]

Текущая версия на 10:42, 7 декабря 2023


Найти в сети IP только что установленныхх ПК (если в сети нет роутеров с NAT, которые скрывают адреса)

nbtscan 172.xx.xx.0/22 | grep "MOS" | awk '{ print $1 }' > ${HOME}/iplist

xx.xx - подставить от вашей сети Возможно nbtscan перед этим надо установить (если это еще не сделано)

dnf install nbtscan


Раздача ключей для доступа по ssh со своего ПК с правами root (ключ сначала надо сгенерировать один раз командой ssh-keygen -t ed25519.)

USER="teacher"
USERPASS="amend5could_image"
SSHKEY=`cat ${HOME}/.ssh/id_ed25519.pub`
for IP in $(cat ${HOME}/iplist) ; do
(sleep 1;echo ${USERPASS}; sleep 1; echo "echo \"${SSHKEY}\"" >> /root/.ssh/authorized_keys" ; echo exit; sleep 1; echo exit )  | sshpass -p ${USERPASS} ssh -yy -oStrictHostKeyChecking=no ${USER}@${IP} sudo su
done

Далее можно создать нужных пользователей и/или поменять пароль, добавить нужные или убрать ненужные пакеты, обновить

#!/bin/bash
USER="student"
PASS="2023"
SCHOOL="1111"
CORP="1"
INSTALL="alteroffice alteroffice-freedesktop-menus mos-appstore-wheel-only mos-auth-core vk-messenger-mos idle kamoso xnview whatsapp-web-launcher samsung-unified-driver hplip* get-yandex-browser-autoupdate scratch kompas3d-wine-helper java-17-openjdk-devel xnview"
REMOVE="mos-welcome-pages-school mos-identify"
NUMBER="`cat /${HOME}/lastnumber`"
if [ -z "${NUMBER}" ]; then
 NUMBER=1
fi
for IP in $(cat ${HOME}/iplist) ; do
 let "NUMBER=NUMBER+1"
 ssh -l root ${IP} "hostnamectl hostname n${SCHOOL}-${CORP}-${NUMBER}"
 ssh -l root ${IP} "adduser student"
 ssh -l root ${IP} "$(echo \"${USER}:${PASS}\" | /usr/sbin/chpasswd)"
 ssh -l root ${IP} "dnf -y install ${INSTALL}"
 ssh -l root ${IP} "dnf -y remove ${REMOVE}"
 ssh -l root ${IP} "dnf --refresh -y up"
done
echo "${NUMBER}" > /${HOME}/lastnumber