Astra Linux (Orel) 2.12. Скрипт для автоматической настройки

Первые шаги в nix - системах. Unix, Linux, Free BSD, Ubuntu...


Модератор: UncleFather

Аватара пользователя
UncleFather
Site Admin
Сообщения: 1504
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

Astra Linux (Orel) 2.12. Скрипт для автоматической настройки

Сообщение UncleFather »

Задача:

Необходимо автоматизировать процесс настройки нового рабочего места, поставляемого с предустановленной операционной системой Astra Linux (Orel) 2.12.13. Требуется выполнить следующее:

  1. Настроить сетевой адрес, маску, шлюз, DNS-серверы, задаваемые вручную;

  2. В файл hosts временно прописать внешний адрес сервера администрирования Касперского

  3. Установить пакеты:

    • dos2unix

    • anydesk

    • GoogleChrome

    • skype

    • wine

    • playonlinux

  4. Обновить списки пакетов из репозиториев

  5. Обновить сами пакеты

  6. Очистить систему от оставшихся после удаления пакетов зависимостей

  7. Очистить локальный репозиторий от извлеченных файлов пакетов, оставшихся в каталоге

  8. Удалить неиспользуемые пакеты из кэша

  9. Создать нового пользователя admin с паролем MyPass123 и добавить его в нужные группы

  10. Установить время блокировки учетной записи (при срабатывании блокировки после неудачных попыток ввода пароля) равным 1200 секунд

  11. Скопировать на рабочий стол ярлыки:

    • GoogleChrome

    • Skype

    • Libreoffice Writer

    • Libreoffice Calc

    • Termial Fly

  12. Настроить браузер GoogleChrome в соответствии с заранее заданными в файле Preferences предпочтениями

  13. Установить часовой пояс Asia/Yekaterinburg

  14. Запустить синхронизацию времени

  15. Деактивировать функции энергосбережения (кроме отключения монитора) - сон, гибернацию, выключение по времени.

  16. Изменить имя компьютера на заданное в командной строке и прописать его в файл hosts

  17. Установить агент администрирования Касперского (параметры будут вводиться с клавиатуры)

  18. Выполнить очистку от проделанных скриптом временных изменений:

    • Удалить из файла hosts временно прописанный внешний адрес сервера администрирования Касперского

    • Сбросить настройки протокола IPv4 и настроить на получение адреса по DHCP


Решение:

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

Итак, для начала копируем на рабочий стол файл настроек GoogleChrome Preferences и исходный файл скрипта Automate_Astra01.sh. На скрипт назначаем права, достаточные для запуска командой из консоли:

Код: Выделить всё

sudo chmod ugo+x Desktop/Automate_Astra01.sh

После чего запускаем скрипт на выполнение:

Код: Выделить всё

sudo Desktop/Automate_Astra01.sh

Скрипт начинает работу с того, что создает свою копию с именем aa.sh на рабочем столе и устанавливает на этот скрипт права для возможности его запуска:

Код: Выделить всё

sudo cp Desktop/Automate_Astra01.sh Desktop/aa.sh
sudo chmod ugo+x Desktop/Automate_Astra01.sh
sudo chmod ugo+x Desktop/aa.sh

Далее удаляются первые строки из скопированного скрипта, запускается уже копия скрипта и осуществляется выход из основного скрипта:

Код: Выделить всё

sudo sh -c "sed -i '1,9d' Desktop/aa.sh"
sudo Desktop/aa.sh
exit

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

Примечание: Поскольку удаление выполненных строк из копии скрипта выполняется по счетчику (то есть жёстко прописаны номера удаляемых строк), то ни в коем случае нельзя самостоятельно добавлять/удалять строки в скрипте!!! Либо, при необходимости внесения подобных изменений, учитывать новое количество строк при удалении в конце каждого этапа!


На этом шаге начинается работа первого этапа копии скрипта.

Устанавливаем статический ip-адрес (последний октет задаем в командной строке), маску, шлюз и DNS серверы и указываем, что соединение будет использовать статический адрес:

Код: Выделить всё

read -p "Enter ip address: " ipaddrr
sudo nmcli con mod "Проводное соединение 1" ipv4.address "192.168.0.$ipaddrr/24" ipv4.gateway "192.168.0.1" ipv4.dns "192.168.0.1, 192.168.0.2, 8.8.8.8"
sudo nmcli con mod "Проводное соединение 1" ipv4.method manual

Прописываем в последнюю строку файла hosts внешний адрес сервера администрирования Касперского kasper.ru:

Код: Выделить всё

sudo sh -c "echo '192.168.0.8   kasper.ru' >> /etc/hosts"

Перезапускаем сетевые службы для применения произведенных изменений:

Код: Выделить всё

