当我输入:$ 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 的更多信息,请查看手册页。