cron/php 如何以非 root 用户身份运行命令

cron/php 如何以非 root 用户身份运行命令

我需要以非 root 用户身份从 cron 运行命令(仅一个命令)。

尝试了两个版本,但都失败了;

计划任务:

* * * * * php script.php

脚本.php:

exec("whoami"); // returns 'root'
// version 1
exec("runuser -u www-data -- ls"); // error -> sh: 1: runuser: not found
// version 2
exec("su www-data -c 'ls'"); // error -> This account is currently not available.

答案1

不要使用rootcrontab。对www-data用户使用 crontab:

crontab -e -u www-data

或者使用系统 crontab/etc/cron.d/并指定用户www-data

* * * * * www-data php script.php

相关内容