在开发网络白名单用iptables命令时,会涉及到selinux权限的问题,会让命令失效不起作用
例如:在init.rc中通过监听属性值变化来执行sh 脚本
on property:persist.sys.runstart=1
setprop persist.sys.runstart 0
start runcommandstart
service runcommandstart /system/bin/sh /data/local/command.sh
user root
group root
seclabel u:r:shell :s0
disabled
oneshot
当设置persist.sys.runstart为1时 执行command.sh脚本
command.sh脚本:
#!/system/bin/sh
iptables -F
iptables -t nat -F
ipset flush
iptables -P OUTPUT ACCEPT
ipset -N iplist iphash
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j