Автор Тема: Автозагрузка скрипта [Решено]  (Прочитано 6377 раз)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 368
Re: Автозагрузка скрипта
« Ответ #15 : 18.08.2016 12:55:53 »
systemd не знает, что надо делать с rc.local, если в начале не написано что-то вроде "#!/bin/sh".
но в начале написано #!/bin/sh
А флаг "исполняемый" есть ? Если есть, точно должно работать. Правда, вероятно, ещё нужен пакет systemd-sysvinit, он стоит ?

Оффлайн ssezya

  • Участник
  • *
  • Сообщений: 163
Re: Автозагрузка скрипта
« Ответ #16 : 18.08.2016 13:14:21 »
в rc.local не работает команда:
#!/bin/sh
sh /etc/net/ifaces/eth0/rules
exit 0
но работают команды:
#!/bin/sh
iptables -P INPUT DROP
iptables -P FORWARD DROP
exit 0

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Автозагрузка скрипта
« Ответ #17 : 18.08.2016 13:15:20 »
sh /etc/net/ifaces/eth0/rules
А с чего она должна работать?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Автозагрузка скрипта
« Ответ #18 : 18.08.2016 13:15:55 »
Читайте внимательней.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Автозагрузка скрипта
« Ответ #19 : 18.08.2016 13:17:50 »
Правила в etcnet кладутся в  /etc/net/ifaces/default/fw/iptables/...

Оффлайн ssezya

  • Участник
  • *
  • Сообщений: 163
Re: Автозагрузка скрипта
« Ответ #20 : 18.08.2016 13:27:07 »
в свою очередь файл rules получается от выполнения команды:
# iptables-save > /etc/net/ifaces/eth0/rules
код которого потом вставляется ссылкой в некий файл - restore_rules, содержание которого такое:
#!/bin/sh
iptables-restore < /etc/net/ifaces/eth0/rules

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Автозагрузка скрипта
« Ответ #21 : 18.08.2016 13:29:18 »
/etc/net/ifaces/eth0/rules
Странный путь.

Оффлайн ssezya

  • Участник
  • *
  • Сообщений: 163
Re: Автозагрузка скрипта
« Ответ #22 : 18.08.2016 13:45:10 »
Странный путь.
в принципе путь не так и важен, важно почему не работает скрипт через указание файла в rc.local таким способом: sh /путь.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Автозагрузка скрипта
« Ответ #23 : 18.08.2016 14:02:34 »
А с чего он должен работать? Если rules надо давать на вход iptables-restore. А не башу скармливать.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 368
Re: Автозагрузка скрипта
« Ответ #24 : 18.08.2016 14:23:24 »
sh /etc/net/ifaces/eth0/rules
А с чего она должна работать?
А почему не должна ?

Оффлайн ssezya

  • Участник
  • *
  • Сообщений: 163
Re: Автозагрузка скрипта
« Ответ #25 : 18.08.2016 14:24:50 »
А с чего он должен работать? Если rules надо давать на вход iptables-restore. А не башу скармливать.
дак при выполнении:# ./rc.localвсе нормально срабатывает!

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 368
Re: Автозагрузка скрипта
« Ответ #26 : 18.08.2016 14:25:07 »
в rc.local не работает команда:
#!/bin/sh
sh /etc/net/ifaces/eth0/rules
exit 0
/etc/net/ifaces/eth0/rules - это скрипт ? Должно работать тогда. Но так делать не стоит, лучше просто переименовать rules в ifup-post и сделать его исполняемым. etcnet дёрнет его самостоятельно по ifup.

Оффлайн ssezya

  • Участник
  • *
  • Сообщений: 163
Re: Автозагрузка скрипта
« Ответ #27 : 18.08.2016 14:34:10 »
/etc/net/ifaces/eth0/rules - это скрипт ?
rules - это не скрипт, а просто выхлоп из команды:iptables-save > /etc/net/ifaces/eth0/rulesа потом в СКРИПТЕ с #!/bin/sh - restore_rules, выполняется следующая команда:iptables-restore < /etc/net/ifaces/eth0/rulesи затем уже в rc.local пытаюсь вызвать этот скрипт командой:sh /путь/restore_rulesкак то так все происходит, но при автозагрузке не работает, а просто при выполнении работает

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Автозагрузка скрипта
« Ответ #28 : 18.08.2016 14:51:09 »
Надо iptsbles-restore в rc.local поместить, или в ifup-post

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 368
Re: Автозагрузка скрипта
« Ответ #29 : 18.08.2016 15:11:22 »
/etc/net/ifaces/eth0/rules - это скрипт ?
rules - это не скрипт, а просто выхлоп из команды:iptables-save > /etc/net/ifaces/eth0/rules
Тогда Руслан прав, sh /etc/net/ifaces/eth0/rules не может работать. Или имелся ввиду именно restore_rules ?
но при автозагрузке не работает, а просто при выполнении работает
Тогда идея только такая: в restore_rules используются утилиты, пути к которым не содержаться в PATH в момент загрузки, но уже содержаться у пользователя. Надо полный путь везде прописать в restore_rules, или PATH в начале скрипта дописать.