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:~$

Я много гуглил, и большинство ответов были для CentOS и Fedora, которые датируются 2005 и 2009 годами.


Какой выход echo $PATH?
Брайам

1
iptables должен быть в вашем, PATHтак что sudoвы пропали.
Валентин Байрами

Ответы:


14

iptablesКоманда может в значительной степени только с пользой работать в качестве корня, а не в качестве другого пользователя. Так что он не находится в пути поиска команд по умолчанию для пользователей, кроме 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
ты проверил с sudo? Попробуйте 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.