Introduction
Introduction Statistics Contact Development Disclaimer Help
Add nologin(8) - ubase - suckless linux base utils
git clone git://git.suckless.org/ubase
Log
Files
Refs
README
LICENSE
---
commit 6e7386edb34f5acdd5dbbee68e85b16415a3b4aa
parent e0dc3f9546b3cd839aef8e58376c6295679a5ed5
Author: Mattias Andrée <[email protected]>
Date: Sat, 26 Mar 2016 11:30:56 +0100
Add nologin(8)
Signed-off-by: Mattias Andrée <[email protected]>
Diffstat:
M Makefile | 2 ++
A nologin.8 | 21 +++++++++++++++++++++
A nologin.c | 22 ++++++++++++++++++++++
3 files changed, 45 insertions(+), 0 deletions(-)
---
diff --git a/Makefile b/Makefile
@@ -64,6 +64,7 @@ BIN = \
mkswap \
mount \
mountpoint \
+ nologin \
pagesize \
passwd \
pidof \
@@ -129,6 +130,7 @@ MAN8 = \
lsusb.8 \
mkswap.8 \
mount.8 \
+ nologin.8 \
pivot_root.8 \
readahead.8 \
rmmod.8 \
diff --git a/nologin.8 b/nologin.8
@@ -0,0 +1,21 @@
+.Dd March 26, 2016
+.Dt NOLOGIN 8
+.Os ubase
+.Sh NAME
+.Nm nologin
+.Nd refuse login
+.Sh SYNOPSIS
+.Nm
+.Sh DESCRIPTION
+.Nm
+prints a message informing the user that she
+is not allowed to log in. If /etc/nologin.txt
+exists, its content is printed instead of
+the default message.
+.Pp
+.Nm
+is intended to be specified as the user's
+default shell.
+.Sh EXIT STATUS
+.Nm
+returns a status code indicating failure.
diff --git a/nologin.c b/nologin.c
@@ -0,0 +1,22 @@
+/* See LICENSE file for copyright and license details. */
+#include <stdio.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+int
+main(void)
+{
+ int fd;
+ char buf[BUFSIZ];
+ ssize_t n;
+
+ fd = open("/etc/nologin.txt", O_RDONLY);
+ if (fd >= 0) {
+ while ((n = read(fd, buf, sizeof(buf))) > 0)
+ write(STDOUT_FILENO, buf, n);
+ close(fd);
+ } else {
+ printf("The account is currently unavailable.\n");
+ }
+ return 1;
+}
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.