sudo nmcli con down "Проводное соединение 1" ; nmcli con up "Проводное соединение 1"
sudo systemctl restart NetworkManager

Устанавливаем пакет dos2unix, необходимый для преобразования символов переноса строки из формата DOS в формат UNIX и выполняем тестовое преобразование формата файла Automate_Astra01.sh:

Код: Выделить всё

sudo apt install dos2unix
dos2unix Desktop/Automate_Astra01.sh

Эта операция не является необходимой, но если придется в будущем копировать скрипты из Windows систем, то такую конвертацию выполнять придется. Поэтому ставим пакет на всякий случай.

Скачиваем и устанавливаем пакет AnyDesk:

Код: Выделить всё

sudo wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY | sudo apt-key add -
sudo sh -c 'echo "deb http://deb.anydesk.com/ all main" >> /etc/apt/sources.list.d/anydesk-stable.list'
sudo apt-get update
echo Y | sudo apt-get install anydesk

После окончания установки, при необходимости, можно запустить AnyDesk и выполнить его настройку, в частности настроить неконтролируемый доступ.

Скачиваем, устанавливаем пакет GoogleChrome и копируем заранее созданный файл настроек Preferences в папку профиля GoogleChrome:

Код: Выделить всё

sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
sudo apt-get update
echo Y | sudo apt-get install google-chrome-stable
su user -c '/usr/bin/google-chrome-stable' & sleep 10; sudo pkill -f chrome; sleep 10; su user -c 'mv Desktop/Preferences ~/.config/google-chrome/Default/Preferences'

После окончания установки и перезагрузки компьютера, при необходимости, можно запустить GoogleChrome и выполнить дополнительную его настройку.

Скачиваем и устанавливаем пакет Skype:

Код: Выделить всё

wget https://repo.skype.com/latest/skypeforlinux-64.deb
sudo dpkg -i skypeforlinux-64.deb

Обновляем списки пакетов из репозиториев и запускаем обновление самих пакетов:

Код: Выделить всё

sudo apt-get update
echo Y | sudo apt-get full-upgrade
echo Y | sudo apt-get upgrade
echo Y | sudo apt-get dist-upgrade

На этом первый этап установки заканчивается. Выполняем удаление строк первого этапа из копии скрипта и автоматически перезапускаем компьютер:

Код: Выделить всё

sudo sh -c "sed -i '1,33d' Desktop/aa.sh"
reboot

Второй этап настройки.

Очищаем систему от оставшихся после удаления пакетов зависимостей, очищаем локальный репозиторий от извлеченных файлов пакетов, оставшихся в каталоге, удаляем неиспользуемые пакеты из кэша:

Код: Выделить всё

echo Y | sudo apt-get autoremove
echo Y | sudo apt-get clean
echo Y | sudo apt-get autoclean

Создаем нового пользователя admin с паролем MyPass123, добавляем его в нужные группы и устанавливаем время блокировки учетной записи равным 1200 секунд:

Код: Выделить всё

echo "MyPass123" | adduser admin
usermod -a -G astra-admin,astra-console,root 
sudo sh -c "echo -e 'MyPass123\nMyPass123\n' | passwd admin"
sudo sed -i".bak" "s/per_user deny=8/per_user deny=8 unlock_time=1200/" /etc/pam.d/common-auth

Примечание!!! Важно!!! С конца января 2021 года в синтаксис команд создания пользователя и добавления его в группы разработчиком внесены изменения. Поэтому для новой версии синтаксис команд последнего блока будет следующим:

Код: Выделить всё

echo "security@;" | sudo adduser admin
sudo usermod -a -G astra-admin,astra-console,root admin
sudo sh -c "echo -e 'security@;\nsecurity@;\n' | passwd admin"
sudo sed -i".bak" "s/per_user deny=8/per_user deny=8 unlock_time=1200/" /etc/pam.d/common-auth

Копируем на рабочий стол ярлыки GoogleChrome, Skype, Libreoffice Writer, Libreoffice Calc, Termial Fly:

Код: Выделить всё

sudo cp /home/user/.fly/startmenu/network/google-chrome.desktop /usr/share/applications/flydesktop/google-chrome.desktop
sudo cp /home/user/.fly/startmenu/network/skypeforlinux.desktop /usr/share/applications/flydesktop/skypeforlinux.desktop
sudo cp /home/user/.fly/startmenu/office/libreoffice-writer.desktop /usr/share/applications/flydesktop/libreoffice-writer.desktop
sudo cp /home/user/.fly/startmenu/office/libreoffice-calc.desktop /usr/share/applications/flydesktop/libreoffice-calc.desktop
sudo cp /home/user/.fly/startmenu/systemapps/fly-term.desktop /usr/share/applications/flydesktop/fly-term.desktop

