bash: iptables: команда не знайдена


14

Як виправити iptables: command not foundпроблему, яка сталася з 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:~$

Я широко розглядав Google, і більшість відповідей були для CentOS та Fedora, що датуються 2005 та 2009 роками.


Який результат echo $PATH?
Брайам

1
iptables має бути у вашому, PATHтому це саме sudoви відсутні.
Валентин Байрамі

Відповіді:


14

Ця iptablesкоманда може бути корисною лише для використання як root, а не як інший користувач. Так що це не в командному шляху пошуку за замовчуванням для інших користувачів, крім root.

Щоб запустити iptables, запустіть його як root, за допомогою будь-якої з цих команд:

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

Виконавчий файл розташований у /sbin, який знаходиться у шляху пошуку команди root за замовчуванням.


7

Це тому iptables, що не вказано у вашій PATHзмінній. Я думаю, що це має працювати з sudoкомандою. Спробуйте:

sudo iptables -L

Якщо це теж не працює, слід перевірити, де знаходиться iptablesдвійковий файл, а потім додати його до PATHзмінної.

У більшості випадків це повинно бути в /sbin/. Все-таки просто перевірте в Debian7. Якщо він є, /sbin/ви можете відкрити .bashrcфайл і надати це наприкінці:

PATH=/sbin/:$PATH

you should checkout where the iptables binary isЯку команду слід ввести, щоб знайти двійкові iptables?
user70167

then you can open .bashrc file andДе розташування .bashrcфайлу?
user70167

1
ти перевірив судо? Спробуйте dpkg -L iptablesперерахувати файли.
флемінговірус

Що з файлом .bashrc? Де він знаходиться?
user70167

2
Ну це основи. Гаразд, це у вашому домашньому каталозі. Спроба відкритись із терміналу. vim ~/.bashrc
флемінговірус

1

dpkg -L iptablesпокаже, де файли встановлені з пакета iptables.

dpkg -L iptables | grep iptables$

Ви можете перевірити розташування iptablesдвійкового файлу. Для мене на Ubuntu він є /sbin/iptables.

Тож біжіть /sbin/iptables -L і перевіряйте.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.