次のファイルを編集しようとしています(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は既に ここで回答済み ですが、完全を期すために述べています):
Sudo
と>
を使用して、通常のユーザーとしてファイルを編集できないのはなぜですか? (>
が最初に評価されるため、Sudo
の前に評価されるため)Sudo bash -c 'echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts’
が機能するのはなぜですか? (root
の下で新しいターミナルを呼び出し、それに続くコマンドを実行します)vim
および/またはSudo
を使用して通常のユーザーとしてログインしているときに、なぜroot
でファイルを編集できないのですか?通常、/etc/sysctl.conf
を編集し、それらの調整を行います(直接編集するのではなく)
参照: http://www.cyberciti.biz/faq/linux-kernel-etcsysctl-conf-security-hardening/
/ procはカーネルが使用する「仮想ファイルシステム」であり、「ファイル」内の情報はカーネルによって管理され、システム構成ファイル(/ proc内のファイルではなく)の編集によって調整/構成されます。回答の質問#3-5