Submit #3066 ยป 0001-nologin-8-Sync-with-FreeBSD-Symlink-usr-sbin-nologin.patch
| sbin/nologin/Makefile | ||
|---|---|---|
|
# @(#)Makefile 8.2 (Berkeley) 4/22/94
|
||
|
# $FreeBSD: src/sbin/nologin/Makefile,v 1.6.6.2 2001/04/25 14:04:15 ru Exp $
|
||
|
# $DragonFly: src/sbin/nologin/Makefile,v 1.3 2008/02/05 10:58:04 matthias Exp $
|
||
|
PROG= nologin
|
||
|
SRCS= nologin.c
|
||
|
MAN= nologin.5 nologin.8
|
||
|
SYMLINKS= ${BINDIR}/nologin /usr/sbin/nologin
|
||
|
# It is important that nologin be statically linked for security
|
||
|
# reasons. A dynamic non-setuid binary can be linked against a trojan
|
||
|
# libc by setting LD_LIBRARY_PATH appropriately. Both sshd(8) and
|
||
|
# login(1) make it possible to log in with an unsanitized environment,
|
||
|
# rendering a dynamic nologin binary virtually useless.
|
||
|
NO_SHARED= YES
|
||
|
.include <bsd.prog.mk>
|
||
| sbin/nologin/nologin.c | ||
|---|---|---|
|
* 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.
|
||
|
*
|
||
|
* $DragonFly: src/sbin/nologin/nologin.c,v 1.1 2008/02/05 10:58:04 matthias Exp $
|
||
|
*/
|
||
|
#include <stdio.h>
|
||
|
#include <syslog.h>
|
||
|
#include <unistd.h>
|
||
|
#define MESSAGE "This account is currently not available.\n"
|
||
|
int
|
||
|
main(int __unused argc, char __unused **argv)
|
||
|
main(int argc __unused, char *argv[] __unused)
|
||
|
{
|
||
|
printf("This account is currently not available.\n");
|
||
|
_exit(1);
|
||
|
const char *user, *tt;
|
||
|
if ((tt = ttyname(0)) == NULL)
|
||
|
tt = "UNKNOWN";
|
||
|
if ((user = getlogin()) == NULL)
|
||
|
user = "UNKNOWN";
|
||
|
openlog("nologin", LOG_CONS, LOG_AUTH);
|
||
|
syslog(LOG_CRIT, "Attempted login by %s on %s", user, tt);
|
||
|
closelog();
|
||
|
printf("%s", MESSAGE);
|
||
|
return 1;
|
||
|
}
|
||