parent
8974bc6ae2
commit
1dd824a358
@ -1,25 +1,16 @@ |
||||
#!/bin/sh |
||||
# Copyright (C) 2006 OpenWrt.org |
||||
# Copyright (C) 2006-2010 OpenWrt.org |
||||
|
||||
|
||||
regpassresult="0" |
||||
grep '^root:[^!]' /etc/passwd >&- 2>&- |
||||
regpassresult="$?" |
||||
shadowresult="0" |
||||
if [ -e "/etc/shadow" ]; then |
||||
grep '^root:[^!]' /etc/shadow >&- 2>&- |
||||
shadowresult="$?" |
||||
fi |
||||
[ "$regpassresult" = "0" ] && [ "$shadowresult" = "0" ] && [ -z "$FAILSAFE" ] && { |
||||
echo "Login failed." |
||||
exit 0 |
||||
} || { |
||||
if grep -qs '^root:[^!]' /etc/passwd /etc/shadow && [ -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 |
||||
------------------------------------------ |
||||
EOF |
||||
} |
||||
fi |
||||
|
||||
exec /bin/ash --login |
||||
|
@ -1,17 +1,24 @@ |
||||
#!/bin/sh /etc/rc.common |
||||
# Copyright (C) 2006 OpenWrt.org |
||||
# Copyright (C) 2006-2010 OpenWrt.org |
||||
START=50 |
||||
|
||||
has_root_pwd() { |
||||
local pwd=$([ -f "$1" ] && cat "$1") |
||||
pwd="${pwd#*root:}" |
||||
pwd="${pwd%%:*}" |
||||
|
||||
test -n "${pwd#!}" |
||||
} |
||||
|
||||
start() { |
||||
if [ \! -f /etc/passwd ] || \ |
||||
( awk -F: '/^root:/ && ($2 != "") && ($2 !~ /\!/) {exit 1}' /etc/passwd 2>/dev/null && \ |
||||
awk -F: '/^root:/ && ($2 != "") && ($2 !~ /\!/) {exit 1}' /etc/shadow 2>/dev/null ) || \ |
||||
( [ \! -x /usr/sbin/dropbear ] && [ \! -x /usr/sbin/sshd ] ) |
||||
then \ |
||||
if ( ! has_root_pwd /etc/passwd && ! has_root_pwd /etc/shadow ) || \ |
||||
( [ ! -x /usr/sbin/dropbear ] && [ ! -x /usr/sbin/sshd ] ); |
||||
then |
||||
telnetd -l /bin/login.sh |
||||
fi |
||||
} |
||||
|
||||
stop() { |
||||
killall telnetd |
||||
killall telnetd 2>/dev/null |
||||
} |
||||
|
||||
|
Loading…
Reference in new issue