使っていますパメラJupyterHubを使用して自分のユーザーのPAMセッションを開きます。私はCentOS 8を使用しており、ログインサービスを使用しています。 /var/log/secureで見ることができます
pam_unix(login:session): ユーザー testuser のために (uid=0) によって開かれたセッション
そして/var/log/messages
systemd[1]: testuser ユーザーのためにセッション 8341 が開始されました。
また、/var/log/{messages|secure|audit/audit.log} にはエラーは記録されません。ただし、新しいユーザーがJupyterHubに正常にログインすると、lastlogコマンドはまだユーザーがログインしていないことを示します。そのため、/var/log/lastlogに情報を書き込むために、pam_lastlogに関するいくつかの要件がありません。 pam_open_session は root 権限を持つ子プロセスで呼び出されます。 /var/log/lastlogに役立つ情報を書き込むには、このサブプロセスをptsまたはttyにバインドする必要があります。これは /etc/pamd.d/login ファイルです:
#%PAM-1.0
auth substack system-auth
auth include postlogin
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include system-auth
session include postlogin
-session optional pam_ck_connector.so
これは /etc/pamd.d/postlogin にあります。
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authselect is run.
session optional pam_umask.so silent
session [success=1 default=ignore] pam_succeed_if.so service !~ gdm* service !~ su* quiet
session [default=1] pam_lastlog.so nowtmp showfailed
session optional pam_lastlog.so silent noupdate showfailed
これは /etc/pamd.d/system-auth にあります。
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authselect is run.
auth required pam_env.so
auth sufficient pam_unix.so try_first_pass nullok
auth required pam_deny.so
account required pam_unix.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so try_first_pass use_authtok nullok sha512 shadow
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
答え1
ファイルには、次の行の説明が/etc/pam.d/postlogin
含まれています。nowtmp
session [default=1] pam_lastlog.so nowtmp showfailed
から$ man pam_lastlog
:
nowtmp
Don't update the wtmp entry.
コマンドはファイルをlast
使用します。/var/log/wtmp
lastlog
/var/log/lastlog
lastlog
wtmp
通常、各ユーザーの最後のログインだけが記録されるため、ファイルよりはるかに小さいです。wtmp
録音する歴史~のみんなユーザーのログイン時間と日付。
マニュアルページには最後のロギングをオフにする指示がないように見えるpam_lastlog.so
ため、この機能はすべてのアカウントで利用できます。このディレクティブにはtoディレクティブがありますnowtmp
。
ただし、履歴ログイン情報の書き込みをオフにすることができるので、wtmp
そのnowtmp
ディレクティブのみを削除して違いがあるかどうかを確認してください。
答え2
ログインサービスでは、自動、noupdate、およびshowfailedを含むpostlogin行が使用されます。noupdate
明らかにpam_lastlog
更新すべきではないという意味です。すべてのファイル。したがって、この行ではpam_lastlog
lastlogの更新は許可されません。
それする失敗したログインはまだどこかに記録されていますが、成功したログインではないようです。これにより、gdm
*またはsu
*サービスを使用してログインが成功した場合にのみ失敗したログイン数がリセットされます。