/usr/sbin/ejabberdctl is in ejabberd 2.1.10-2ubuntu1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #!/bin/sh
ERLANG_NODE=ejabberd
if [ -f /etc/default/ejabberd ] ; then
    . /etc/default/ejabberd
fi
if [ "$FIREWALL_WINDOW" = "" ] ; then
    KERNEL_OPTS=""
else
    KERNEL_OPTS="-kernel \
	inet_dist_listen_min ${FIREWALL_WINDOW%-*} \
	inet_dist_listen_max ${FIREWALL_WINDOW#*-}"
fi
if [ -r /var/lib/ejabberd/.erlang.cookie ] ; then
    HOME=/var/lib/ejabberd
    export HOME
fi
ERL_CRASH_DUMP=/var/log/ejabberd/erl_crash.dump
export ERL_CRASH_DUMP
ERL=/usr/bin/erl
EBIN_DIR=/usr/lib/ejabberd/ebin
SUFFIX=''
if [ $# -ne 0 ] ; then
    case $1 in
	--) shift; break ;;
	--node) shift ; ERLANG_NODE=$1 ; shift ;;
	--concurrent) shift; SUFFIX=$$ ;;
    esac
fi
if [ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] ; then
    SNAME=-sname
else
    SNAME=-name
fi
case $1 in
    debug)
	shift
	if [ "$ERLANG_NODE" = "${ERLANG_NODE%@*}" ] ; then
	    ERLANG_NODE=$ERLANG_NODE@$(hostname -s)
	fi
	echo "Attaching Erlang shell to node $ERLANG_NODE."
	echo "To detach it, press: Ctrl+G, q, Return"
	echo ""
	exec $ERL $SNAME ejabberddebug$SUFFIX \
	    -remsh $ERLANG_NODE \
	    $KERNEL_OPTS \
	    "$@"
    ;;
    *)
	exec $ERL $SNAME ejabberdctl$SUFFIX \
	    -pa $EBIN_DIR \
	    -s ejabberd_ctl \
	    -noinput \
	    $KERNEL_OPTS \
	    -extra $ERLANG_NODE "$@"
    ;;
esac
 |