Skip to content

Документация по BlackArch на русском языке

Инструкции, советы, новые программы

Menu
  • LocalBitcoins
  • Главная
  • Список инструментов
  • HackWare
Menu

Как в Arch Linux / BlackArch добавить программу в автозагрузку

Posted on 13.03.201624.02.2021 by Alexey

Если вы хотите, чтобы какая-то программа или скрипт запускались вместе со стартом системы, то это можно реализовать с помощью systemctl. Этот метод универсален – автозапуск срабатывает и на безголовых серверах, а не только при входе в графическое окружение рабочего стола.

Чтобы добавить скрипт в автозагрузку в Arch Linux и его производных, вам нужно создать в каталоге /etc/systemd/system/ файл определённого содержания. Название файла выберите своё. К примеру, я хочу, чтобы при запуске запускался скрипт, который содержит несколько правил для затруднения DOS-атак. Этот файл размещён по пути /root/firewall.sh

Начинаем с того, что файлу присвоены надлежащие права:

chmod 755 /root/firewall.sh

Убедитесь, что у файла присутствует шебанг #!/bin/bash (или другой соответствующий содержимому файла).

02

Я создаю файл anti-dos.service (название вы можете выбрать своё):

vim /etc/systemd/system/anti-dos.service

Содержимое моего файла

[Unit]
Description=Начальная анти DOS-защита.

[Service]
ExecStart=/root/firewall.sh

[Install]
WantedBy=multi-user.target

03

Здесь

  • Description=Начальная анти DOS-защита. – это описание, замените описание на своё.
  • ExecStart=/root/firewall.sh – указан полный путь до файла, который я хочу добавить в автозагрузку.

Не пишите что-то вроде ExecStart=/bin/sh /path/to/script.sh, поскольку это не будет работать. Если вы действительно хотите указать интерпретатор и скрипт, то используйте конструкцию вида:

/usr/bin/bash -c 'ИНТЕРПРЕТАТОР /ПУТЬ/ДО/СКРИПТА'

Например:

/usr/bin/bash -c 'php /root/bin/translator.php'

Пример файла с использованием этой конструкции


[Unit]
Description=Запуск переводчика.
 
[Service]
ExecStart=/usr/bin/bash -c 'php /root/bin/translator.php'
 
[Install]
WantedBy=multi-user.target
  • WantedBy=multi-user.target – означает, что автозапуск сделан для всех пользователей.

Чтобы запустить службу выполните команду (название anti-dos.service поменяйте на название своего файла):

systemctl start anti-dos.service

Для проверки статуса службы:

systemctl status anti-dos.service

Чтобы включить автозапуск нужно сделать так (название anti-dos.service поменяйте на название своего файла):

systemctl enable anti-dos.service

Создание ссылки говорит о том, что добавление в автозапуск сработало:

04

Для проверки давайте перезагрузим сервер ))

05

Скриншот выше показывает, что всё отработало штатно. Тот факт, что процесс показан как умерший, в моём случае, является нормальным. Поскольку я добавил в автозапуск не службу, а одноразовый скрипт.

Чтобы уже совсем убедиться, что настройки файервола вступили в силу, я набираю:

iptables --list

06

Да, мои правила файервола на месте.

Также можно найти свой автозапускаемый файл в списке всего, что добавлено в автозагрузку:

systemctl list-unit-files

После редактирования файлов с расширением .service, чтобы изменения вступили в силу, вам нужно выполнить команду:

systemctl daemon-reload

Близкие статьи

  • Включение функциональности /etc/rc.local в Arch Linux (75.9%)
  • Работа с дисками в BlackArch (монтирование, решение проблем) (51.8%)
  • Графический интерфейс и цветной вывод pacman (51.8%)
  • Как настроить Bluetooth на Arch Linux / BlackArch (51.8%)
  • Решение проблемы с отсутствие сети из-за Dependency failed (51.8%)
  • Решение проблемы с неожиданным резким замедлением Arch Linux (RANDOM - 50%)

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo


Поиск


Свежие записи

  • Ошибка «error: failed to commit transaction (invalid or corrupted package)» (РЕШЕНО)
  • Ошибка «TypeError: ‘AURPackageInfo’ does not have attribute ‘submitter’» (РЕШЕНО)
  • Ошибка phpMyAdmin «Error: Undefined constant «SODIUM_CRYPTO_SECRETBOX_KEYBYTES»» (РЕШЕНО)
  • Ошибка «error: GPGME error: No data. error: failed to synchronize all databases (unexpected error)» (РЕШЕНО)
  • Как в Arch Linux перейти к предыдущей версии ядра. Как установить и переключиться на linux-lts

Свежие комментарии

  • Vova к записи Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch
  • Furi к записи Приложение в .AppImage не запускается в Arch Linux (РЕШЕНО)
  • Alexey к записи Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch
  • Юрок к записи Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch
  • Aleksandr к записи Ошибка error: failed to synchronize all databases (unable to lock database) (РЕШЕНО)




Рубрики

  • Sniffing и Spoofing
  • Архив
  • Взлом Wi-Fi сетей
  • Инструкции
  • Новости
  • Общая информация/новости
  • Разведка
  • Справка и подсказки




Яндекс.Метрика
© 2023 Документация по BlackArch на русском языке | Powered by Minimalist Blog WordPress Theme