bash: iptables: comando non trovato


14

Come posso risolvere il iptables: command not foundproblema che è successo a 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:~$

Ho cercato su Google ampiamente e la maggior parte delle risposte erano per CentOS e Fedora che risalgono al 2005 e al 2009.


Qual è l'output di echo $PATH?
Braiam,

1
iptables dovrebbe essere nel tuo, PATHquindi è quello che sudoti manca.
Valentin Bajrami,

Risposte:


14

Il iptablescomando può essere praticamente eseguito solo come root, non come un altro utente. Quindi non si trova nel percorso di ricerca dei comandi predefinito per utenti diversi da root.

Per eseguirlo iptables, eseguilo come root, con uno di questi comandi:

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

Il file eseguibile si trova in /sbin, che si trova nel percorso di ricerca del comando predefinito per root.


7

È perché iptablesnon è elencato nella tua PATHvariabile. Penso che dovrebbe funzionare con il sudocomando. Provare:

sudo iptables -L

Se anche questo non funziona, dovresti controllare dove si trova il iptablesbinario e quindi aggiungerlo alla PATHvariabile.

Nella maggior parte dei casi dovrebbe essere presente /sbin/. Tuttavia, basta verificare in Debian7. Se è presente /sbin/, puoi aprire il .bashrcfile e fornirlo alla fine:

PATH=/sbin/:$PATH

you should checkout where the iptables binary isQuale comando devo digitare per individuare il file binario iptables?
user70167

then you can open .bashrc file andDov'è la posizione del .bashrcfile?
user70167

1
hai controllato con sudo? Prova dpkg -L iptablesa elencare i file.
flemingovirus,

Che dire del file .bashrc? Dove si trova?
user70167

2
Bene, queste sono le basi. Ok, è nella tua home directory. Prova di apertura dal tuo terminale. vim ~/.bashrc
flemingovirus,

1

dpkg -L iptablesmostrerà dove sono installati i file dal pacchetto iptables.

dpkg -L iptables | grep iptables$

È possibile controllare la posizione del iptablesfile binario. Per me su Ubuntu è dentro /sbin/iptables.

Quindi corri con /sbin/iptables -L e controlla.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.