使用 sed 安全地更改 CSF-LFD 端口

使用 sed 安全地更改 CSF-LFD 端口

我已经按照描述安装了 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)- 正则表达式交替组,匹配INOUT子字符串
  • \1- 反向引用,引用第一个捕获的组(...)

相关内容