web-dev-qa-db-ja.com

/ 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でファイルを編集することはできません。ファイルをchmodおよびchownする試みも失敗しました。

私の質問は次のとおりです(質問1と2は既に ここで回答済み ですが、完全を期すために述べています):

  1. Sudo>を使用して、通常のユーザーとしてファイルを編集できないのはなぜですか? (>が最初に評価されるため、Sudoの前に評価されるため)
  2. Sudo bash -c 'echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts’が機能するのはなぜですか? (rootの下で新しいターミナルを呼び出し、それに続くコマンドを実行します)
  3. vimおよび/またはSudoを使用して通常のユーザーとしてログインしているときに、なぜrootでファイルを編集できないのですか?
  4. Rootであってもファイルのアクセス権や所有者を編集できないのはなぜですか?
  5. 変更を永続的にして再起動後も変更を保持するにはどうすればよいですか?
1
George

通常、/etc/sysctl.confを編集し、それらの調整を行います(直接編集するのではなく)

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

/ procはカーネルが使用する「仮想ファイルシステム」であり、「ファイル」内の情報はカーネルによって管理され、システム構成ファイル(/ proc内のファイルではなく)の編集によって調整/構成されます。回答の質問#3-5

2
Panther