Add original scripts
This commit is contained in:
136
login.sh
Executable file
136
login.sh
Executable file
@@ -0,0 +1,136 @@
|
||||
#!/bin/sh
|
||||
|
||||
SSH=/usr/sbin/sshd
|
||||
TELNET=/bin/utelnetd
|
||||
SSHD_CONF=/etc/ssh/sshd_config
|
||||
|
||||
/sbin/test -f $SSHD || exit 0
|
||||
/sbin/test -f $TELNET || exit 0
|
||||
|
||||
[ -f "/bin/cmp" ] || ln -sf /bin/busybox /bin/cmp
|
||||
|
||||
SSH_PORT=`/sbin/getcfg LOGIN "SSH Port" -d 22`
|
||||
DEAFULT_TELNET_PORT=`/sbin/getcfg -f /var/default LOGIN "TELNET Port" -d 13131`
|
||||
TELNET_PORT=`/sbin/getcfg LOGIN "TELNET Port" -d $DEAFULT_TELNET_PORT`
|
||||
SSHKEY_CONFIG_DIR=/etc/config/ssh
|
||||
BOOT_CONF=`/bin/cat /etc/default_config/BOOT.conf`
|
||||
generte_ssh_key()
|
||||
{
|
||||
[ -d $SSHKEY_CONFIG_DIR ] || /bin/mkdir $SSHKEY_CONFIG_DIR
|
||||
if [ -f /usr/bin/ssh-keygen ]; then
|
||||
if [ ! -f ${SSHKEY_CONFIG_DIR}/ssh_host_rsa_key ] || [ ! -f ${SSHKEY_CONFIG_DIR}/ssh_host_rsa_key.pub ]; then
|
||||
/bin/rm -f ${SSHKEY_CONFIG_DIR}/ssh_host_rsa_key*
|
||||
/usr/bin/ssh-keygen -t rsa -f ${SSHKEY_CONFIG_DIR}/ssh_host_rsa_key -N ""
|
||||
/bin/touch /etc/config/ssh_key.fla
|
||||
/bin/sync
|
||||
fi
|
||||
if [ ! -f ${SSHKEY_CONFIG_DIR}/ssh_host_dsa_key ] || [ ! -f ${SSHKEY_CONFIG_DIR}/ssh_host_dsa_key.pub ]; then
|
||||
/bin/rm -f ${SSHKEY_CONFIG_DIR}/ssh_host_dsa_key*
|
||||
/usr/bin/ssh-keygen -t dsa -f ${SSHKEY_CONFIG_DIR}/ssh_host_dsa_key -N ""
|
||||
/bin/touch /etc/config/ssh_key.fla
|
||||
/bin/sync
|
||||
fi
|
||||
|
||||
/bin/cmp /etc/ssh/ssh_host_rsa_key ${SSHKEY_CONFIG_DIR}/ssh_host_rsa_key 1>>/dev/null 2>>/dev/null
|
||||
retrsa1=$?
|
||||
/bin/cmp /etc/ssh/ssh_host_dsa_key.pub ${SSHKEY_CONFIG_DIR}/ssh_host_dsa_key.pub 1>>/dev/null 2>>/dev/null
|
||||
retrsa2=$?
|
||||
/bin/cmp /etc/ssh/ssh_host_dsa_key ${SSHKEY_CONFIG_DIR}/ssh_host_dsa_key 1>>/dev/null 2>>/dev/null
|
||||
retdsa1=$?
|
||||
/bin/cmp /etc/ssh/ssh_host_dsa_key.pub ${SSHKEY_CONFIG_DIR}/ssh_host_dsa_key.pub 1>>/dev/null 2>>/dev/null
|
||||
retdsa2=$?
|
||||
|
||||
[ $retrsa1 -eq 0 ] || /bin/cp -a ${SSHKEY_CONFIG_DIR}/ssh_host_rsa_key /etc/ssh/
|
||||
[ $retrsa2 -eq 0 ] || /bin/cp -a ${SSHKEY_CONFIG_DIR}/ssh_host_rsa_key.pub /etc/ssh/
|
||||
[ $retdsa1 -eq 0 ] || /bin/cp -a ${SSHKEY_CONFIG_DIR}/ssh_host_dsa_key /etc/ssh/
|
||||
[ $retdsa2 -eq 0 ] || /bin/cp -a ${SSHKEY_CONFIG_DIR}/ssh_host_dsa_key.pub /etc/ssh/
|
||||
|
||||
if [ -d /etc/config/ssh ]; then
|
||||
/bin/rm -rf /root/.ssh 1>>/dev/null 2>>/dev/null
|
||||
/bin/ln -sf /etc/config/ssh /root/.ssh
|
||||
[ -f /etc/config/ssh/id_rsa ] || /bin/ln -sf ssh_host_rsa_key /etc/config/ssh/id_rsa
|
||||
[ -f /etc/config/ssh/id_rsa.pub ] || /bin/ln -sf ssh_host_rsa_key.pub /etc/config/ssh/id_rsa.pub
|
||||
fi
|
||||
|
||||
if [ "x${BOOT_CONF}" = "xTS-NASX86" ] && [ ! -f /etc/config/ssh_key.fla ]; then
|
||||
/bin/rm -f ${SSHKEY_CONFIG_DIR}/ssh_host_rsa_key* 2>>/dev/null
|
||||
/bin/rm -f ${SSHKEY_CONFIG_DIR}/ssh_host_dsa_key* 2>>/dev/null
|
||||
/usr/bin/ssh-keygen -t rsa -f ${SSHKEY_CONFIG_DIR}/ssh_host_rsa_key -N ""
|
||||
/usr/bin/ssh-keygen -t dsa -f ${SSHKEY_CONFIG_DIR}/ssh_host_dsa_key -N ""
|
||||
/bin/touch /etc/config/ssh_key.fla
|
||||
fi
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
update_sshd_config()
|
||||
{
|
||||
ENABLED_SFTP=`/sbin/getcfg LOGIN "SFTP Enable" -u -d TRUE`
|
||||
|
||||
if [ "x${ENABLED_SFTP}" = "xTRUE" ]; then
|
||||
/bin/grep "/usr/libexec/sftp-server" ${SSHD_CONF} > /dev/null
|
||||
if [ $? != 0 ]; then
|
||||
/bin/sed '107i\Subsystem sftp \/usr\/libexec\/sftp-server' ${SSHD_CONF} > ${SSHD_CONF}.tmp
|
||||
/bin/cp -f ${SSHD_CONF}.tmp ${SSHD_CONF}
|
||||
fi
|
||||
else
|
||||
/bin/grep "/usr/libexec/sftp-server" ${SSHD_CONF} > /dev/null
|
||||
if [ $? = 0 ]; then
|
||||
/bin/sed "/\/usr\/libexec\/sftp-server/d" ${SSHD_CONF} > ${SSHD_CONF}.tmp
|
||||
/bin/cp -f ${SSHD_CONF}.tmp ${SSHD_CONF}
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
if [ `/sbin/getcfg LOGIN "SSH Enable" -u -d TRUE` = FALSE ]; then
|
||||
echo "Starting sshd services: disabled."
|
||||
else
|
||||
echo -n "Starting sshd services: "
|
||||
generte_ssh_key
|
||||
update_sshd_config
|
||||
/sbin/daemon_mgr sshd start "$SSH -f ${SSHD_CONF} -p $SSH_PORT"
|
||||
echo "sshd."
|
||||
touch /var/lock/subsys/sshd
|
||||
fi
|
||||
|
||||
if [ `/sbin/getcfg LOGIN "TELNET Enable" -u -d FALSE` = FALSE ]; then
|
||||
echo "Starting telnet services: disabled."
|
||||
else
|
||||
echo -n "Starting telnet services: "
|
||||
/sbin/daemon_mgr utelnetd start "$TELNET -p $TELNET_PORT &"
|
||||
echo "utelnetd."
|
||||
touch /var/lock/subsys/utelnetd
|
||||
fi
|
||||
|
||||
if [ `/sbin/getcfg "TFTP Server" "Enable" -u -d FALSE` = FALSE ]; then
|
||||
echo "Starting opentftpd services: disabled."
|
||||
else
|
||||
/etc/init.d/opentftp.sh start
|
||||
fi
|
||||
|
||||
;;
|
||||
stop)
|
||||
echo -n "Shutting down sshd services:"
|
||||
/sbin/daemon_mgr sshd stop $SSH
|
||||
/usr/bin/killall sshd
|
||||
rm -f /var/lock/subsys/sshd
|
||||
echo "sshd"
|
||||
|
||||
echo -n "Shutting down telnet services:"
|
||||
/sbin/daemon_mgr utelnetd stop $TELNET
|
||||
rm -f /var/lock/subsys/utelnetd
|
||||
echo "utelnetd"
|
||||
;;
|
||||
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: /etc/init.d/login.sh {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user