bash : iptables : 명령을 찾을 수 없습니다


14

iptables: command not found데비안 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:~$

나는 광범위하게 구글을 조사했으며 대부분의 답변은 2005 년과 2009 년으로 거슬러 올라간 CentOS와 Fedora에 대한 것이었다.


출력은 echo $PATH무엇입니까?
Braiam

1
iptables가 있어야 PATH하므로 sudo누락 된 것입니다.
Valentin Bajrami

답변:


14

iptables명령은 다른 사용자가 아닌 루트로만 유용하게 실행할 수 있습니다. 따라서 루트 이외의 사용자에 대한 기본 명령 검색 경로에 없습니다.

를 실행하려면 iptables다음 명령 중 하나를 사용하여 루트로 실행하십시오.

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

실행 파일은 /sbinroot의 기본 명령 검색 경로에있는에 있습니다.


7

변수에 iptables나열되어 있지 않기 때문 입니다 PATH. 나는 그것이 sudo명령 과 함께 작동해야한다고 생각합니다 . 시험:

sudo iptables -L

그것도 작동하지 않으면 iptables바이너리가 어디에 있는지 확인한 다음 PATH변수에 추가해야 합니다.

대부분의 경우에 있어야합니다 /sbin/. 여전히 Debian7에서 확인하십시오. 가있는 경우 /sbin/당신은 열 수있는 .bashrc파일과 끝이 제공 :

PATH=/sbin/:$PATH

you should checkout where the iptables binary isiptables 바이너리를 찾으려면 어떤 명령을 입력해야합니까?
user70167

then you can open .bashrc file and.bashrc파일 의 위치는 어디 입니까?
user70167

1
sudo로 확인 했습니까? 시도 dpkg -L iptables파일을 나열합니다.
flemingovirus

.bashrc 파일은 어떻습니까? 어디있어?
user70167

2
이것들은 기본입니다. 확인은 홈 디렉토리에 있습니다. 터미널에서 열려고합니다. vim ~/.bashrc
flemingovirus

1

dpkg -L iptables패키지에서 파일이 설치된 위치를 보여줍니다 iptables.

dpkg -L iptables | grep iptables$

iptables바이너리 파일 의 위치를 ​​확인할 수 있습니다 . 우분투에서 나를 위해 그것은에 /sbin/iptables있습니다.

실행 /sbin/iptables -L 하고 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.