ホームルータで動作する組み込みLinuxファームウェアがあります。ターミナルからrootで次のコマンドを1つずつ実行すると、エラーなく動作し、私の目的に役立ちます。私はこれが安全な方針ではないことを知っています。これは何かをテストすることだけです。bashスクリプトを使用してiptableエントリを変更するにはどうすればよいですか?
しかしiptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -X
iptables -A INPUT -p tcp -i eth1 --dport 4444 -j ACCEPT
、これは
#!/bin/bash
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -X
iptables -A INPUT -p tcp -i eth1 --dport 4444 -j ACCEPT
、以下のようにrootとしてbashスクリプトで実行される場合には、次のエラーを与える:
iptables: Bad policy name. Run `dmesg' for more information.
iptables: Bad policy name. Run `dmesg' for more information.
iptables: Bad policy name. Run `dmesg' for more information.
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
私は最後の行ことを確認していますbashスクリプトはエラーなく実行され、エントリはiptablesで見ることができます。しかし、他のすべての行はエラーを投げます。私は間違って何をしていますか?驚いたことに、同じバッチスクリプトが私のUbuntuマシンで正常に動作します。
root権限でシェルスクリプトをどのように実行しましたか?あなたはそれをどのように呼び出すのか教えていただけますか? – Inian
ルーターには、既定の資格情報で実行されているTelnetサービスが付属していました。 –