以前は、多くのサーバーでUbuntu 10.04テンプレートを使用していました。 12.04に変更してから、問題を特定できました。
/ dev/urandomデバイスはrootのみがアクセスできます。
これにより、少なくともPHPではSSLエンジン、たとえばfile_get_contents(https:// ...)が失敗しました。
また、レッドマインを壊しました。
Chmod 644の後は問題なく動作しますが、再起動しても残りません。
だから私の質問。
どうしてこれなの?セキュリティのリスクはないので...ランダムなデータを盗みたいですか?
どうすれば「修正」できますか?サーバーは分離され、1つのアプリケーションだけで使用されるため、openvzを使用しています。ランレベルスクリプトなどのことを考えていますが、どうすれば効率的に実行できますか? dpkgまたはaptのMaby?
/ dev/shmでも同様です。この場合、アクセスできない理由は完全に理解できますが、/ dev/urandomを修正するのと同じ方法で「修正」できると思います
Udevからの過剰な読み取りにより、ランダムプールを排出して、予測可能な乱数を生成できます。おそらく、これが/ dev/urandomを誰もが読めない理由です。 (Graeme Donaldsonが正しいため削除されました)
それでもパーミッションを変更したい場合は、initスクリプトを台無しにするのではなく、/ dev/urandomでモードを設定する責任があるudevルールを調べてください。
Debianでは、有罪のルールを見つけるのは簡単です。
$ dpkg -L udev | xargs grep urandom
/lib/udev/rules.d/91-permissions.rules:KERNEL=="urandom", MODE="0666"
あなたの場合、MODEは間違いなく0666ではありません。
必要に応じて、udev設定ルールに従って変更します。
注: http://lists.centos.org/pipermail/centos/2009-July/079134.html は、udevの変更に役立つ場合があります。
正しいモードが設定されていることを除いて、基本的にはgrepの結果のようなルールを作成し、/ etc/udev/rules.d /にルールファイルとして追加する必要があります(UbuntuとDebianで可能な違いに注意してください) !)
実際には、ubuntu 12.04 openvzテンプレートが公開され、uraondmとshmデバイスのアクセス権も修正されました
修正方法については、一時的なバンドエイドは
cat "chmod 666 /dev/urandom" >> /etc/rc.local
Udevtriggerが起動していない問題。 /etc/init.d/udevtrigger restart
...で再起動してみてください。問題が解決した場合は、/ etc/init/udevtrigger.confファイルを変更してください。
- and not-container)
+ )
RHELの場合:/etc/security/console.perms.d/に権限のオーバーライドを含むセキュリティルールを追加します。
ubuntuで類似している必要があります