理解 /var/log/auth.log - 对“pam_unix”和“polkit”的混淆

理解 /var/log/auth.log - 对“pam_unix”和“polkit”的混淆

我很难理解 Ubuntu 中的 auth.log 文件中的某些行。你能帮我分解一下这些行吗?

pkexec: pam_unix(polkit-1:session): session opened for user root by (uid=1001)

pkexec 是启动 pam_unix 的可执行文件(?)pam_unix 是用于验证用户的系统调用(?)我不明白 polkit-1 会话是什么

会话已打开是什么意思?有人尝试登录或有人登录成功?

有什么方法可以调查此身份验证请求来自何处?更多日志行如下:

此外,任何了解有关此问题的更多信息的资源都会有所帮助,我已经查看了很多网站,所以也许您可以推荐一本可以解释这一点的系统管理书籍?

Jun  4 06:30:36 laptop pkexec: pam_unix(polkit-1:session): session opened for user root by (uid=1001)
Jun  4 06:30:36 laptop pkexec: pam_systemd(polkit-1:session): Cannot create session: Already running in a session
Jun  4 06:30:36 laptop pkexec[26293]: giulia: Executing command [USER=root] [TTY=unknown] [CWD=/home/giulia] [COMMAND=/usr/lib/update-notifier/package-system-locked]
Jun  4 07:03:36 laptop pkexec: pam_unix(polkit-1:session): session opened for user root by (uid=1001)
Jun  4 07:03:36 laptop pkexec: pam_systemd(polkit-1:session): Cannot create session: Already running in a session
Jun  4 07:03:36 laptop pkexec[26507]: giulia: Executing command [USER=root] [TTY=unknown] [CWD=/home/giulia] [COMMAND=/usr/lib/update-notifier/package-system-locked]
Jun  4 07:56:50 laptop unix_chkpwd[27106]: password check failed for user (giulia)
Jun  4 07:56:50 laptop compiz: pam_unix(unity:auth): authentication failure; logname= uid=1001 euid=1001 tty= ruser= rhost=  user=giulia
Jun  4 08:24:36 laptop pkexec: pam_unix(polkit-1:session): session opened for user root by (uid=1001)
Jun  4 08:24:36 laptop pkexec: pam_systemd(polkit-1:session): Cannot create session: Already running in a session
Jun  4 08:24:36 laptop pkexec[27821]: giulia: Executing command [USER=root] [TTY=unknown] [CWD=/home/giulia] [COMMAND=/usr/lib/update-notifier/package-system-locked]

答案1

Polkit 是一种特权提升系统,与 PAM 类似,但两者的具体机制有所不同。pkexec是一个命令,它公开了sudo以其他用户(通常是 root)身份运行命令的样式命令。 Polkit 有点复杂,不太合理,有点难以理解,但据我所知,它pkexec会调用 PAM 来验证用户凭据,然后再将该信息以及要执行的操作传递给 polkit 守护程序(我从来没说过这是合理的)。

pam_unix是 PAM 的一个模块,它是对用户进行身份验证(不一定是授权)的事实标准。PAM 是一个库,应用程序(例如 sudo、sshd、polkit 守护程序、桌面环境的登录屏幕(显示管理器)等)使用它来检查用户是否存在以及给定的凭据是否有效。pam_unix 是多个模块中的一个,它根据/etc/password/etc/shadow文件检查给定的凭据。

相关内容