Устанавливаем часовой пояс Asia/Yekaterinburg и запускаем синхронизацию времени:

Код: Выделить всё

sudo timedatectl set-timezone Asia/Yekaterinburg
sudo systemctl start ntp

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

Код: Выделить всё

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
sudo sh -c "sed -i '1,24d' Desktop/aa.sh"
sudo systemctl restart systemd-logind.service

Третий этап настройки.

Устанавливаем пакеты wine и playonlinux:

Код: Выделить всё

sudo apt-get install ia32-libs
echo Y | sudo apt-get install wine
echo Y | sudo apt-get install playonlinux

Изменяем имя компьютера на заданное в командной строке и прописываем его в файл hosts вместо указанного там имени «astra»

Код: Выделить всё

read -p "Enter new computer name?" compname
sudo hostname $compname
sudo hostnamectl set-hostname $compname
sudo sysctl kernel.hostname=$compname
sudo sed -i".bak" "s/astra/$compname/" /etc/hosts

Скачиваем и устанавливаем пакет агента администрирования Касперского:

Код: Выделить всё

wget https://products.s.kaspersky-labs.com/endpoints/keslinux10/11.0.0.2706/multilanguage-INT-11.0.1.2706/3239363337307c44454c7c31/klnagent64_12.0.0-45_amd64.deb
sudo dpkg -i klnagent64_12.0.0-45_amd64.deb
sudo /opt/kaspersky/klnagent64/lib/bin/setup/postinstall.pl

sudo /opt/kaspersky/klnagent64/bin/klnagchk -restart

На этом шаге нам придется вручную пролистать лицензионное соглашение, принять его и указать адрес сервера и, при необходимости, другие параметры, необходимые для работы агента администрирования.
Последней строкой перезапускаем сервис агента Касперского - для того, чтобы он быстрее зарегистрировался на сервере администрирования Касперского.

На этом третий этап заканчивается. Удаляем строки, отвечающие за третий этап, из файла скрипта и завершаем скрипт.

Код: Выделить всё

sudo sh -c "sed -i '1,26d' Desktop/aa.sh"
exit

Теперь заходим в консоль сервера администрирования Касперского, находим в нем новый компьютер, устанавливаем на него антивирус Касперского, лицензионный ключ и запускаем обновление антивирусных баз.


Четвертый этап настройки.

После того как все настроено и проверено, выполняем очистку компьютера от временно сделанных настроек:
Удаляем последнюю строку из файла hosts - в ней прописан временный адрес сервера администрирования Касперского, сбрасываем настройки протокола IPv4 и настраиваем на получение адреса по DHCP:

Код: Выделить всё

sudo sh -c "sed -i '$ d' /etc/hosts"

sudo nmcli con mod "Проводное соединение 1" ipv4.method auto
sudo nmcli connection modify "Проводное соединение 1" ipv4.gateway "" ipv4.address "" -ipv4.dns "192.168.0.7" -ipv4.dns "192.168.0.5" -ipv4.dns "8.8.8.8"

sudo rm Desktop/Automate_Astra01.sh
sudo rm Desktop/aa.sh

На этом настройка завершена и компьютер готов к использованию.



Скрипт целиком смотрим здесь

Код: Выделить всё

######################################## part 1 ########################################
sudo cp Desktop/Automate_Astra01.sh Desktop/aa.sh
sudo chmod ugo+x Desktop/Automate_Astra01.sh
sudo chmod ugo+x Desktop/aa.sh

sudo sh -c "sed -i '1,9d' Desktop/aa.sh"
sudo Desktop/aa.sh
exit

read -p "Enter ip address: " ipaddrr
sudo nmcli con mod "Проводное соединение 1" ipv4.address "192.168.0.$ipaddrr/24" ipv4.gateway "192.168.0.1" ipv4.dns "192.168.0.1, 192.168.0.2, 8.8.8.8"
sudo nmcli con mod "Проводное соединение 1" ipv4.method manual
sudo sh -c "echo '192.168.0.8   kasper.ru' >> /etc/hosts"
sudo nmcli con down "Проводное соединение 1" ; nmcli con up "Проводное соединение 1"
sudo systemctl restart NetworkManager

sudo apt install dos2unix
dos2unix Desktop/Automate_Astra01.sh

#sudo su
sudo wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY | sudo apt-key add -
sudo sh -c 'echo "deb http://deb.anydesk.com/ all main" >> /etc/apt/sources.list.d/anydesk-stable.list'
sudo apt-get update
echo Y | sudo apt-get install anydesk
#Настроить AnyDesk

sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
sudo apt-get update
echo Y | sudo apt-get install google-chrome-stable
su user -c '/usr/bin/google-chrome-stable' & sleep 10; sudo pkill -f chrome; sleep 10; su user -c 'mv Desktop/Preferences ~/.config/google-chrome/Default/Preferences'
#Настроить параметры GoogleChrome

