为什么 /dev/urandom 从 Ubuntu 12.04 开始只能被 root 读取,我该如何“修复”它?

The*_*can 10 security linux ubuntu filesystems permissions

我曾经在很多服务器上使用 Ubuntu 10.04 模板。自从更改为 12.04 以来,我遇到了现在已隔离的问题。

/dev/urandom 设备只能由 root 访问。

这导致 SSL 引擎,至少在 PHP 中,例如 file_get_contents(https://...) 失败。

它也打破了redmine。

在 chmod 644 之后它工作正常,但在重新启动时不会停留。

所以我的问题。

  1. 为什么是这样?我认为没有安全风险,因为...我的意思是...想窃取一些随机数据?

  2. 我怎样才能“修复”它?服务器是隔离的,仅由一个应用程序使用,这就是我使用 openvz 的原因。我想到了类似运行级别脚本之类的东西......但是我如何有效地做到这一点?Maby 用 dpkg 还是 apt?

  3. vor /dev/shm 也是如此。在这种情况下,我完全理解为什么它不可访问,但我认为我可以用与修复 /dev/urandom 相同的方式“修复”它

mic*_*slm 1

至于如何修复它,临时创可贴就是

cat "chmod 666 /dev/urandom" >> /etc/rc.local
Run Code Online (Sandbox Code Playgroud)

  • 由于该解决方案可能是特定于 Ubuntu 的,因此 AskUbuntu 目前可能是更好的选择。我很高兴地使用 systemd,并且 /etc/rc.d/rc.local 可以正常工作,就像在 systemV initscripts 下一样:/ (2认同)