Гайд по установке и запуску скрипта через терминал в Astra Linux / ALT Linux 8 с правами root
1. Подготовка: зайдите в систему и откройте терминал
Откройте терминал:
- через меню: Терминал;
- или сочетание клавиш может быть
Ctrl + Alt + T, если настроено; - или нажмите
Alt + F2, введитеxterm/terminal.
2. Получите права администратора
В Linux обычно не рекомендуется постоянно работать под root. Лучше использовать sudo.
Проверьте, есть ли у вашего пользователя права sudo:
sudo whoami
Если система запросит пароль и выведет root, значит всё в порядке.
Получить root-оболочку можно так:
sudo -i
или:
su -
Если используется su -, введите пароль root.
Выйти из root-режима:
exit
3. Перейдите в каталог, куда будете устанавливать скрипт
Обычно для вручную установленных программ используют:
cd /opt
или:
cd /usr/local/bin
Рекомендую для скриптов использовать отдельный каталог, например:
mkdir -p /opt/myscript
cd /opt/myscript
4. Скопируйте или скачайте скрипт
Вариант 1: скрипт уже лежит локально
Например, он в каталоге загрузок:
cp ~/Downloads/script.sh /opt/myscript/
Проверьте файл:
ls -l /opt/myscript/
Вариант 2: скачать скрипт через wget или curl
Если установлен wget:
wget https://example.com/script.sh
Если установлен curl:
curl -LO https://example.com/script.sh
Обязательно проверяйте, откуда скачиваете файл.
5. Проверьте содержимое скрипта перед запуском
Это очень важный шаг. Не запускайте скрипт, не посмотрев его содержимое.
less script.sh
Выход из просмотра: клавиша q.
Или:
cat script.sh
Или:
nano script.sh
Если файл большой, лучше использовать:
head -n 50 script.sh
или:
tail -n 50 script.sh
6. Проверьте контрольную сумму, если она есть
Если разработчик предоставил SHA256-сумму, проверьте её:
sha256sum script.sh
Сравните полученную строку с контрольной суммой из источника.
Если есть файл script.sh.sha256, можно проверить так:
sha256sum -c script.sh.sha256
7. Сделайте скрипт исполняемым
Скрипт должен иметь право на выполнение:
chmod +x script.sh
Более безопасный вариант для root-скрипта:
chown root:root script.sh
chmod 755 script.sh
или, если нужно, чтобы читать и выполнять могли только root:
chmod 750 script.sh
Проверка:
ls -l script.sh
Пример нормального вывода:
-rwxr-xr-x 1 root root 12345 script.sh
8. Запустите скрипт
Если скрипт лежит в текущем каталоге:
./script.sh
Если система не даёт выполнить файл, можно запустить явно через bash:
bash script.sh
Если скрипт требует права администратора:
sudo ./script.sh
или, если вы уже под root:
./script.sh
9. Установите зависимости, если скрипт этого требует
В Astra Linux / ALT Linux обычно используется пакетный менеджер apt / apt-get.
Обновите список пакетов:
sudo apt update
или:
sudo apt-get update
Установка пакета:
sudo apt install имя_пакета
Например:
sudo apt install curl
или:
sudo apt install python3
Для ALT Linux часто подходят те же команды:
sudo apt-get update
sudo apt-get install имя_пакета
10. Если скрипт нужно поместить в системный PATH
Если скрипт должен запускаться из любого места как команда, его можно установить в:
/usr/local/bin
Пример:
cp script.sh /usr/local/bin/myscript
chown root:root /usr/local/bin/myscript
chmod 755 /usr/local/bin/myscript
После этого можно запускать просто:
myscript
Без указания полного пути.
Проверить, где находится команда:
which myscript
11. Проверка результата установки
Если скрипт что-то устанавливает, проверьте:
which программа
или:
program --version
или:
program -v
Если это сервис:
systemctl status имя_сервиса
12. Настройка скрипта как системного сервиса через systemd
Если скрипт должен работать постоянно или запускаться при загрузке системы, лучше оформить его как systemd-сервис.
Создайте файл сервиса:
sudo nano /etc/systemd/system/myscript.service
Вставьте шаблон:
[Unit]
Description=My custom script
After=network.target
[Service]
Type=simple
ExecStart=/opt/myscript/script.sh
Restart=on-failure
RestartSec=5
User=root
[Install]
WantedBy=multi-user.target
Сохраните файл:
- в
nano:Ctrl + O, затемEnter; - выход:
Ctrl + X.
Перечитайте конфигурацию systemd:
sudo systemctl daemon-reload
Включите автозапуск:
sudo systemctl enable myscript
Запустите сервис сейчас:
sudo systemctl start myscript
Проверьте статус:
sudo systemctl status myscript
Остановка:
sudo systemctl stop myscript
Перезапуск:
sudo systemctl restart myscript
Просмотр логов:
journalctl -u myscript -f
или последние строки:
journalctl -u myscript -n 50
13. Безопасный вариант: запускать скрипт не от root
Если скрипту не обязательно нужен root, лучше создать отдельного пользователя:
sudo useradd -r -s /usr/sbin/nologin myscriptuser
Или:
sudo useradd -r -s /bin/false myscriptuser
Назначьте владельца:
sudo chown -R myscriptuser:myscriptuser /opt/myscript
В сервисе укажите:
User=myscriptuser
Group=myscriptuser
Это безопаснее, чем запускать всё от root.
14. Особенности Astra Linux
В Astra Linux могут быть включены дополнительные механизмы безопасности:
- мандатное управление доступом;
- замкнутая программная среда;
- контроль целостности;
- политики безопасности;
- ограничения на запуск недоверенных скриптов.
Если у вас Astra Linux Special Edition / защищённая конфигурация:
- Убедитесь, что скрипт доверенный.
- Проверьте его источник и контрольную сумму.
- Не отключайте механизмы защиты без необходимости.
- Если система не даёт запустить скрипт, причина может быть в политиках безопасности, мандатных метках или настройках исполнения.
- Для административной установки может потребоваться не просто
sudo, а сеанс/роль администратора безопасности или выполнение по правилам вашей организации.
Если видите ошибки вроде:
Permission denied
или:
Operation not permitted
проверьте:
ls -l script.sh
и права на каталог:
ls -ld /opt/myscript
15. Частые ошибки и решения
Ошибка: Permission denied
Решение:
chmod +x script.sh
или запуск через:
bash script.sh
или с sudo:
sudo ./script.sh
Ошибка: No such file or directory
Вы находитесь не в том каталоге.
Проверьте текущий каталог:
pwd
Посмотрите файлы:
ls -l
Перейдите в нужный каталог:
cd /opt/myscript
Ошибка: command not found
Команда не установлена.
Например:
wget: command not found
Установите:
sudo apt update
sudo apt install wget
или:
sudo apt-get install wget
Ошибка: bad interpreter
Иногда скрипт написан для другого окружения.
Посмотрите первую строку:
head -n 1 script.sh
Если там:
#!/bin/bash
значит нужен bash.
Проверить bash:
which bash
Если там:
#!/usr/bin/python3
Установите Python:
sudo apt install python3
Ошибка: script.sh: line 1: $'\r': command not found
Файл может быть сохранён в Windows-формате.
Нужно конвертировать:
sudo apt install dos2unix
dos2unix script.sh
или:
sed -i 's/\r$//' script.sh
Ошибка: сервис не запускается
Проверьте статус:
sudo systemctl status myscript
Логи:
journalctl -u myscript -n 100
Проверьте синтаксис сервиса:
sudo systemctl daemon-reload
sudo systemctl reset-failed
16. Полный пример установки скрипта
Допустим, файл называется myscript.sh.
sudo -i
mkdir -p /opt/myscript
cd /opt/myscript
cp /root/Downloads/myscript.sh .
less myscript.sh
chown root:root myscript.sh
chmod 755 myscript.sh
./myscript.sh
Если нужно сделать командой:
cp myscript.sh /usr/local/bin/myscript
chown root:root /usr/local/bin/myscript
chmod 755 /usr/local/bin/myscript
myscript
17. Минимальный безопасный порядок действий
Коротко, как лучше делать:
sudo apt update
mkdir -p /opt/myscript
cd /opt/myscript
cp ~/Downloads/script.sh .
less script.sh
chmod +x script.sh
sudo ./script.sh
Если скрипт должен работать как сервис:
sudo nano /etc/systemd/system/myscript.service
sudo systemctl daemon-reload
sudo systemctl enable --now myscript
sudo systemctl status myscript
18. Примечание про ALT Linux 8
Если у вас именно ALT Linux 8, а не Astra Linux, основной порядок тот же.
Для установки пакетов чаще используйте:
sudo apt-get update
sudo apt-get install package_name
Для поиска пакета:
apt-cache search package_name
Информация о пакете:
apt-cache show package_name
Проверка установленного пакета:
rpm -qa | grep package_name
В остальном: chmod, chown, systemctl, journalctl работают аналогично.
19. Итоговый чек-лист
Перед запуском скрипта убедитесь:
- вы знаете, откуда скачан скрипт;
- вы прочитали содержимое скрипта;
- контрольная сумма совпадает;
- скрипт не содержит подозрительных команд;
- у файла правильные права;
- установлены нужные зависимости;
- для постоянной работы создан systemd-сервис;
- логи сервиса читаются без ошибок;
- на Astra Linux с усиленной политикой безопасности соблюдены требования вашей организации.
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.