Debian 8 で iptable ルールを保存する際に権限が拒否されました。

Debian 8 で iptable ルールを保存する際に権限が拒否されました。

Debian 8 サーバーでポート 443 を開こうとすると、許可拒否エラーが発生します。

私のRules.v4ファイルは次のとおりです。

# Generated by iptables-save v1.4.21 on Wed Feb 15 14:42:03 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [208710:151335680]
-A INPUT -p icmp -m comment --comment "000 accept all icmp" -j ACCEPT
-A INPUT -i lo -m comment --comment "001 accept all to lo interface" -j ACCEPT
-A INPUT -m comment --comment "002 accept related established rules" -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m multiport --dports 22 -m comment --comment "099 allow ssh access" -j ACCEPT
-A INPUT -p tcp -m multiport --dports 80,443 -m comment --comment "100 allow http and https access" -j ACCEPT
-A INPUT -p tcp -m multiport --dports 1122 -m comment --comment "150 allow phpmyadmin access" -j ACCEPT
-A INPUT -m comment --comment "999 drop all" -j DROP
COMMIT
# Completed on Wed Feb 15 14:42:03 2017

変更後に/etc/iptables/rules.v4保存しようとしています。

sudo iptables-save > /etc/iptables/rules.v4

エラーメッセージが表示されます-bash: /etc/iptables/rules.v4: Permission denied

ファイルが存在するときsudo bash -C "iptables-save > /etc/iptables/rules.v4"i getを試してみました。no such file or directory

私も試しましたtee

sudo tee iptables-save > /etc/iptables/rules.v4

そして

sudo sh -c "iptables-save > /etc/iptables/rules.v4"

これはnetstat -tulnp | grep 443出力を出ません。

答え1

これには、次の2つの権限が含まれています。

  1. 読み取りを許可iptables-save
  2. 書き込み権限/etc/iptables/rules.v4

2番目の必要な権限にはsudoを使用できません。

公開した最後のコマンドが機能するはずです。それ以外の場合は、次のコマンドを使用してルートシェルを削除するように変更-Cします-c

sudo su -

答え2

teeあなたはそれを誤って使用しています。このコマンドはiptables-save何を生成しますか?しなければならない保存され、標準出力に送信されます。このteeコマンドはstdoutを読み取り、iptables-saveそれを指定されたファイルに書き込む必要があります。

ルートシェルを使用せずにパスを保存する正しい方法は、コンテンツをパスにパイプしてiptables-save標準tee出力をファイルに保存することです。

sudo iptables-save | sudo tee /etc/iptables/rules.v4

答え3

私は同じ問題があり、今解決しました。

  1. rule.v4でグループをユーザーに変更する

    sudo chgrp "usergroup" /etc/iptables/rules.v*
    
  2. グループに対する書き込み権限を有効にします。

    sudo chmod 664 /etc/iptables/rules.v*
    
  3. もう一度お試しください

    sudo iptables-save > /etc/iptables/rules.v4
    

これは私にとって有益であり、助けになることを願っています。

関連情報