Linuxの多くの特殊ファイルに無効な権限があることがわかりました。
たとえば、
$ ls -l /dev/fuse
crw-rw-rw- 1 root root 10, 229 May 29 09:59 /dev/fuse
書くことができるように見えますが、実際にはそうではありません。
$ echo 1 > /dev/fuse
-bash: echo: write error: Operation not permitted
たとえば、次のすべてのファイルについて同じです/proc/$pid/attr
。
$ ls -l /proc/1/attr/
total 0
-rw-rw-rw- 1 root root 0 May 30 11:01 current
-rw-rw-rw- 1 root root 0 May 30 11:01 exec
-rw-rw-rw- 1 root root 0 May 30 13:31 fscreate
-rw-rw-rw- 1 root root 0 May 30 11:01 keycreate
-r--r--r-- 1 root root 0 May 30 11:01 prev
-rw-rw-rw- 1 root root 0 May 30 11:01 sockcreate
$ echo 1 >| /proc/1/attr/keycreate
-bash: echo: write error: Permission denied
これはバグですか?
(ところで、私はこれらのファイルが何をしているのかわかりません)。
ベストアンサー1
私の2つのコメントが答えになると思います...
1)ファイルの用途(または使用方法)がわからない場合は、「>ファイル」を使用しないでください。回復不能なファイルを消去したり混乱させたりすることがあります。
2)2つの具体的な例の場合:
/dev/fuse は en.wikipedia.org/wiki/Filesystem_in_Userspace で使用されます。たとえば、「sshfs」などを使用する場合です。使用しないと何も起こりません(権限は正確ですが、現在は何も指していません)。使用すると実行可能なファイルシステムになり、「>」と入力するとシステムが壊れたり破壊されたりする可能性があります... [ymmv]
/proc/1 は「init」のためのものなので、これを台無しにしたくありません。
(そして怒らせたくない他の多くの人もいます... ^^)