bash:iptables:コマンドが見つかりません


14

iptables: command not foundDebian 7.6で発生した問題を修正するにはどうすればよいですか?

batman@gotham:~$ uname -a
Linux gotham 3.14-0.bpo.2-amd64 #1 SMP Debian 3.14.13-2~bpo70+1 (2014-07-31) x86_64 GNU/Linux
batman@gotham:~$ iptables -L
bash: iptables: command not found
batman@gotham:~$ sudo apt-get install iptables
[sudo] password for batman: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
iptables is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
batman@gotham:~$

私は広範囲にグーグルで調べましたが、ほとんどの答えは2005年と2009年に遡るCentOSとFedoraに対するものでした。


の出力はecho $PATH何ですか?
Braiam 14

1
iptablesはあなたの中にあるはずですPATHので、sudoあなたが行方不明です。
バレンティンバジラミ14

回答:


14

このiptablesコマンドは、他のユーザーとしてではなく、rootとしてのみ有効に実行できます。そのため、root以外のユーザーのデフォルトのコマンド検索パスにはありません。

を実行するにはiptables、次のいずれかのコマンドを使用して、rootとして実行します。

su 'iptables --some-option …'
sudo iptables --some-option …

実行可能ファイルは/sbin、rootのデフォルトのコマンド検索パスにあるにあります。


7

変数にiptablesリストされていないためPATHです。sudoコマンドで動作するはずだと思います。試してください:

sudo iptables -L

それでもうまくいかない場合は、iptablesバイナリの場所をチェックアウトし、PATH変数に追加する必要があります。

ほとんどの場合、にあるはず/sbin/です。それでも、Debian7で確認してください。含まれている場合は、ファイルを/sbin/開い.bashrcて最後にこれを提供できます:

PATH=/sbin/:$PATH

you should checkout where the iptables binary isiptablesバイナリを見つけるには、どのコマンドを入力する必要がありますか?
user70167 14

then you can open .bashrc file and.bashrcファイルの場所はどこですか?
user70167 14

1
sudoで確認しましたか?dpkg -L iptablesファイルをリストしてみてください。
フレミンゴウイルス14

.bashrcファイルはどうですか?どこにありますか?
user70167 14

2
さて、これらは基本です。それはあなたのホームディレクトリにあります。端末から開いてみてください。vim ~/.bashrc
フレミンゴウイルス14

1

dpkg -L iptablesパッケージからファイルがインストールされている場所が表示されますiptables

dpkg -L iptables | grep iptables$

iptablesバイナリファイルの場所を確認できます。Ubuntuでの私にとってはにあり/sbin/iptablesます。

で実行し/sbin/iptables -L て確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.