我安装了CSF,正如所描述的这里。在/etc/csf/csf.conf中,有这两个代码块:
# Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2077,2078,2079,2080,2082,2083,2086,2087,2095,2096"
# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,37,43,53,80,110,113,443,587,873,993,995,2086,2087,2089,2703"我需要将两个端口组更改为"22, 80, 443, 9000",以确保我的Nginx服务器环境只允许从这些端口输入数据。
用sed做这件事最好、最安全的方法是什么?
我认为这是一个好办法:
sed -i 's/^TCP_IN = .*/TCP_IN = "22, 80, 443, 9000"/' /etc/csf/csf.conf
sed -i 's/^TCP_OUT = .*/TCP_OUT = "22, 80, 443, 9000"/' /etc/csf/csf.conf然而,考虑到csf.conf是一个巨大的文件,并且可能有巨大的变化潜力,也许还有一个更好的方法。
发布于 2018-01-09 07:33:56
可以用sed进行一次传递:
sed -Ei 's/^(TCP_(IN|OUT) = ).*/\1"22, 80, 443, 9000"/' /etc/csf/csf.conf(IN|OUT) - regex交替组,匹配IN或OUT子字符串。\1 -反向引用,引用第一个捕获的组(...)https://unix.stackexchange.com/questions/415727
复制相似问题