Назад | Перейти на главную страницу

rc.local не работает в Fedora 23

У меня есть сценарий iptables, который я хочу запустить при загрузке.
Я создал файл /etc/rc.d/rc.local с разрешениями CHMOD 755, которые работали в предыдущих операционных системах.
Корень владеет файлом.
У меня также есть #! / Bin / bash в качестве первой строки.
Я также пробовал #! / Bin / sh
Я также добавил 5-секундный сон, думая, что, возможно, что-то нужно закончить.
Я временно отключил selinux, чтобы устранить причину.
Файл rc.local выглядит так:

#!/bin/bash  
sleep 5  
/usr/local/sbin/miniptables 

Файл miniptables также принадлежит пользователю root, chmod 755, начинается с #! / Bin / bash, содержит некоторые команды iptables и работал на сотнях серверов.
Что мне не хватает?
Заранее спасибо.

В /etc/rc.d/rc.local по умолчанию файл не имеет разрешений на выполнение, поэтому установите его исполняемым файлом:

# chmod +x /etc/rc.d/rc.local

Кроме того, файл не запускается, если systemd rc-local служба включена, но по умолчанию отключена. Итак, вам нужно включить (и запустить) его:

# systemctl start rc-local
# systemctl enable rc-local

Для систем systemd обычно лучше напишите свой собственный сервис systemd.

Создайте свой сценарий: vim /etc/rc.d/rc.local

Пример сценария:

#!/bin/bash
echo "test script"

Сделать скрипт исполняемым: chmod +x /etc/rc.d/rc.local
Исправить контекст SELinux: restorecon -v /etc/rc.d/rc.local

Включить и запустить службу:

systemctl enable rc-local.service
systemctl start rc-local.service
systemctl status rc-local.service