Como conserto o iptables: command not found
problema 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.
echo $PATH
?PATH
então é o quesudo
você está perdendo.Respostas:
O
iptables
comando 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:O executável está localizado em
/sbin
, que está no caminho de pesquisa de comando padrão para raiz.fonte
É porque
iptables
não está listado na suaPATH
variável. Eu acho que deveria funcionar com osudo
comando. Experimentar:Se isso também não funcionar, verifique onde está o
iptables
binário e adicione-o àPATH
variávelNa maioria dos casos ele deve estar em
/sbin/
. Ainda assim, apenas verifique no Debian7. Se estiver/sbin/
, você pode abrir o.bashrc
arquivo e fornecer isso no final:fonte
you should checkout where the iptables binary is
Qual comando devo digitar para localizar o binário do iptables?then you can open .bashrc file and
Onde está o local do.bashrc
arquivo?dpkg -L iptables
listar os arquivos.vim ~/.bashrc
dpkg -L iptables
mostrará onde os arquivos estão instalados no pacoteiptables
.Você pode verificar a localização do
iptables
arquivo binário. Para mim, no Ubuntu, está/sbin/iptables
.Então corra com
/sbin/iptables -L
e verifique.fonte