[ RELEASE ] Root Installhelper - Installiert kompletten Root automatisch (SHELL) .. !

09/15/2011 05:40 dynki#1
Guten Tag,

Diese Shell (welche in Bash geschrieben ist) stammt weder von mir, noch habe ich diese geschrieben.
Ich habe sie vor einigen Wochen von Phil erhalten und ich release diese nun, weil es langsam nicht mehr sein kann, dass gewisse Personen wie Infinity über 100 Euro für eine simple Installation verlangen.

PS VON PHIL!!:

Quote:
PHIIÖÖLL 06:02
schreib mal noch dazu, dass ich den thread regelmäßig abchecken werde, einfach aufgrund sämtlicher reaktionen, die wieder nach aufmerksamkeit schreien und ich mich darüber freue, wie gewisse personen sich wieder aufregen werden.

wie ich bereits mal gesagt habe, der bumerang kommt bald zurück - bald ist es soweit und mit euch bin ich definitiv noch nicht fertig, zumindestens mit gewissen personen wie downi, daroo und co.


Bevor ihr weiterlest, das hier ist eine kleine Einschau in das was Phil machen wollte bzw. gemacht hat: [Only registered and activated users can see links. Click Here To Register...]

So, nun zum Thema Guys !!

Die Shell macht alles für euch, was man braucht.

- 1) Portsnap (fetch/update)
- 2) Pwgen
- 3) Screen
- 4) Python
- 5) Wget
- 6) Libs
- 7) MySQL
- 8) PAE Kernel
- 9) IPFW (Firewall) + Kernel komplimierung
- 10) PF (Packet Filter) + Kernel komplimierung
- 11) SSH Guard
- 12) Apache2
- 13) PHP 5
- 14) PHP 5 Extensions
- 15) Swap
- 16) Systemupdate & Upgrade

--

- 17) System Passwort ändern
- 18) MySQL Passwort setzen
- 19) MySQL Benutzer erstellen
- 20) MySQL Passwort ändern

Die Libs werden automatisch für das System angepasst.
Hat man 32 Bit, lädt er für 32 Bit die Libs runter.
Hat man 64 Bit, lädt er die normalen Libs und die /usr/lib32/ runter und installiert diese, damit man auch auf 64 Bit hosten kann.

Für alles andere ist in der Shell eine kurze Erklärung bei jeder Shell.

