You are here: Home » Справка и подсказки » Как в Arch Linux / BlackArch добавить программу в автозагрузку

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

Если вы хотите, чтобы какая-то программа или скрипт запускались вместе со стартом системы, то это можно реализовать с помощью 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, поскольку это не будет работать.

  • WantedBy=multi-user.target – означает, что автозапуск сделан для всех пользователей.

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

systemctl enable anti-dos.service

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

04

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

05

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

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

iptables --list

06

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

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

systemctl list-unit-files

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

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