我在 debian 上使用rsyslog 8.24
。每次我触发logger "some message"
系统日志时,都会引用同一个且唯一的系统用户 - 如果我切换用户(即使是 )也没关系root
,消息始终记录为同一用户 - 即使在服务器上 - 我想在桌面上,这是因为GUI 正在以该用户身份在服务器上运行,因为我以该用户身份登录,然后切换到root
- 可能是这样吗?但无论如何,我怎样才能root
在系统日志中记录消息呢?
答案1
因为logger
使用getlogin(3)
.
https://github.com/karelzak/util-linux/blob/master/misc-utils/logger.c#L379
static char const *xgetlogin(void)
{
char const *cp;
struct passwd *pw;
if (!(cp = getlogin()) || !*cp)
cp = (pw = getpwuid(geteuid()))? pw->pw_name : "<someone>";
return cp;
}
它返回“在进程的控制终端上登录的用户名”。即您的系统用户。