linux 动态添加当前ssh客户端ip到firewalld

add.sh

[root@ecs-3287 ~]# cat add.sh
#!/bin/bash
ip=$(echo $SSH_CLIENT |awk '{print $1}')
echo ${ip}
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="${ip}" port protocol="tcp" port="8000" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="${ip}" port protocol="tcp" port="8081" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="${ip}" port protocol="tcp" port="8082" accept"
firewall-cmd --reload


 initFireWalld.sh  可以设置每日0点恢复原有配置

[root@localhost ~]# cat initFireWalld.sh 
cp -rf /etc/firewalld/zones/public.xml.backup /etc/firewalld/zones/public.xml
firewall-cmd --reload

visudo

Defaults    env_reset
Defaults    env_keep =  "COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS"
Defaults    env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults    env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults    env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults    env_keep += "SSH_CLIENT" #增加

...
...
...

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
username  localhost=/usr/bin/firewall-cmd
username  localhost=/home/username/add.sh

最后 再普通用户 执行  sudo  /home/username/add.sh 就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值