crontab执行身份的小坑

有个ubuntu服务器,跑着apache, PHP7, Laravel,supervisor。

apache和supervisor都是www-data用户。 平时管理员ssh登上去用的都是devuser用户。

今天发现Laravel日志异常了,连着几天都是只有短短一行日志记录。 从文件大小就看出来不对劲

新的日志都写不进去。chown 改成 www-data 后日志还是写不进去,见了鬼了。

后来尝试重启 apache, supervisor, PHP7 ,然后重命名掉今天的日志文件,发现新日志终于有了。是正常的 www-data 用户的文件。

怀疑为什么会有 devuser 的日志文件产生:

  1. 有人用 devuser 身份 SSH 登进来搞事情。
  2. 有什么软件是以 devuser 身份执行了。

我们检查了 apache, supervisor, PHP配置文件, 都是 www-data。百思不得其解。 最后排查到定时任务,才想起来我们使用了 crontab 来重复触发 artisan schedule:run 来执行定时任务。

由于我们使用了 devuser 来配置的 crontab -e,所以执行身份肯定是 devuser。 最后我们将 schedule:run 命令写入了 /etc/crontab 里面,指明用 www-data 执行。

天下太平了。

转载于:https://my.oschina.net/zgldh/blog/1543600

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值