有个ubuntu服务器,跑着apache, PHP7, Laravel,supervisor。
apache和supervisor都是www-data用户。 平时管理员ssh登上去用的都是devuser用户。
今天发现Laravel日志异常了,连着几天都是只有短短一行日志记录。
新的日志都写不进去。chown 改成 www-data 后日志还是写不进去,见了鬼了。
后来尝试重启 apache, supervisor, PHP7 ,然后重命名掉今天的日志文件,发现新日志终于有了。是正常的 www-data 用户的文件。
怀疑为什么会有 devuser 的日志文件产生:
- 有人用 devuser 身份 SSH 登进来搞事情。
- 有什么软件是以 devuser 身份执行了。
我们检查了 apache, supervisor, PHP配置文件, 都是 www-data。百思不得其解。 最后排查到定时任务,才想起来我们使用了 crontab 来重复触发 artisan schedule:run 来执行定时任务。
由于我们使用了 devuser 来配置的 crontab -e,所以执行身份肯定是 devuser。 最后我们将 schedule:run 命令写入了 /etc/crontab 里面,指明用 www-data 执行。
天下太平了。