我曾经在很多服务器上使用Ubuntu 10.04模板.
自从改为12.04后,我遇到了一些我现在已经孤立的问题.
自从改为12.04后,我遇到了一些我现在已经孤立的问题.
/ dev / urandom设备只能由root访问.
这导致SSL引擎,至少在PHP中,例如file_get_contents(https:// …失败).
它也打破了redmine.
在chmod 644之后,它可以正常工作,但重启时不会停留.
所以我的问题.
>这是为什么?我认为没有安全风险,因为……我的意思是……想偷一些随机数据?
>我怎样才能“修复”它?服务器是隔离的,只有一个应用程序使用,这就是我使用openvz的原因.我认为像运行级别脚本这样的东西……但我该如何有效地做到这一点? Maby与dpkg或apt?
> vor / dev / shm也一样.在这种情况下,我完全理解为什么它不可访问,但我认为我可以“修复”它以相同的方式来修复/ dev / urandom
解决方法
如果从udev读取过多,您可以消耗随机池,从而产生可预测的随机数.可能这就是为什么/ dev / urandom无法为所有人阅读的原因. (删除因为Graeme Donaldson是对的)
如果您仍想更改权限,请查看负责在/ dev / urandom上设置模式的udev规则,而不是弄乱您的init脚本.
在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中可能存在的差异) !)