使用「 sudo」更新我的網路用戶的crontab

分享于 

2分钟阅读

互联网

  简体

问题:

脚本执行得很好,但我得到了错误消息,下面是几个示例:


mv: cannot move 'cms/configs/database.json' to './database.json': Permission denied


mv: cannot move 'cms/configs/options.json' to './options.json': Permission denied


mv: cannot move 'cms/configs/analytics.json' to './analytics.json': Permission denied


mv: cannot move 'cms/sql/patchs.json' to './patchs.json': Permission denied


mv: cannot move 'cms/public/uploads' to './uploads': Permission denied


mv: cannot move 'cms/node_modules' to './node_modules': Permission denied



sudo crontab -u mywebuser -e

如果我使用"sudo myscript.sh"在不使用crontab的情况下执行脚本,则一切正常。


答案1:

安装由该用户运行的系统作业文件。例如/etc/cron.d/web,而不是通过crontab命令的用户。


5 4 * * * mywebuser /opt/thing/myscript.sh



换句话说,你不需要定义配置和环境来使sudo工作。

,并确保文件有此用户管理的正确权限。


答案2:

 
sudo myscript.sh



如果没有使用sudo -u username定义的替代用户,默认以root运行脚本。


sudo crontab -u mywebuser -e



另一方面,将设置一个cron作业来运行,而不是以root身份运行,但具有用户"mywebuser"的更多受限权限...

修复文件和目录的所有权和权限



WEB  USE  用户  CRON  Crontab  
相关文章