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