/etc/ssh/sshd_config 默认情况下有以下行
UsePAM yes
Run Code Online (Sandbox Code Playgroud)
我通读了可用的文档并得出结论,如果我只使用公钥登录,则不会使用 PAM。如果我禁用 PAM,可能会产生什么负面后果?例如
UsePAM no
Run Code Online (Sandbox Code Playgroud) 通常日志消息写入 stderr。我想知道拆分日志消息是否是一个好主意/实践,以便错误和警告转到标准错误,而调试/信息/通知消息转到标准输出?或者这是否无关紧要,因为许多专用日志记录进程无论如何只能从 stdin 读取,这需要将 stderr 和 stdout 中的源日志消息组合起来并重定向到记录器的 stdin。
[更新]
下面的两个答案都提到了系统日志,我想我需要详细说明设置。
我询问的守护进程自己在前台运行。守护进程由监督进程管理,例如runit或supervisord。在这两种情况下,守护进程的 stderr 和 stdout 将被监督进程捕获,并且监督进程的工作是决定如何以及在哪里存储日志(可能是系统日志,或者通过 UDP 网络中的其他地方) . 守护进程不必担心写入日志的内容和位置,因为它们只是写入 stdout/stderr。
在 的情况下runit,其日志记录工具svlogd将从其 stdin 中读取重定向的日志消息,这些消息是托管守护进程的 stderr/stdout 组合。至于supervisord,它可以记录 stderr 和 stdout 以分隔日志文件。
因此,在这种特定设置中,在 stderr 和 stdout 之间拆分日志还是仅写入其中一个是一种好习惯?