busybox: Check if an SSH daemon is enabled before disabling telnet access (#8760)

SVN-Revision: 25411
This commit is contained in:
Vasilis Tsiligiannis 2011-02-07 21:45:02 +00:00
parent 95ed53f574
commit 0cd254bdee

View file

@ -1,5 +1,5 @@
#!/bin/sh /etc/rc.common #!/bin/sh /etc/rc.common
# Copyright (C) 2006-2010 OpenWrt.org # Copyright (C) 2006-2011 OpenWrt.org
START=50 START=50
has_root_pwd() { has_root_pwd() {
@ -11,14 +11,14 @@ has_root_pwd() {
} }
has_ssh_pubkey() { has_ssh_pubkey() {
( test -x /usr/sbin/dropbear && grep -qs "^ssh-" /etc/dropbear/authorized_keys ) || \ ( /etc/init.d/dropbear enabled 2> /dev/null && grep -qs "^ssh-" /etc/dropbear/authorized_keys ) || \
( test -x /usr/sbin/sshd && grep -qs "^ssh-" /root/.ssh/authorized_keys ) ( /etc/init.d/sshd enabled 2> /dev/null && grep -qs "^ssh-" /root/.ssh/authorized_keys )
} }
start() { start() {
if ( ! has_ssh_pubkey && \ if ( ! has_ssh_pubkey && \
! has_root_pwd /etc/passwd && ! has_root_pwd /etc/shadow ) || \ ! has_root_pwd /etc/passwd && ! has_root_pwd /etc/shadow ) || \
( [ ! -x /usr/sbin/dropbear ] && [ ! -x /usr/sbin/sshd ] ); ( ! /etc/init.d/dropbear enabled 2> /dev/null && ! /etc/init.d/sshd enabled 2> /dev/null );
then then
telnetd -l /bin/login.sh telnetd -l /bin/login.sh
fi fi