我有一个iptables脚本,我想在启动时运行。
我创build了具有CHMOD 755权限的/etc/rc.d/rc.local文件,这些权限在以前的操作系统上都有效。
Root拥有该文件。
我也有#!/ 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服务 。
创build你的脚本: 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