47 lines
1.1 KiB
Diff
47 lines
1.1 KiB
Diff
|
|
From 4be18d32991e73c460ca59c43384f75419602a35 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Vladimir Ivanov <ivlad@nxadi.com>
|
||
|
|
Date: Fri, 3 Aug 2018 09:44:16 +0800
|
||
|
|
Subject: [PATCH 08/19] Log UID in nologin
|
||
|
|
|
||
|
|
Sometimes getlogin() may fail, e.g., in a chroot() environment or due to NSS
|
||
|
|
misconfiguration. Loggin UID allows for investigation and troubleshooting in
|
||
|
|
such situation.
|
||
|
|
---
|
||
|
|
src/nologin.c | 5 +++--
|
||
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/src/nologin.c b/src/nologin.c
|
||
|
|
index 7fe8a6a2..98989d26 100644
|
||
|
|
--- a/src/nologin.c
|
||
|
|
+++ b/src/nologin.c
|
||
|
|
@@ -24,7 +24,6 @@
|
||
|
|
* SUCH DAMAGE.
|
||
|
|
*/
|
||
|
|
|
||
|
|
-#include <config.h>
|
||
|
|
|
||
|
|
#ident "$Id$"
|
||
|
|
|
||
|
|
@@ -36,6 +35,7 @@
|
||
|
|
int main (void)
|
||
|
|
{
|
||
|
|
const char *user, *tty;
|
||
|
|
+ uid_t uid;
|
||
|
|
|
||
|
|
tty = ttyname (0);
|
||
|
|
if (NULL == tty) {
|
||
|
|
@@ -45,8 +45,9 @@ int main (void)
|
||
|
|
if (NULL == user) {
|
||
|
|
user = "UNKNOWN";
|
||
|
|
}
|
||
|
|
+ uid = getuid (); /* getuid() is always successful */
|
||
|
|
openlog ("nologin", LOG_CONS, LOG_AUTH);
|
||
|
|
- syslog (LOG_CRIT, "Attempted login by %s on %s", user, tty);
|
||
|
|
+ syslog (LOG_CRIT, "Attempted login by %s (UID: %d) on %s", user, uid, tty);
|
||
|
|
closelog ();
|
||
|
|
|
||
|
|
printf ("%s", "This account is currently not available.\n");
|
||
|
|
--
|
||
|
|
2.19.1
|
||
|
|
|