wget https://repo.skype.com/latest/skypeforlinux-64.deb
sudo dpkg -i skypeforlinux-64.deb

sudo apt-get update
echo Y | sudo apt-get full-upgrade
echo Y | sudo apt-get upgrade
echo Y | sudo apt-get dist-upgrade
sudo sh -c "sed -i '1,33d' Desktop/aa.sh"
reboot
######################################## part 2 ########################################
#sudo su
echo Y | sudo apt-get autoremove
echo Y | sudo apt-get clean
echo Y | sudo apt-get autoclean

echo "MyPass123" | adduser admin
usermod -a -G astra-admin,astra-console,root 
sudo sh -c "echo -e 'MyPass123\nMyPass123\n' | passwd admin"
sudo sed -i".bak" "s/per_user deny=8/per_user deny=8 unlock_time=1200/" /etc/pam.d/common-auth

sudo cp /home/user/.fly/startmenu/network/google-chrome.desktop /usr/share/applications/flydesktop/google-chrome.desktop
sudo cp /home/user/.fly/startmenu/network/skypeforlinux.desktop /usr/share/applications/flydesktop/skypeforlinux.desktop
sudo cp /home/user/.fly/startmenu/office/libreoffice-writer.desktop /usr/share/applications/flydesktop/libreoffice-writer.desktop
sudo cp /home/user/.fly/startmenu/office/libreoffice-calc.desktop /usr/share/applications/flydesktop/libreoffice-calc.desktop
sudo cp /home/user/.fly/startmenu/systemapps/fly-term.desktop /usr/share/applications/flydesktop/fly-term.desktop

sudo timedatectl set-timezone Asia/Yekaterinburg
sudo systemctl start ntp

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
sudo sh -c "sed -i '1,24d' Desktop/aa.sh"
sudo systemctl restart systemd-logind.service

######################################## part 3 ########################################

sudo apt-get install ia32-libs
echo Y | sudo apt-get install wine
echo Y | sudo apt-get install playonlinux

read -p "Enter new computer name?" compname
sudo hostname $compname
sudo hostnamectl set-hostname $compname
sudo sysctl kernel.hostname=$compname
sudo sed -i".bak" "s/astra/$compname/" /etc/hosts

wget https://products.s.kaspersky-labs.com/endpoints/keslinux10/11.0.0.2706/multilanguage-INT-11.0.1.2706/3239363337307c44454c7c31/klnagent64_12.0.0-45_amd64.deb
sudo dpkg -i klnagent64_12.0.0-45_amd64.deb
sudo /opt/kaspersky/klnagent64/lib/bin/setup/postinstall.pl

sudo /opt/kaspersky/klnagent64/bin/klnagchk -restart

#Настроить AnyDesk
#Настроить параметры GoogleChrome
#Настроить агент KES - sme74.ru
#Установить и обновить KES

sudo sh -c "sed -i '1,26d' Desktop/aa.sh"
exit
######################################## part 4 ########################################
#Cleaning

sudo sh -c "sed -i '$ d' /etc/hosts"

sudo nmcli con mod "Проводное соединение 1" ipv4.method auto
sudo nmcli connection modify "Проводное соединение 1" ipv4.gateway "" ipv4.address "" -ipv4.dns "192.168.0.1" -ipv4.dns "192.168.0.2" -ipv4.dns "8.8.8.8"

sudo rm Desktop/Automate_Astra01.sh
sudo rm Desktop/aa.sh

exit
sudo nmcli con down "Проводное соединение 1" ; nmcli con up "Проводное соединение 1"
sudo systemctl restart NetworkManager

#sudo apt-cache search skype*

Скачать скрипт в формате UNIX и файл настроек для GoogleChrome в архиве:

Automate_Astra01.zip
(13.36 КБ) 301 скачивание
Аватара пользователя
UncleFather
Site Admin
Сообщения: 1504
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

Полезные команды для Astra Linux (Orel)

Сообщение UncleFather »

Полезные команды для Astra Linux (Orel)

  • dpkg --get-selections | grep -v deinstall - Просмотр списка установленных пакетов;

  • sudo apt install seahorse - Установка графического менеджера паролей и ключей Seahorse (см. Управление паролями и ключами);

  • seahorse - Запуск графической версии пакета Seahorse;

  • sudo rm /var/log/fly-dm/Xorg.0.log.old - удаление резервной копии журнала X сервера. Замечено, что на некоторых системах этот бэкап раздувается до неприличных размеров, что может даже привести к отсутствию места на основном разделе диска, и, как следствие, - к невозможности нормальной работы всей системы.


Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram

Изображение
Изображение
Изображение
Изображение

Ответить