我有一个 128MB 的 VPS,它时不时会变得困惑。重新启动将解决问题,但如果我想从浏览器(受密码保护的页面)重新启动怎么办? “www-data”如何使用 PHP 的 shell_exec()
函数重启我的机器 (Natty Narwhal)?
我很困惑,因为它需要 sudo。问题是我从来没有以 www-data 身份登录,这会是我的 sudo 密码吗?另外,我将如何包含执行此操作的密码?
使用 root 可以吗?如果是这样,那么我将如何从 www-data 中执行 su?
最佳答案
您是正确的,shutdown
脚本需要 root 或 sudo 权限才能执行。如果您确实需要通过 Web 可访问的页面重新启动服务器,一种方法是将 www-data
添加到 sudoers 列表,但仅用于访问到 shutdown
命令。
编辑 /etc/sudoers
并添加以下行:
%www-data ALL=NOPASSWD: /sbin/shutdown
该行将允许 www-data
组访问 sudo/sbin/shutdown
而无需密码 - 所以确保您的网络可访问脚本不公开。
编辑 sudoers 文件后,您可以使用脚本中的以下命令重新启动:
shell_exec('sudo /sbin/shutdown -r now');
关于php - 使用 shell_exec() 重启服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12719008/