「ロガー」が常に同じユーザーとして実行されるのはなぜですか?

「ロガー」が常に同じユーザーとして実行されるのはなぜですか?

私はDebianでそれを使用していますrsyslog 8.24。 syslogをトリガーするたびに、同じで唯一の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;
}

「プロセス制御端末にログインしたユーザーの名前」を返します。それはあなたのシステムユーザーです。

おすすめ記事