Daran denken, dass die Firewall/PF rules angepasst werden müssen unter /usr/local/etc/*.rules

ACHTUNG! : Wenn man 64 Bit hat, muss wget installiert sein, da die /usr/lib32/ über wget geladen werden. !!


Das einzige, was ihr braucht, ist Bash auf dem System.
Das ist eine Shell, installiert wird diese so:

PHP Code:
pkg_add -r bash
rehash 
Wenn das nicht funktioniert:

PHP Code:
cd /usr/ports/shells/bash && make install
rehash 
Ladet danach die Shell hoch und führt sie mit "bash installhelper.sh" aus, mit "sh installhelper.sh" wird dies nicht klappen.
Oder halt mit "bash sowieihrsiegenannthabt.sh" ausführen, also wenn ihr ein anderen Namen für die Shell habt.!!

Wenn ihr den PAE, IPFW, ODER PF KERNEL installieren wollt, müsst ihr vorder den /usr/src Ordner laden, der die Kernel beinhaltet.
Das geht so:

Dann geben wir sysinstall ein & gehen auf Configure, dort wählen wir Distrubions aus, dann einma bei src enter drücken, dann bei base ein X und bei sys ein X.
Danach immer auf Ok und von der Main Site bzw. dem Standart FTP Server laden !!! sonst geht das komplimieren nicht, da das destverzeichnis nicht vorhanden ist.



Wenn ihr sie hier kopiert wird es eventuell zu Fehlern kommen, deshalb habe ich sie nochmal bei Pastebin eingefügt.

PHP Code:
#!/bin/bash

# Buildworld Shell
# -----------------
# Credits to aiiR7
# -----------------

# Server, auf dem alle Dateien liegen, die während der Installation benötigt werden.
MAINPAGE="http://www.gamers-worlds.de/aiiR7" 


REL=$(uname -r);
KERNEL=$(uname -i);
ARCH=$(uname -m);

# Bin Pfads. Ändere diese nur, wenn sie nicht via "which" erkannt werden.
PORTSNAP=$(which portsnap);
PY=$(which python);
SRC=$(which screen);
PWGEN=$(which pwgen);
MYSQL=$(which mysql);
PW=$(pwgen -s 10);
APACHE=$(which apachectl);
PHP5=$(which php);
SSH=$(which sshguard);


# Kernel Variablen für die IPFW.
IPF="IPFIREWALL IPFIREWALL_VERBOSE IPFIREWALL_VERBOSE_LIMIT=10 IPDIVERT"

# Kernel Variablen für die PF.
PFO="ALTQ ALTQ_CBQ ALTQ_RED ALTQ_RIO ALTQ_HFSC ALTQ_PRIQ ALTQ_NOPCC" # ALTQ
PFD="pf pflog pfsync" # PF




# Anfang der Funktionen.

# Ports werden für alle Pakete gebraucht, die installiert werden sollen.
# Sofern nötig, jede 48 Stunden diese aktualisieren.
function_portsnap()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='portsnap()';
        
clear;
        echo 
" 1) Ports installieren"
        
echo " 2) Ports aktualisieren"
        
read -"Möchtest du die Ports Installieren oder Updaten?" CHOICE
        
if [[ "$CHOICE== ]]
        
then
                
echo "Ports werden nun installiert"
                
$PORTSNAP fetch extract                
        elif 
[[ "$CHOICE== ]]
        
then
                
echo "Ports werden installiert und aktualisiert."
                
$PORTSNAP update;
        else
                echo 
"Abbrechen."
                
return;
        
fi

       
}


#----------


# Ein simpler Passwortgenerator. Die Passwörter, die mit diesem generiert werden, werden vorübergehend in einer .tmp Datei gespeichert 
# (dient nur zur eigenen Sicherheit und werden nicht missbraucht, da nur der Benutzer "root" auf sie zugreifen kann).
function_pwgen()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_PWGEN()';
        
clear;
        if [[ -
"$PWGEN]]
        
then
                clear
                
echo '----------------------------------------------------'
                
echo -"\033[31mPwgen ist bereits installiert.\033[0m";
                echo 
'----------------------------------------------------'
                
return;
        
fi
        
#---
        
echo "Pwgen wird nun installiert"
        
cd /usr/ports/sysutils/pwgen/
        
make install clean
        clear
        
echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mDONE\033[0m"
        
echo '----------------------------------------------------'
        
echo
        echo 
' - Bitte einmal "rehash" eingeben - '
        
echo
}


#----------


# Sollte installiert sein, wenn der SSHGuard aktiv sein soll. Natürlich kann Screen auch für andere anwendungen hilfreich sein. 
# Für Sämtliche Scripts/Shells empfehle ich Cronjob, da Screen zu viele Resourcen frisst.
function_screen()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_screen()';
        
clear;
        if [[ -
"$SRC]]
                
then
                clear
                
echo '----------------------------------------------------'
                
echo -"\033[31mScreen ist bereits installiert.\033[0m";
                echo 
'----------------------------------------------------'
                
return;
        
fi
        
#---
        
echo "Screen wird nun installiert."
        
cd /usr/ports/sysutils/screen/
        
make install clean
        clear
        
echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mDONE\033[0m";
        echo 
'----------------------------------------------------'
        
echo
        echo 
' - Bitte einmal "rehash" eingeben - '
        
echo
}


#----------


# Pyton wird von der make.py benötigt. Python muss nicht installiert werden, wenn die in sh/bash geschriebene make vorliegt.
function_python()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_python()';
        
clear;
        if [[ -
"$PY]]
        
then    
                clear
                
echo '----------------------------------------------------'
                
echo -"\033[31mPython ist bereits installiert.\033[0m";
                echo 
'----------------------------------------------------'
                
return;
        
fi
        
#---
        
echo "Python wird nun installiert."
        
cd /usr/ports/lang/python
        make install clean 
        clear
        
echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mDONE\033[0m";
        echo 
'----------------------------------------------------'
        
echo
        echo 
' - Bitte einmal "rehash" eingeben - '
        
echo

}


#----------


# Sollte installiert werden, wenn man auf einem 64-Bit System administriert und anschließend die Libs runterladen und installieren möchte (wegen den lib32 Librarys).
function_wget() 
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_libs()';
        
clear;
        echo 
"Wget wird nun installiert."
        
cd /usr/ports/ftp/wget
        make config
        make install
        clear
        
echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mDONE\033[0m";
        echo 
'----------------------------------------------------'
        
echo
        echo 
' - Bitte einmal "rehash" eingeben - '
        
echo
}        


#----------


# Hier werden die benötigten Libs für den Gameserver runtergeladen. Falls das System ein 64-Bit System ist, werden anschließend die lib32 Librarys geladen und installiert. 
# Die benötigten Symlinks werden auch erstellt.
function_libs()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_libs()';
        
clear;
        echo 
"Libs werden runtergeladen und entpackt."
        
cd /lib
        fetch $MAINPAGE
/libs.tar.gz
        tar zxvf libs
.tar.gz
        rm libs
.tar.gz
        
if [[ $ARCH == "amd64" ]]
        
then 
                mkdir 
-/tmp/usr/lib32/dist
                cd 
/tmp/usr/lib32/dist
                wget ftp
://ftp.freebsd.org/pub/FreeBSD/releases/amd64/8.2-RELEASE/lib32/*
                
chmod 777 install.sh
                
./install.sh
                cd 
/usr/lib32
                ln 
-s libmd.so.5 libmd.so.4
                ln 
-s libz.so.5 libz.so.4
        fi
        clear
        
echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mDONE\033[0m";
        echo 
'----------------------------------------------------'
        
echo
}


#----------


# MySQL 5.5 wird installiert.
function_mysql()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_mysql()';
        
clear;
        if [[ -
"$MYSQL]]
        
then
                clear
                
echo '----------------------------------------------------'
                
echo -"\033[31mMySQL ist bereits installiert.\033[0m";
                echo 
'----------------------------------------------------'
        
        
else
        
#---
        
echo "MySQL wird nun installiert."
        
cd /usr/ports/databases/mysql55-server/
        
make WITH_XCHARSET=all BUILD_STATIC=yes BUILD_OPTIMIZED=yes install clean
        chown 
-R mysql /var/db/mysql/ && chgrp -R mysql /var/db/mysql/
        echo 
'mysql_enable="YES"' >> /etc/rc.conf
        clear
        
echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mDONE\033[0m";
        echo 
'----------------------------------------------------'
        
echo
        
fi

}


#----------


# Diese Funktion installiert den PAE Kernel und sollte nur unter 32 Bit verwendet werden.
function_paekernel()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_paekernel()';
        
clear;
        if [[ ! -
/usr/src/UPDATING ]]
        
then
                clear
                
echo '----------------------------------------------------'
                
echo -"\033[31mSource wurde noch nicht installiert\033[0m";
                echo 
'----------------------------------------------------'
                
return;
        
fi
        
#--
        
echo 'ident        PAE' >> /usr/src/sys/i386/conf/PAE
        
echo "Preparing and running buildworld."
        
cd /usr/src
        make buildkernel KERNCONF
=PAE && make installkernel KERNCONF=PAE
        clear
        
echo
        echo 
'----------------------------------------------------'
        
echo 'Bitte unbedingt Rebooten, sofern die Installation'
        
echo 'erfolgreich war.'
        
echo '----------------------------------------------------'
        
echo
}


#----------


# Hier wird der aktuelle Kernel kopiert und anschließend die IPFW in den kopierten Kernel eingebaut. Anschließend kompilieren wir ihn. 
# Die Firewall Rules werden vom Fetchserver geladen.
function_firewall()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_firewall()';
        
clear;
        if [[ ! -
/usr/src/UPDATING ]]
        
then
                clear
                
echo '----------------------------------------------------'
                
echo -"\033[31mSource wurde noch nicht installiert\033[0m";
                echo 
'----------------------------------------------------'
                
return;
        
fi
        
#--
        
echo "Die Firewall (IPFW) wird nun installiert."
        
cd /usr/src/sys/$ARCH/conf
        cp $KERNEL IPFW$KERNEL        
        
if [[ $KERNEL == "PAE" ]]
        
then
                
echo 'ident        IPFWPAE' >> IPFW$KERNEL                
        elif 
[[ $KERNEL == "PFPAE" ]]
        
then
                
echo 'ident     IPFWPFPAE' >> IPFW$KERNEL                
        
else 
                echo 
'ident     IPFW' >> IPFW$KERNEL
        fi        
        
for i in $IPF
            
do
                echo 
"options    $i>> IPFW$KERNEL
            done
        cd 
/usr/src
        make buildkernel KERNCONF
=IPFW$KERNEL && make installkernel KERNCONF=IPFW$KERNEL
        
echo 'firewall_enable="YES"' >> /etc/rc.conf
        
echo 'firewall_script="/usr/local/etc/ipfw.rules"' >> /etc/rc.conf
        cd 
/usr/local/etc/
        
fetch $MAINPAGE/ipfw.rules
        clear
        
echo
        echo 
'----------------------------------------------------'
        
echo 'Die IPFW wurde in den $KERNEL KERNEL eingebaut'
        
echo 'Bitte noch die Ports in der ipfw.rules anpassen'
        
echo 'Diese findest du unter "/usr/local/etc"'
        
echo '----------------------------------------------------'
        
echo
}


#----------


# Hier wird der aktuelle Kernel kopiert und anschließend die PF in den kopierten Kernel eingebaut. Anschließend kompilieren wir ihn. 
#Die Firewall Rules werden vom Fetchserver geladen.
function_pf()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_pf()';
        
clear;
        if [[ ! -
/usr/src/UPDATING ]]
        
then
                clear
                
echo '----------------------------------------------------'
                
echo -"\033[31mSource wurde noch nicht installiert\033[0m";
                echo 
'----------------------------------------------------'
                
return;
        
fi
        
#--
        
echo "Die Firewall (PF) wird nun installiert."
        
cd /usr/src/sys/$ARCH/conf
        cp $KERNEL PF$KERNEL
        
if [[ $KERNEL == "PAE" ]]
        
then
                
echo 'ident        PFPAE' >> PF$KERNEL
        elif 
[[ $KERNEL == "IPFWPAE" ]]; then
                
echo 'ident     IPFWPFPAE' >> PF$KERNEL
        
else 
                echo 
'ident     PF' >> PF$KERNEL
        fi
        
for i in $PFO
            
do
                echo 
"options    $i>> PF$KERNEL
            done
        
for i in $PFD
            
do
                echo 
"device    $i>> PF$KERNEL
            done
        cd 
/usr/src
        make buildkernel KERNCONF
=PF$KERNEL && make installkernel KERNCONF=PF$KERNEL
        
echo 'pf_enable="YES"' >> /etc/rc.conf
        
echo 'pf_rules="/usr/local/etc/pf.conf"' >> /etc/rc.conf
        cd 
/usr/local/etc
        fetch $MAINPAGE
/pf.conf
        clear
        
echo
        echo 
'----------------------------------------------------'
        
echo 'Die FW wurde in den $KERNEL KERNEL eingebaut'
        
echo 'Diese findest du unter "/usr/local/etc"'
        
echo '----------------------------------------------------'
        
echo
}


#----------


# SSHGuard bietet einen Schutz gegen Bruteforce oder andere Attacken. (Muss gescreend werden).
function_sshguard()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_sshguard()';
        
clear;
        if [[ -
"$SSH]]
        
then
                clear
                
echo '----------------------------------------------------'
                
echo -"\033[31m Shguard ist bereits installiert.\033[0m";
                echo 
'----------------------------------------------------'
                
return;
        
fi
        
#---
        
echo "SSHGuard wird nun installiert."
        
cd /usr/ports/security/sshguard/
        
make install clean
        clear
        
echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mDONE\033[0m";
        echo 
'----------------------------------------------------'
        
echo
        echo 
' - Bitte einmal "rehash" eingeben - '
        
echo
}


#----------


# Hier wird der Apache22 Webserver installiert.
function_apache2()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_apache2()';
        
clear;
        if [[ -
"$APACHE]]
        
then
                clear
                
echo '----------------------------------------------------'
                
echo -"\033[31m Apache ist bereits installiert.\033[0m";
                echo 
'----------------------------------------------------'
        
        
else
        
#---
        
echo "Apache2 wird nun installiert."
        
cd /usr/ports/www/apache22
        make install        
        
echo 'apache22_enable="YES"' >> /etc/rc.conf
        
echo 'accf_http_load="YES"' >> /boot/loader.conf
        clear
        
echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mDONE\033[0m";
        echo 
'----------------------------------------------------'
        
echo
        
fi

}


#----------


# Installiert PHP 5 und die dazugehörigen Pakete wie: PHP5-Mysql, PHP5-Session, PHP5-GD(Library) und fügt die Module automatisch in die Apache2 Config ein.
function_php5()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_php5()';
        
clear;
        if [[ -
"$PHP]]
        
then
                clear
                
echo '----------------------------------------------------'
                
echo -"\033[31m PHP ist bereits installiert.\033[0m";
                echo 
'----------------------------------------------------'
        
        
else
        
#---
         
cd /usr/ports/lang/php5
         make config
         make install
         cd 
/usr/ports/databases/php5-mysql
         make install
         cd 
/usr/ports/www/php5-session
         make install
         cd 
/usr/ports/graphics/php5-gd
         make install
         
echo '#LoadModule php5_module        libexec/apache22/libphp5.so
         <IfModule mod_dir.c>
         <IfModule mod_php3.c>
         <IfModule mod_php5.c>
         DirectoryIndex index.php index.php3 index.html
         </IfModule>
         <IfModule !mod_php4.c>
         DirectoryIndex index.php3 index.html
         </IfModule>
         </IfModule>
         <IfModule !mod_php3.c>
         <IfModule mod_php5.c>
         DirectoryIndex index.php index.html index.htm
         </IfModule>
         <IfModule !mod_php4.c>
         DirectoryIndex index.html
         </IfModule>
         </IfModule>
         </IfModule>' 
>> /usr/local/etc/apache22/httpd.conf 
         
echo 'DirectoryIndex index.php index.html index.htm' >> /usr/local/etc/apache22/httpd.conf 
         
echo 'AddType application/x-httpd-php .php' >> /usr/local/etc/apache22/httpd.conf 
         
echo 'AddType application/x-httpd-php-source .phps' >> /usr/local/etc/apache22/httpd.conf 
        fi

}


#----------


# PHP 5 Extensions werden für gewisse Zwecke benötigt.
function_php5extensions()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_php5extensions()';
        
clear;
        echo 
"PHP5 Extensions werden nun installiert."
        
cd /usr/ports/lang/php5-extensions  
        make config
        make install
        RESULT
=$?
        if [ 
$RESULT -ne 0 ] ; then
        
echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mERROR '$RESULT'\033[0m";
        echo 
'----------------------------------------------------'
        
echo        
        else
        echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mDONE\033[0m";
        echo 
'----------------------------------------------------'
        
echo
        
fi 

}


#----------


# Virtueller Festplattenspeicher. Sollte der Arbeitsspeicher voll ausgenutzt sein, springt der Swap ein. Dieser ist allerdings etwas langsamer.
function_swap()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_swap()';
        
clear;
        
dialog --clear --inputbox "Wie viel MB Swap möchtest du hinzufügen?" 10 60 2swap.tmp  
        SWAPCOUNT
=$( cat swap.tmp )
        
dd if=/dev/zero of=/usr/swap2 bs=1024k count=$SWAPCOUNT
        chmod 0600 
/usr/swap2
        mdconfig 
--t vnode -/usr/swap2 -u 0 && swapon /dev/md0
        RESULT
=$?
        if [ 
$RESULT -ne 0 ] ; then
        
echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mERROR '$RESULT'\033[0m";
        echo 
'----------------------------------------------------'
        
echo        
        else
        echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mDONE\033[0m";
        echo 
'----------------------------------------------------'
        
echo
        
fi 
}


#----------


# Diese Funktion bietet das Updaten oder Upgraden auf eine neuere Version an. Updates sollten alle 48 Stunden durchgeführt werden (Sicherheit).
function_system()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_system()';
        
clear;
        
#---
        
echo "  1) System Update";
        echo 
"  2) System Upgrade + Update";
        echo 
" Q/q) Abbrechen";
        echo;
        
read -"Was möchtest du tun? " SELECT
        
if [[ "$SELECT== ]]
        
then
                freebsd
-update fetch
                freebsd
-update install                
        elif 
[[ "$SELECT== ]]
        
then
                read 
-"Auf welche Version möchtest du upgraden?
                Bitte nur die Versionsnummer angeben, z.B 8.2" 
REL
                freebsd
-update upgrade -r $REL-RELEASE -y
                freebsd
-update install -y
                
echo "Bitte rebooten und danach den Befehl: 
                'freebsd-update install eingeben'"
        
elif [[ "$SELECT== [Qq] ]]
        
then
                
echo "Abbrechen"; echo;echo;
        else
                
clear;
                return;
        
fi
        
        

}


#----------


# Mit Hilfe dieser Funktion kann das aktuelle Passwort eines Benutzers geändert werden.
function_updaterootpassword()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_updaterootpassword()';
        
clear;
        
read -"Für welchen Benutzer soll das Password geändert werden? :" USER
        
echo
        echo 
"Wie soll dein neues Password lauten? :"
        
echo;
        
passwd $USER
        clear
        
echo
        echo 
'----------------------------------------------------'
        
echo -"\033[31mDONE\033[0m";
        echo 
'----------------------------------------------------'
        
echo
}


#----------


# Erstellt einen beliebigen MySQL Benutzer.
function_addmysqluser()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_addmysqluser()';
        
clear;
        
TMPFILES="newmysqluser.tmp newmysqlhost.tmp newmysqlpass.tmp actmysqlpass.tmp"
        
dialog --clear --inputbox "Wie soll der neue Benutzer heißen?" 10 60 2newmysqluser.tmp  
        USER
=$( cat newmysqluser.tmp )
        echo
        
dialog --clear --inputbox "Welcher Host? (IP oder Hostnamen angeben) - '%' für jeden Host." 10 60 2newmysqlhost.tmp  
        HOST
=$( cat newmysqlhost.tmp )
        echo
        
dialog --clear --inputbox "Wie soll das Password für den neuen Benutzer '$( cat newmysqluser.tmp )' lauten?" 10 60 2newmysqlpass.tmp  
        NEWPASS
=$( cat newmysqlpass.tmp )
        echo
        
dialog --clear --inputbox "Bitte das aktuelle Passwort vom Benutzer 'root' eingeben." 10 60 2actmysqlpass.tmp  
        PASS
=$( cat actmysqlpass.tmp 
        
mysql -u root -p$PASS -"GRANT ALL PRIVILEGES ON *.* TO '$USER'@'$HOST' IDENTIFIED BY '$NEWPASS' WITH GRANT OPTION;"
        
RESULT=$?        
        for 
i in $TMPFILES
          
do
                
chmod 600 $i
          done
        
if [ $RESULT -ne 0 ]
        
then
                
echo
                echo 
'----------------------------------------------------'
                
echo -"\033[31mERROR '$RESULT'\033[0m";
                echo 
'----------------------------------------------------'
                
echo        
        else
                echo
                echo 
'----------------------------------------------------'
                
echo -"\033[31mDONE\033[0m";
                echo 
'----------------------------------------------------'
                
echo
        
fi 
}


#----------


# Diese Funktion setzt das MySQL Password. Sofern MySQL installiert wurde, bitte das System neustarten und diese Funktion umgehend ausführen.
function_setmysqlpassword()
{
        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_setmysqlpassword()';
        
clear;
        
dialog --clear --inputbox "Von welchem Benutzer soll das Passwort geändert werden?" 10 60 2setmysqlpass.tmp  
        SETMYSQLPASS
=$( cat setmysqlpass.tmp )
        /
usr/local/bin/mysqladmin -u root password $SETMYSQLPASS
        clear
        chmod 600 setmysqlpass
.tmp
        RESULT
=$?        
        if [ 
$RESULT -ne 0 ]
        
then
                
echo
                echo 
'----------------------------------------------------'
                
echo -"\033[31mERROR '$RESULT'\033[0m";
                echo 
'----------------------------------------------------'
                
echo        
        else
                echo
                echo 
'----------------------------------------------------'
                
echo -"\033[31mDONE\033[0m";
                echo 
'----------------------------------------------------'
                
echo
        
fi 
}


#----------


# Diese Funktion kann dabei helfen, das aktuelle Passwort eines MySQL Benutzers zu ändern.
function_changemysqlpassword()
{

        
RUN_TIME_STAMP=$(date);
        
LAST_RUN='function_changemysqlpassword()';
        
clear;
        
TMPFILES="mysqluser.tmp mysqlpass.tmp mysqlnewpass.tmp"
        
dialog --clear --inputbox "Von welchem Benutzer soll das Passwort geändert werden?" 10 60 2mysqluser.tmp  
        USER
=$( cat mysqluser.tmp )
        
dialog --clear --inputbox "Wie lautet das aktuelle Passwort?" 10 60 2mysqlpass.tmp  
        PASS
=$( cat mysqlpass.tmp )
        
dialog --clear --inputbox "Wie soll das nee Passwort lauten?" 10 60 2mysqlnewpass.tmp  
        NEWPASS
=$( cat mysqlnewpass.tmp )
        for 
i in $TMPFILES
          
do
                
chmod 600 $i
          done
        mysql 
-u $USER -p$PASS -"UPDATE mysql.user SET password=PASSWORD('$NEWPASS') WHERE user='$USER';"
        
mysql -u $USER -p$PASS -"flush privileges;"
        
if [ $RESULT -ne 0 ]
        
then
                
echo
                echo 
'----------------------------------------------------'
                
echo -"\033[31mERROR '$RESULT'\033[0m";
                echo 
'----------------------------------------------------'
                
echo        
        else
                echo
                echo 
'----------------------------------------------------'
                
echo -"\033[31mDONE\033[0m";
                echo 
'----------------------------------------------------'
                
echo
        
fi 
}    
        

# --------------------- #
# Ende der Funktionen.
# --------------------- #

clear
# Hier wird der aktuelle Benutzer überprüft. Nur der Benutzer "root" kann diese Shell ausführen.
if [[ "$(id -u)" -ne 0 ]]
then
        
echo '----------------------------------------------------'
        
echo -"\033[31mAchtung: Die Shell kann nicht ausgeführt werden.\033[0m"
        
echo '----------------------------------------------------'
        
echo
        echo 
"Nur der 'root' Benutzer kann die Shell ausführen."
        
echo "Da du nicht mit dem Benutzer 'root' eingeloggt bist, "
        
echo "kann die Installaton nicht ausgeführt werden."
        
echo
        echo 
"Deine aktuellen Login Informationen lauten: "
        
echo "$(id)"
        
echo
        exit
fi

#----------

continue=yes
while [ "$continueyes ]
do
        echo;
        echo 
"System @: $REL";
        echo 
"--------------------------------"
        
if [[ -n $RUN_TIME_STAMP ]]
        
then
                
echo "Zuletzt ausgeführt:  $RUN_TIME_STAMP";
                echo 
"Letzte ausgeführte Option: $LAST_RUN";
                echo;
        
fi
        
#--
        
echo -"\033[31m# Funktionen \033[0m";
        echo 
"  --";
        echo 
"  1) Portsnap (fetch/update)";
        echo 
"  2) Pwgen";
        echo 
"  3) Screen";
        echo 
"  4) Python";
        echo 
"  5) Wget";
        echo 
"  6) Libs";
        echo 
"  7) MySQL";
        echo 
"  8) PAE Kernel";
        echo 
"  9) IPFW (Firewall) + Kernel komplimierung";
        echo 
" 10) PF (Packet Filter) + Kernel komplimierung";
        echo 
" 11) SSH Guard";
        echo 
" 12) Apache2";
        echo 
" 13) PHP 5";
        echo 
" 14) PHP 5 Extensions";
        echo 
" 15) Swap";
        echo 
" 16) Systemupdate & Upgrade";
        echo 
"  --";
        echo -
"\033[31m# Allgemeine Einstellungen\033[0m";
        echo 
"  --";
        echo 
" 17) System Passwort ändern";
        echo 
" 18) MySQL Passwort setzen";
        echo 
" 19) MySQL Benutzer erstellen"
        
echo " 20) MySQL Passwort ändern";
        echo 
"  --";
        echo 
"  Q) Verlassen / Quit";
        echo 
"--------------------------------"
        
read -"Option auswählen [1-20,Q]:" SELECT
        
if [[ "$SELECT== ]]
        
then
                function_portsnap
;
                continue=
yes;
        
elif [[ "$SELECT== ]]
        
then
                function_pwgen
;
                continue=
yes;
        
elif [[ "$SELECT== ]]
        
then
                function_screen
;
                continue=
yes;
        
elif [[ "$SELECT== ]]
        
then
                function_python
;
                continue=
yes;
        
elif [[ "$SELECT== ]]
        
then
                function_wget
;
                continue=
yes;
        
elif [[ "$SELECT== ]]
        
then
                function_python
;
                continue=
yes;        
        
elif [[ "$SELECT== ]]
        
then
                function_mysql
;
                continue=
yes;
        
elif [[ "$SELECT== ]]
        
then
                function_paekernel
;
                continue=
yes;
        
elif [[ "$SELECT== ]]
        
then
                function_firewall
;
                continue=
yes
        elif 
[[ "$SELECT== 10 ]]
        
then
                function_pf
;        
                continue=
yes;
        
elif [[ "$SELECT== 11 ]]
        
then
                function_sshguard
;        
                continue=
yes;    
        
elif [[ "$SELECT== 12 ]]
        
then
                function_apache2
;        
                continue=
yes;    
        
elif [[ "$SELECT== 13 ]]
        
then
                function_php5
;        
                continue=
yes;    
        
elif [[ "$SELECT== 14 ]]
        
then
                function_php5extensions
;        
                continue=
yes;    
        
elif [[ "$SELECT== 15 ]]
        
then
                function_swap
;        
                continue=
yes;                
        
elif [[ "$SELECT== 16 ]]
        
then
                function_system
;        
                continue=
yes;                    
        
elif [[ "$SELECT== 17 ]]
        
then
                function_updaterootpassword
;        
                continue=
yes;
        
elif [[ "$SELECT== 18 ]]
        
then
                function_setmysqlpassword
;        
                continue=
yes;            
        
elif [[ "$SELECT== 19 ]]
        
then
                function_addmysqluser
;        
                continue=
yes;        
        
elif [[ "$SELECT== 20 ]]
        
then
                function_changemysqlpassword
;        
                continue=
yes;                
        
elif [[ "$SELECT== [Qq] ]]
        
then
                
echo "Abbrechen"; echo;echo;
                continue=
no;
        else
                
clear;
                continue=
yes;
        
fi
done 
Oder hier:

[Only registered and activated users can see links. Click Here To Register...]



Best regards,
dynki
09/15/2011 07:18 .Risan.#2
100€ für eine Einrichtung ist günstig...
Wer keinen Root einrichten kann weil er zu blöd ist ODER zu Faul der muss halt blechen.

Wenn man es nicht kann soll man es lassen, und diese kack Scripte allesammt löschen von epvp... Seitdem es die gibt macht jede 10 jährige Kind pserver...

Best Regards,
Risan
09/15/2011 09:08 FbFunnY#3
gute Sache,kann ich mal gebrauchen.
09/15/2011 10:28 Legend2007#4
Echt top.

Das erspart einem mal einiges an nerven wobei es leicht ist einen root komplett einzurichten.

Dennoch klasse. Danke.
09/15/2011 11:16 xF4ke :þ#5
Quote:
Originally Posted by Risan View Post
100€ für eine Einrichtung ist günstig...
Wer keinen Root einrichten kann weil er zu blöd ist ODER zu Faul der muss halt blechen.

Wenn man es nicht kann soll man es lassen, und diese kack Scripte allesammt löschen von epvp... Seitdem es die gibt macht jede 10 jährige Kind pserver...

Best Regards,
Risan
irgendwo haste schon recht, aber der spruch "Wenn man es nicht kann soll man es lassen,..." der war unnötig....
09/15/2011 12:56 ƬheGame#6
Es ist aber so wer nicht nach tut einen root aufsetzen kann der sollte es lassen ^^ weil mysql etc ist wirklich eine Sache von 20min
09/15/2011 12:57 Lizaso#7
Nice Work, arroganter phil :)
09/15/2011 13:27 .iXream.#8
Es gibt mehr Pserver als Spieler

Das muss euch mal bewusst werden
09/15/2011 13:29 Maiik#9
Quote:
Originally Posted by Risan View Post
100€ für eine Einrichtung ist günstig...
Wer keinen Root einrichten kann weil er zu blöd ist ODER zu Faul der muss halt blechen.

Wenn man es nicht kann soll man es lassen, und diese kack Scripte allesammt löschen von epvp... Seitdem es die gibt macht jede 10 jährige Kind pserver...

Best Regards,
Risan
musst ja nicht auf den P-servern spielen.
09/15/2011 13:34 Daroolein#10
Habe das schon seid Ewigkeiten, aber danke lieber Phil :*
09/15/2011 14:32 .Flynn.#11
Danke Phil sehe dich nichztmehr ICQ? Neue Nummer?
Skype auch nichtmehr..
mfg
Flynn
09/15/2011 14:57 FuBaum :3#12
War dabei wie er's geschrieben hat, und kann wirklich nur sagen, das ist ein richtig richtig richtig geiles Script.

ty CMB ;)


- Cu'sen.
09/15/2011 16:49 jackdown9#13
Das Script selber ist zwar nicht schlecht, trotzdem hoffe ich für dich, dass du nicht wieder zum Abzieher wirst.
09/15/2011 17:25 .Alessa#14
War ja klar, mein Name wird mal wieder nicht erwähnt :>
Sieht man mal, was man davon hat, wenn man anderen Leuten hilft. Wenigstens ein "danke" vom lieben Phil hätte ich erwartet, muss ja nichts öffentliches sein.
09/15/2011 17:43 Perfection-#15
also schon alleine die tatsache das der script von phill ist stört mich schon, da er einfach nur ein scheiß abzocker und scammer ist was dauni bestimmt bestätigen kann!

schaut euch lieber den script genau an ob kein backdoor eingebaut wird!