bash: iptables: nie znaleziono polecenia


14

Jak naprawić iptables: command not foundproblem, który przytrafił się Debianowi 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:~$

Poszukałem obszernie i większość odpowiedzi dotyczyła CentOS i Fedory z lat 2005 i 2009.


Jaka jest wydajność echo $PATH?
Braiam

1
iptables powinny być w twoim, PATHwięc sudobrakuje ci tego.
Valentin Bajrami

Odpowiedzi:


14

iptablesKomenda może być dość dużo tylko z pożytkiem uruchomić jako root, nie jako inny użytkownik. Więc nie znajduje się w domyślnej ścieżce wyszukiwania poleceń dla użytkowników innych niż root.

Aby uruchomić iptables, uruchom go jako root za pomocą jednego z następujących poleceń:

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

Plik wykonywalny znajduje się w /sbindomyślnej ścieżce wyszukiwania poleceń dla użytkownika root.


7

Jest tak, ponieważ iptablesnie ma go w twojej PATHzmiennej. Myślę, że powinno działać z sudopoleceniem. Próbować:

sudo iptables -L

Jeśli to też nie działa, powinieneś sprawdzić, gdzie iptablesjest plik binarny, a następnie dodać go do PATHzmiennej.

W większości przypadków powinno być /sbin/. Jednak po prostu sprawdź w Debian7. Jeśli tak /sbin/, możesz otworzyć .bashrcplik i podać go na końcu:

PATH=/sbin/:$PATH

you should checkout where the iptables binary isJakie polecenie powinienem wpisać, aby zlokalizować plik binarny iptables?
user70167,

then you can open .bashrc file andGdzie jest lokalizacja .bashrcpliku?
user70167,

1
sprawdziłeś w sudo? Spróbuj dpkg -L iptableswyliczyć pliki.
flemingowirus

Co z plikiem .bashrc? Gdzie się znajduje?
user70167,

2
To są podstawy. Ok, to jest w twoim katalogu domowym. Próbujesz otworzyć z twojego terminala. vim ~/.bashrc
flemingowirus

1

dpkg -L iptablespokaże, gdzie pliki są zainstalowane z pakietu iptables.

dpkg -L iptables | grep iptables$

Możesz sprawdzić lokalizację iptablespliku binarnego. Dla mnie na Ubuntu to jest /sbin/iptables.

Więc biegnij /sbin/iptables -L i sprawdź.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.