Использование сценариев запуска в Linux

Использование сценариев запуска в Linux

Очень часто у нас есть процессы в Linux, которые мы хотим всегда запускать в фоновом режиме при запуске. Это будут процессы, которые нам нужно запускать при загрузке и всегда быть для нас доступными. Если мы используем дистрибутив Linux с GUI (графическим пользовательским интерфейсом), например Kali или Ubuntu, нам нужно, чтобы процесс X11 был запущен постоянно. Если мы используем Linux в качестве веб-сервера, мы, вероятно, всегда хотим, чтобы Apache и, возможно, MySQL запускались при загрузке и всегда работали. В даной статье рассмотрим использование сценариев запуска в Linux.

Процесс загрузки Linux

Для начала нам нужно изучить процесс загрузки Linux. В Linux процесс загрузки начинается с BIOS (базовая система ввода-вывода), затем MBR (основная загрузочная запись) выполняет GRUB (GRand Unified Bootloader), затем ядро ​​выполняет инициализацию (инициализацию или первый процесс), и затем, наконец, программа уровня запуска выполняется из /etc/rc.d.

Использование сценариев запуска в Linux

Как вы, наверное, уже знаете, Linux можно запускать на нескольких уровнях запуска, а именно:

      • 0 — остановить систему
      • 1 — однопользовательский режим (минимум сервисов)
      • 2 — многопользовательские режимы
      • 3 — многопользовательский режим
      • 4 — многопользовательский режим
      • 5 — многопользовательский режим
      • 6 — перезагрузить систему

Наша Kali, будучи дистрибутивом Linux на основе Debian, обычно загружается на уровне выполнения 2.

Процесс Init.d

Init — самый первый процесс. Это предок всех процессов Linux и всегда имеет идентификатор процесса 1. Как вы можете видеть на снимке экрана ниже, init имеет PID 1.

kali > ps aux | grep init

Использование сценариев запуска в Linux

Затем этот процесс инициализации передает процессы загрузки демону rc.d.

Здесь важно отметить, что разные дистрибутивы Linux немного по-разному обрабатывают процесс запуска демона. Как правило, все они используют процесс инициализации в качестве первого процесса, но то, как они переходят к сценариям запуска, немного отличается. В этом случае мы будем смотреть конкретно на нашу Kali Linux, которая использует ту же процедуру, что и другие системы Linux на основе Debian.

Список каталога init.d

Теперь, когда у нас есть общее представление о процессе загрузки в Linux, давайте посмотрим, сможем ли мы добавить Snort к процессу загрузки в нашей Kali.

kali > cd /etc/init.d
kali > ls -l

Использование сценариев запуска в Linux

Как видите, это файлы, которые могут быть запущены init при загрузке. Обратите внимание, например, на apache2. Если мы пройдем немного дальше по странице, мы должны найти rc.local.

Открытие rc.local с помощью текстового редактора.

Теперь давайте откроем в любом текстовом редакторе rc.local, который содержит скрипт для запуска необходимых процессов в фоновом режиме при загрузке системы. Я буду использовать Leafpad здесь.

kali > leafpad /etc/init.d/rc.local

Установка Snort

Теперь мы посмотрим, сможем ли мы использовать то, что узнали, чтобы заставить Snort IDS всегда запускаться при загрузке. Если Snort еще не установлен, сделайте это сейчас. Для этого вы можете ввести:

kali > ls -l

Как видите, Snort поместил сценарий запуска в каталог /etc/init.d. Теперь все, что нам нужно сделать, это выполнять этот скрипт каждый раз при запуске системы.

Если вы скомпилировали Snort из исходного кода, у вас может не быть этого скрипта. В этом случае просто создайте файл с именем «snort» и сохраните его в каталоге /etc/init.d. В этом файле поместите команду для запуска Snort, например:

/usr/sbin/snort -D -c /etc/snort/snort.conf -l /var/log/snort

Убедитесь, что у этого скрипта есть права на выполнение (755).

Strat Snort от rc.local

Есть много способов заставить скрипт запускаться при запуске, но, вероятно, самым простым является использование файла rc.local. Как мы видели выше, файл rc.local содержит скрипт для запуска различных служб при загрузке. Теперь все, что нам нужно сделать, это добавить в этот файл команды для запуска Snort.

Давайте откроем этот файл с помощью Leafpad и добавим две строки в конец файла: [1] убедитесь, что правильный интерфейс включен и находится в неразборчивом режиме (ifconfig eth0 up -arp) и [2] выполните скрипт, который пакет Snort помещается в каталог init.d (/etc/init.d/snort start).

Теперь при каждом запуске вашей системы Snort всегда будет запускаться в фоновом режиме. Давайте проверим это. Перезагрузите свою систему Kali и посмотрим, запустится ли Snort автоматически.

Теперь, когда наша система перезагрузилась, давайте проверим, работает ли Snort, набрав:

kali > ps aux | grep snort

Теперь наша сеть всегда защищена Snort, когда бы мы ни запускали нашу систему.

Заключение

В этом руководстве мы рассмотрели, как Linux запускает процессы при загрузке, и настроили Snort, наиболее широко используемую в мире IDS (систему обнаружения вторжений), для автоматического запуска при загрузке, чтобы она была доступна для защиты нашей сети без какого-либо взаимодействия с пользователем.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Click to rate this post!
[Total: 0 Average: 0]

Leave a reply:

Your email address will not be published.