diff options
-rw-r--r-- | sbin/nologin/Makefile | 8 | ||||
-rw-r--r-- | sbin/nologin/nologin.8 | 12 | ||||
-rw-r--r-- | sbin/nologin/nologin.c | 56 | ||||
-rw-r--r-- | sbin/nologin/nologin.sh | 40 |
4 files changed, 67 insertions, 49 deletions
diff --git a/sbin/nologin/Makefile b/sbin/nologin/Makefile index f0148010cd1..f11a8add945 100644 --- a/sbin/nologin/Makefile +++ b/sbin/nologin/Makefile @@ -1,10 +1,6 @@ -# $OpenBSD: Makefile,v 1.4 1996/12/08 14:37:24 downsj Exp $ -# $NetBSD: Makefile,v 1.4 1995/03/18 14:59:08 cgd Exp $ +# $OpenBSD: Makefile,v 1.5 1997/02/16 04:15:31 downsj Exp $ +PROG= nologin MAN= nologin.8 -beforeinstall: - ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ - ${.CURDIR}/nologin.sh ${DESTDIR}/sbin/nologin - .include <bsd.prog.mk> diff --git a/sbin/nologin/nologin.8 b/sbin/nologin/nologin.8 index a904df7f439..c2a1a5b8946 100644 --- a/sbin/nologin/nologin.8 +++ b/sbin/nologin/nologin.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: nologin.8,v 1.2 1996/06/23 14:31:58 deraadt Exp $ +.\" $OpenBSD: nologin.8,v 1.3 1997/02/16 04:15:32 downsj Exp $ .\" $NetBSD: nologin.8,v 1.3 1995/03/18 14:59:09 cgd Exp $ .\" .\" Copyright (c) 1993 @@ -34,9 +34,9 @@ .\" .\" @(#)nologin.8 8.1 (Berkeley) 6/19/93 .\" -.Dd June 19, 1993 +.Dd Febuary 15, 1997 .Dt NOLOGIN 8 -.Os BSD 4.4 +.Os .Sh NAME .Nm nologin .Nd politely refuse a login @@ -48,6 +48,12 @@ displays a message that an account is not available and exits non-zero. It is intended as a replacement shell field for accounts that have been disabled. +.Pp +If the file +.Pa /etc/nologin.txt +exists, +.Nm nologin +displays its contents to the user instead of the default message. .Sh SEE ALSO .Xr login 1 .Sh HISTORY diff --git a/sbin/nologin/nologin.c b/sbin/nologin/nologin.c new file mode 100644 index 00000000000..e49feae7a6d --- /dev/null +++ b/sbin/nologin/nologin.c @@ -0,0 +1,56 @@ +/* $OpenBSD: nologin.c,v 1.1 1997/02/16 04:15:32 downsj Exp $ */ + +/* + * Copyright (c) 1997, Jason Downs. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <sys/types.h> +#include <fcntl.h> +#include <unistd.h> + +/* Distinctly different from _PATH_NOLOGIN. */ +#define _PATH_NOLOGIN_TXT "/etc/nologin.txt" + +#define DEFAULT_MESG "This account is currently not available.\n" + +/*ARGSUSED*/ +int main(argc, argv) + int argc; + char *argv[]; +{ + int nfd, nrd; + char nbuf[128]; + + nfd = open(_PATH_NOLOGIN_TXT, O_RDONLY); + if (nfd < 0) { + write(STDOUT_FILENO, DEFAULT_MESG, strlen(DEFAULT_MESG)); + exit (1); + } + + while ((nrd = read(nfd, nbuf, sizeof(nbuf))) > 0) + write(STDOUT_FILENO, nbuf, nrd); + close (nfd); + + exit (1); +} diff --git a/sbin/nologin/nologin.sh b/sbin/nologin/nologin.sh deleted file mode 100644 index af42ccb0900..00000000000 --- a/sbin/nologin/nologin.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh - -# $OpenBSD: nologin.sh,v 1.2 1996/06/23 14:31:58 deraadt Exp $ -# $NetBSD: nologin.sh,v 1.4 1995/04/23 10:33:30 cgd Exp $ -# -# Copyright (c) 1992, 1993 -# The Regents of the University of California. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. All advertising materials mentioning features or use of this software -# must display the following acknowledgement: -# This product includes software developed by the University of -# California, Berkeley and its contributors. -# 4. Neither the name of the University nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# @(#)nologin.sh 8.1 (Berkeley) 6/5/93 -# - -echo 'This account is currently not available.' -exit 1 |