我已经按照描述安装了 CSF-LFD这里。在/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
文件很大并且可能具有巨大的更改潜力,可能有一个更好的方法。
答案1
只需通过一次即可完成sed
:
sed -Ei 's/^(TCP_(IN|OUT) = ).*/\1"22, 80, 443, 9000"/' /etc/csf/csf.conf
(IN|OUT)
- 正则表达式交替组,匹配IN
或OUT
子字符串\1
- 反向引用,引用第一个捕获的组(...)