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

Материал из IT в школе
Перейти к навигацииПерейти к поиску
 
(не показаны 2 промежуточные версии этого же участника)
Строка 10: Строка 10:
  dnf install nbtscan
  dnf install nbtscan


Выполнить скрипт ${HOME}/script.sh на новых ПК
 
Раздача ключей для доступа по ssh со своего ПК с правами  root (ключ сначала надо сгенерировать один раз командой ssh-keygen -t ed25519.)
 
  USER="teacher"
  USER="teacher"
  USERPASS="amend5could_image"
  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 ${USERPASS} ssh -oStrictHostKeyChecking=no -l ${USER} ${IP} echo
  let "NUMBER=NUMBER+1"
sshpass -p ${USERPASS} scp ${HOME}/script.sh ${USER}@${IP}:/home/${USER}/script.sh 
  ssh -l root ${IP} "hostnamectl hostname n${SCHOOL}-${CORP}-${NUMBER}"
sshpass -p ${USERPASS} ssh -l ${USER} ${IP} chmod 766 /home/${USER}/script.sh
  ssh -l root ${IP} "adduser student"
sshpass -p ${USERPASS} ssh -l ${USER} ${IP} /home/${USER}/script.sh
  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