如何编辑 /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 和类似文件以及为什么它们不能被编辑

如何编辑 /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 和类似文件以及为什么它们不能被编辑

我尝试编辑以下文件(ls -alstr输出):
0 -rw-r--r-- 1 root root 0 Apr 15 17:07 /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
不幸的是,如果我尝试使用vim或简单地使用类似的内容 来编辑它
sudo echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
,我会收到
-bash: /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts: Permission denied
错误。以下这个帖子我能够
sudo bash -c 'echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts’
成功执行并编辑文件。如果我以 身份登录root,我可以成功执行
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
,但我仍然无法使用 编辑文件vim。尝试chmodchown该文件也失败了。

我的问题是(问题 1 和 2 已经在这里回答但为了完整性我将其陈述如下):

  1. 为什么我不能以普通用户身份使用 编辑文件sudo>(因为>先被评估,因此在 之前sudo
  2. 为什么这个sudo bash -c 'echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts’命令会起作用?(它会调用下面的新终端root并执行后面的命令)
  3. 当我以普通用户身份使用and/或 asvim登录时,为什么无法使用 编辑文件?sudoroot
  4. 为什么即使我是 root 也无法编辑文件权限和/或所有者?
  5. 我怎样才能使更改永久生效,以便即使在重启后它仍然保留?

答案1

通常你会编辑/etc/sysctl.conf并做出这些调整(而不是直接编辑)

看:http://www.cyberciti.biz/faq/linux-kernel-etcsysctl-conf-security-hardening/

/proc 是内核使用的“虚拟文件系统”,“文件”中的信息由内核管理,并通过编辑系统配置文件(而不是 /proc 内的文件)进行调整/配置。回答问题 #3 - 5

相关内容