我需要知道如何修复丢失的“/etc/init.d/ufw”文件,它是某个包还是某个命令?
我使用gufw
来启用它,但在重新启动时我的防火墙仍然关闭...
我创建了一个符号链接,/etc/init.d/ufw -> /lib/init/upstart-job
但我无法让它像start ufw
(重新启动后)一样工作。
我找到了这个文件/lib/ufw/ufw-init
,它看起来像一个 init.d 文件!我可以在那里复制或符号链接吗?
附加(可选)问题:
如何查找具有该文件的包?apt-cache search
没有用..
我们可以安全地创建这样的脚本吗?
知道为什么会丢失吗?
观察:
我/etc/ufw/ufw.conf
有ENABLED=yes
(但似乎没用)。
iptables -L
在 I 之后变得不同ufw enable
,因此 ufw 规则不会通过任何其他方式应用于启动。
PS.:这个脚本也不起作用
sudo ln -s /lib/ufw/ufw-init /usr/sbin/ufw-init
sudo ln -s /lib/init/upstart-job /etc/init.d/ufw-init
#sudo update-rc.d -f ufw-init remove
sudo update-rc.d ufw-init defaults 99
sudo -k
Run Code Online (Sandbox Code Playgroud)
[首先检查这一点(当我有时间时我会验证它),正确配置 ufw 可能是最好的选择,这里的答案只是一个后备。]
exec 2> /tmp/rc.local.log # send stderr from rc.local to a log file
exec 1>&2 # send stdout to the same log file
#set -x # tell sh to display commands before execution
# this wont exit until successful!
while ! ufw enable;do
if ufw status |grep "Status: active";then
break
fi
echo "Failed to apply ufw rules at `date`" >>/dev/stderr;
sleep 10;
done
Run Code Online (Sandbox Code Playgroud)
之前/etc/rc.local
,exit 0
现在它可以在启动时正确加载 ufw 规则!
但这是用户的解决方法,而不是对系统的修复......
我还选择“更改”规则,而不是按照此答案的建议将它们应用为默认规则,因为我不完全确定我的自定义规则不会出现问题。
重要提示:“if”代码一次不起作用,所以我创建了“while”代码,到目前为止还没有造成麻烦。
也许是你的路错了。不比/etc/init.d/wfw
/etc/init/ufw.conf
我ufw
在以下位置有名称为 的文件
xxx@xxx ~/xxx $ sudo find / -name ufw*
[sudo] password for xxx:
/lib/ufw
/lib/ufw/ufw-init-functions
/lib/ufw/ufw-init
/etc/bash_completion.d/ufw
/etc/default/ufw
/etc/init/ufw.conf
/etc/logrotate.d/ufw
/etc/ufw
/etc/ufw/ufw.conf
/usr/lib/python3/dist-packages/ufw-0.33_0ubuntu4.egg-info
/usr/lib/python3/dist-packages/ufw
/usr/share/doc/ufw
/usr/share/man/man8/ufw-framework.8.gz
/usr/share/man/man8/ufw.8.gz
/usr/share/locale-langpack/en_CA/LC_MESSAGES/ufw.mo
/usr/share/locale-langpack/en_GB/LC_MESSAGES/ufw.mo
/usr/share/locale-langpack/en_AU/LC_MESSAGES/ufw.mo
/usr/share/lintian/overrides/ufw
/usr/share/ufw
/usr/share/ufw/ufw.conf
/usr/share/icons/Mint-X/apps/22/ufw-frontends.png
/usr/share/icons/Mint-X/apps/48/ufw-frontends.png
/usr/share/icons/Mint-X/apps/32/ufw-frontends.png
/usr/share/icons/Mint-X/apps/16/ufw-frontends.png
/usr/share/icons/Mint-X/apps/24/ufw-frontends.png
/usr/share/icons/Mint-X/apps/scalable/ufw-frontends.svg
/usr/sbin/ufw
/var/lib/dpkg/info/ufw.md5sums
/var/lib/dpkg/info/ufw.postinst
/var/lib/dpkg/info/ufw.list
/var/lib/dpkg/info/ufw.prerm
/var/lib/dpkg/info/ufw.conffiles
/var/lib/dpkg/info/ufw.templates
/var/lib/dpkg/info/ufw.config
/var/lib/dpkg/info/ufw.preinst
/var/lib/dpkg/info/ufw.postrm
/var/lib/dpkg/info/ufw.triggers
/var/log/ufw.log.4.gz
/var/log/ufw.log.2.gz
/var/log/ufw.log.1
/var/log/ufw.log
/var/log/ufw.log.3.gz
Run Code Online (Sandbox Code Playgroud)
初始化文件的输出
cat /etc/init/ufw.conf
# ufw - Uncomplicated Firewall
#
# The Uncomplicated Firewall is a front-end for iptables, to make managing a
# Netfilter firewall easier.
description "Uncomplicated firewall"
# Make sure we start before an interface receives traffic
start on (starting network-interface
or starting network-manager
or starting networking)
stop on runlevel [!023456]
console output
pre-start exec /lib/ufw/ufw-init start quiet
post-stop exec /lib/ufw/ufw-init stop
Run Code Online (Sandbox Code Playgroud)
编辑1
xxx@xxx ~ $ sudo ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
69 ALLOW Anywhere
22 ALLOW Anywhere (v6)
69 ALLOW Anywhere (v6)
Run Code Online (Sandbox Code Playgroud)