我是用户bob,我启动了进程script.sh
。我想阻止script.sh向IP X.X.X.X发出的出站请求。
bob不是root。机器人无法获得根。
我已尝试使用
进行iptablesiptables -A INPUT -s X.X.X.X -j DROP && service iptables save
但我明白了:
iptables v1.4.21: can't initialize iptables table `filter': Permission denied (you must be root)
更多背景信息:
我正在开发具有多个数据库和系统的开发环境。我正在编写一些测试来尝试模拟其中一个系统之间的连接被切断(然后重新连接)。如果他们不必,我不想让我的测试以root身份运行...
答案 0 :(得分:1)
我建议设置一个非常有限的权限提升机制,以允许运行测试的用户调用tcpkill
。
例如,在/etc/sudoers
中,您可能会遇到以下情况:
# allow tcpkill to be run under sudo by scripts
Defaults!/usr/sbin/tcpkill !requiretty
# allow testuser to invoke /usr/sbin/tcpkill for IP address 1.2.3.4
testuser: ALL = (root) NOPASSWD: /usr/sbin/tcpkill host 1.2.3.4