使用 PHP 更改服务器日期

使用 PHP 更改服务器日期

是否可以使用 php 代码更改 Linux 服务器日期?

有什么方法可以向 Apache 授予必要的权限来执行此操作吗?

授予 Apache root 权限的过程是什么?

答案1

您可以使用 sudo 来完成此操作,而无需向 apache 授予“root”权限。

apache <hostname> = (root) NOPASSWD: /bin/date

英文大致翻译为:

让 apache 用户/bin/date以 root 用户身份运行该命令,而无需在服务器上输入密码<hostname>

使用 sudo(或在任何 RBAC 模型中执行等效操作)允许您仅向特定用户公开实现您的目标所需的权限。

然后在 PHP 中,只需将 sudo 与命令一起传递即可:

exec("sudo -su /bin/date <newdate>");

另外,如果这不适合您,请检查您的/etc/sudoers文件requiretty

Defaults        requiretty

您需要将其注释掉,以便 sudo 能够与 apache 一起使用。

相关内容