Php

cron/php 如何以非 root 使用者身份執行命令

  • January 7, 2022

我需要從 cron 以非 root 使用者身份執行命令(只有一個命令)。

嘗試了兩個版本,都失敗了;

克朗:

* * * * * 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.

不要使用rootcrontab。為使用者使用 crontab www-data

crontab -e -u www-data

或使用系統 crontab/etc/cron.d/並指定 user www-data

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

引用自:https://serverfault.com/questions/1089294