我正在编写一个新的守护进程,它将托管在 Debian Linux 上。
我发现 /var/log 只有 root 写权限,所以我的守护进程不能在那里写日志文件。
但是,如果它在那里写入,它似乎将获得自动日志轮换,并且还可以像用户期望的那样工作。
守护进程写入出现在 /var/log 中的日志条目而不必以 root 身份运行的推荐方法是什么?
守护进程是一个网络服务器,因此日志流量将类似于 Apache。
您应该创建一个子目录,例如/var/log/mydaemon拥有守护程序的用户所有权
两种选择:
root,打开文件,然后使用 删除权限setuid。(我不记得删除权限的确切系统调用。)如果你想绑定到 TCP 端口 80 或低于 1024 的任何端口,无论如何你都必须这样做。下的文件/var/log不会自动旋转;相反,旋转由/etc/logrotate.conf和 下的文件控制/etc/logrotate.d。
使用“记录器”命令