假设我需要每晚以 root 权限运行一个 php 脚本,是从 root crontab 运行它,还是从具有 sudo 权限的用户 crontab 运行它,在命令中使用“sudoing”,即
在sudo crontab -e
0 0 * * * /bin/sh -c "/[my_path_to]/php /[my_path_to]/[my_script].php >> /[my_path_to]/cron_log.txt 2>&1"
或者
在crontab -e
0 0 * * * sudo su -s /bin/sh -c "/[my_path_to]/php /[my_path_to]/[my_script].php >> /[my_path_to]/cron_log.txt 2>&1"
或者说实际上没有区别?
答案1
当然,最好从root用户的crontab中运行需要以root身份运行的命令。
从技术上讲,在用户的 crontab 中运行命令sudo
是可行的,但需要您实现一种方法来sudo
为该命令提供密码:您将面临安全问题。