base-files: Allow to disable failsafe mode
[openwrt/openwrt.git] / package / base-files / files / bin / login.sh
index b46769a012912259109c893bc26fbb1ab796a742..754d29085762437fc976bc2b2d1531c34b35c473 100755 (executable)
@@ -1,14 +1,16 @@
 #!/bin/sh
 # Copyright (C) 2006-2011 OpenWrt.org
 
-if grep -qs '^root:[^!:]' /etc/passwd /etc/shadow && [ -z "$FAILSAFE" ]; then
+if ( ! grep -qsE '^root:[!x]?:' /etc/shadow || \
+     ! grep -qsE '^root:[!x]?:' /etc/passwd ) && \
+   [ -z "$FAILSAFE" ]
+then
        echo "Login failed."
        exit 0
 else
 cat << EOF
  === IMPORTANT ============================
-  Use 'passwd' to set your login password
-  this will disable telnet and enable SSH
+  Use 'passwd' to set your login password!
  ------------------------------------------
 EOF
 fi