bash: iptables: comando não encontrado

14

Como conserto o iptables: command not foundproblema que aconteceu com o Debian 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:~$

Pesquisei bastante no Google e a maioria das respostas foi para o CentOS e o Fedora, datados de 2005 e 2009.

user70167
fonte
Qual é o resultado de echo $PATH?
Braiam 16/08/14
1
iptables deve estar no seu, PATHentão é o que sudovocê está perdendo.
Valentin Bajrami

Respostas:

14

O iptablescomando pode ser executado apenas como root, e não como outro usuário. Portanto, ele não está no caminho de pesquisa de comando padrão para outros usuários que não sejam root.

Para executar iptables, execute-o como root, com um destes comandos:

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

O executável está localizado em /sbin, que está no caminho de pesquisa de comando padrão para raiz.

Gilles 'SO- parar de ser mau'
fonte
7

É porque iptablesnão está listado na sua PATHvariável. Eu acho que deveria funcionar com o sudocomando. Experimentar:

sudo iptables -L

Se isso também não funcionar, verifique onde está o iptablesbinário e adicione-o à PATHvariável

Na maioria dos casos ele deve estar em /sbin/. Ainda assim, apenas verifique no Debian7. Se estiver /sbin/, você pode abrir o .bashrcarquivo e fornecer isso no final:

PATH=/sbin/:$PATH
flemingovirus
fonte
you should checkout where the iptables binary isQual comando devo digitar para localizar o binário do iptables?
user70167
then you can open .bashrc file andOnde está o local do .bashrcarquivo?
user70167
1
você checou com sudo? Tente dpkg -L iptableslistar os arquivos.
Flemingovirus
E o arquivo .bashrc? Onde ele está localizado?
user70167
2
Bem, estes são os princípios. Ok, está no seu diretório pessoal. Tentando abrir a partir do seu terminal. vim ~/.bashrc
Flemingovirus
1

dpkg -L iptablesmostrará onde os arquivos estão instalados no pacote iptables.

dpkg -L iptables | grep iptables$

Você pode verificar a localização do iptablesarquivo binário. Para mim, no Ubuntu, está /sbin/iptables.

Então corra com /sbin/iptables -L e verifique.

Colonial Dunky
fonte