From 8b20bfafdf804598199364d05ab83a6f27882a42 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 14 Nov 2011 19:02:01 +0000 Subject: [PATCH] base-files: prime root password with "x" to notify programs that there is a shadow record, fix /bin/login.sh password detection accordingly. Solves broken key based dropbear login with empty password after r28935. SVN-Revision: 29130 --- package/base-files/Makefile | 2 +- package/base-files/files/bin/login.sh | 5 ++++- package/base-files/files/etc/passwd | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/package/base-files/Makefile b/package/base-files/Makefile index c515dcf7b1..90c68cd175 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=base-files -PKG_RELEASE:=93 +PKG_RELEASE:=94 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ PKG_BUILD_DEPENDS:=opkg/host diff --git a/package/base-files/files/bin/login.sh b/package/base-files/files/bin/login.sh index b46769a012..6682b022ba 100755 --- a/package/base-files/files/bin/login.sh +++ b/package/base-files/files/bin/login.sh @@ -1,7 +1,10 @@ #!/bin/sh # Copyright (C) 2006-2011 OpenWrt.org -if grep -qs '^root:[^!:]' /etc/passwd /etc/shadow && [ -z "$FAILSAFE" ]; then +if ( ! grep -qs '^root::' /etc/shadow || \ + ! grep -qs '^root:[!x]\?:' /etc/passwd ) && \ + [ -z "$FAILSAFE" ] +then echo "Login failed." exit 0 else diff --git a/package/base-files/files/etc/passwd b/package/base-files/files/etc/passwd index ca4fbad1b8..1d06a80361 100644 --- a/package/base-files/files/etc/passwd +++ b/package/base-files/files/etc/passwd @@ -1,4 +1,4 @@ -root::0:0:root:/root:/bin/ash +root:x:0:0:root:/root:/bin/ash daemon:*:1:1:daemon:/var:/bin/false ftp:*:55:55:ftp:/home/ftp:/bin/false network:*:101:101:network:/var:/bin/false -- 2.25.1