#! /bin/bash # Script to control telnet daemon parameters # and block changes when logged in over telnet # Block changes to telnet daemon when logged in over telnet parent_proc_id=`ps -fp $$ | tail -1 | awk '{print $3}'` while [ "$parent_proc_id" != "1" ] do proc_id=$parent_proc_id parent_proc_id=`ps -fp $proc_id | tail -1 | awk '{print $3}'` done if ps $proc_id | grep -q telnetd then echo "Please configure telnet settings via ssh or console" exit 1 fi usage() { echo "Usage: $0 enable <port>" echo " $0 disable" echo " $0 allow-root {true|false}" exit 1; } allow-root() { case "$1" in true) ;; false) ;; *) echo "Expect true or false" usage ;; esac sudo sed -i -e '/^# Pseudo-terminal (telnet)/,$d' /etc/securetty if [ $1 = "false" ]; then return fi sudo sh -c "cat >>/etc/securetty" <<EOF # Pseudo-terminal (telnet) pts/0 pts/1 pts/2 pts/3 pts/4 pts/5 pts/6 pts/7 pts/8 pts/9 pts/10 pts/11 pts/12 pts/13 pts/14 pts/15 pts/16 pts/17 pts/18 pts/19 EOF } case "$1" in allow-root) allow-root $2 ;; enable) if [ -z "$2" ] then echo "Missing port number"; usage fi exec sudo /opt/vyatta/sbin/telnetd.init restart "$2" ;; disable) exec sudo /opt/vyatta/sbin/telnetd.init stop ;; *) echo "Unknown argument $1"; usage ;; esac