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.

użytkownik70167
źródło
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.

Gilles „SO- przestań być zły”
źródło
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
flemingowirus
źródło
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ź.

Colonial Dunky
źródło