无法创建文件 /proc/sys/net//ipv3/ip_forward (在 arpspoof 之前进行 IP 转发)

无法创建文件 /proc/sys/net//ipv3/ip_forward (在 arpspoof 之前进行 IP 转发)

当我输入:$ sudo echo 1 > /proc/sys/net/ipv3/ip_forward

我得到:bash: /proc/sys/net/ipv3/ip_forward: No such file or directory

我无法创建任何文件夹/proc/sys/网络我也无法在那里移动或创建文件。

我尝试在启动之前将我的盒子设置为 IP 转发arpspoof

感谢您的输入!

编辑:

现在我得到了一个变体:

$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission denied

答案1

1- 您的示例中提到的是 ipv3,但实际上应该是 ipv4。

2-这是不使用sudo -s实现此目的的另一种方法:

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

现在,对这个问题的解释如下。原始命令具有以下结构:

$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
^^^ Part 1 ^^   ^^^^  Part 2 ^^^^

第 1 部分以 sudo 身份运行,但随后您尝试将输出重定向到文件。重定向本身以非特权用户身份“运行”,因此它无权写入文件。

我建议的解决方案是,以非特权用户的身份执行“echo”,然后将其通过管道传输到“tee”命令,我们通过 sudo 运行该命令。因此,tee 将以 root 身份运行,并能够写入文件。

Tee 基本上接受标准输入并将其写入两个都文件和标准输出。这通常用于写入文件,同时在屏幕上获取输出。如果您想了解有关 tee 的更多信息,请查看手册页。

相关内容