如何在不在脚本前面添加 sudo 的情况下运行 PHP 脚本?

如何在不在脚本前面添加 sudo 的情况下运行 PHP 脚本?

我希望能够运行 PHP 脚本,而无需在每个命令中使用 sudo。显然,我的用户不是 root。我该如何实现这一目标?我是 Linux 新手,对权限有一点了解,但假设我没有。

我认为 PHP 脚本将被发送到后台并在具有 root 权限的其他用户下运行,并且启动这些脚本的用户不需要具有相同的访问权限。无论如何,PHP 脚本将需要数据库读/写访问权限,需要能够读/写文件,需要访问以启动/停止 apache web 服务器,以及执行典型 PHP 脚本执行的任何其他任务。

如果我使用 anacron 安排这些脚本,我需要做什么不同的事情吗?

答案1

您的脚本、php、python、bash、perl 或其他脚本必须以具有访问您所管理的文件和服务权限的用户身份运行。

由于您提到的某些任务需要 root 访问权限(启动/停止 apache),因此您必须以 root 身份运行它(使用 sudo)。安排您的脚本以 root 身份运行(从 root 的 anacron 中)

更常见的用户案例是在 Web 服务器 (LAMP) 中运行 php。在这种情况下,通常/var/wwwapache 用户 (www-data) 会拥有该文件,或者至少拥有 php 需要修改的任何文件。php 脚本随后由 apache 调用,并以 www-data 身份运行,并可以访问 /var/www 中的文件。请注意,除非您强化 php,否则脚本可以访问/var/www

以下链接可能会有帮助

https://help.ubuntu.com/community/FilePermissions

https://help.ubuntu.com/community/RootSudo

相关内容