diff options
| author | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-11-14 19:02:01 +0000 | 
|---|---|---|
| committer | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-11-14 19:02:01 +0000 | 
| commit | 639cf75264354795e3869e945b7aa51aaa658bb2 (patch) | |
| tree | 81122dc43f5c4c0ddfbc71ff8652ffe70fa7d4a6 | |
| parent | 8b1ffd8dab93a800007e46fd12a4453707e2b337 (diff) | |
[package] 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.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29130 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | package/base-files/Makefile | 2 | ||||
| -rwxr-xr-x | package/base-files/files/bin/login.sh | 5 | ||||
| -rw-r--r-- | 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 c515dcf7b..90c68cd17 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 b46769a01..6682b022b 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 ca4fbad1b..1d06a8036 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 | 
