tachtler:dreambox_login_anpassungen
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | tachtler:dreambox_login_anpassungen [2011/06/16 15:21] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Dreambox Login Anpassungen ====== | ||
+ | Folgende Anpassungen des Logins können auf einer Dreambox durchgeführt werden. | ||
+ | |||
+ | :!: **HINWEIS** - Diese Anpassungen sind jedoch für den normalen Betrieb der Dreambox __**NICHT**__ erforderlich, | ||
+ | |||
+ | ===== Anpassung Hostname ===== | ||
+ | |||
+ | Standardmäßig meldet sich die Dreambox nach einem Login via | ||
+ | * Telnet | ||
+ | * SSH | ||
+ | mit folgendem // | ||
+ | < | ||
+ | root@dm7025: | ||
+ | </ | ||
+ | |||
+ | Abgefragt wird der Hostname mit nachfolgendem Befehl: | ||
+ | < | ||
+ | root@dm7025: | ||
+ | dm7025 | ||
+ | root@dm7025: | ||
+ | </ | ||
+ | |||
+ | Mit nachfolgendem Befehl, kann der Hostname auf z.B. einen eigenen DNS-Namen abgeändert werden: | ||
+ | < | ||
+ | root@dm7025: | ||
+ | root@receiver: | ||
+ | </ | ||
+ | |||
+ | Um diese Änderungen auch **dauerhaft**, | ||
+ | * **''/ | ||
+ | auf den neuen Namen erforderlich. | ||
+ | |||
+ | Mit dem nachfolgendem Befehl kann die Datei editiert werden: | ||
+ | < | ||
+ | root@receiver: | ||
+ | </ | ||
+ | |||
+ | :!: **WICHTIG** - **Im Editorfenster muss dann die Tastenkombination '' | ||
+ | |||
+ | :!: **WICHTIG** - **Gespeichert wird mit 2 x [Esc]-Taste und dann muss '' | ||
+ | |||
+ | ===== Anpassung issue, issue.net, motd ===== | ||
+ | |||
+ | In den Dateien | ||
+ | * ''/ | ||
+ | * ''/ | ||
+ | * ''/ | ||
+ | sind jeweils Informationen abgelegt, welche beim anmelden an der Dreambox zur Anzeige kommen können. | ||
+ | |||
+ | Die Datei ''/ | ||
+ | |||
+ | Die Datei ''/ | ||
+ | |||
+ | Die Datei ''/ | ||
+ | |||
+ | :!: **WICHTIG** - **Nachfolgend ein kleines Script, welches die Generierung aller drei Dateien übernimmt!** | ||
+ | |||
+ | < | ||
+ | #!/bin/sh | ||
+ | |||
+ | ############################################################################## | ||
+ | # Script-Name : issue-issue.net-motd.sh | ||
+ | # Description : Generates the files /etc/issue, / | ||
+ | # which will be used at login. /etc/issue is used at the tty- # | ||
+ | # | ||
+ | # | ||
+ | # at the prompt. | ||
+ | # Last update : 24.11.2009 | ||
+ | # Version | ||
+ | ############################################################################## | ||
+ | |||
+ | # Source function from library import. | ||
+ | success() { | ||
+ | echo -n " | ||
+ | echo -n " | ||
+ | echo -n " | ||
+ | echo -ne " | ||
+ | return 0 | ||
+ | } | ||
+ | |||
+ | failure() { | ||
+ | echo -n " | ||
+ | echo -n " | ||
+ | echo -n " | ||
+ | echo -ne " | ||
+ | return 1 | ||
+ | } | ||
+ | |||
+ | # Function center text with border (screen 80x25). | ||
+ | text_center_border () { | ||
+ | # Input text. | ||
+ | # TEXT_INPUT=`uname -n` | ||
+ | TEXT_INPUT=" | ||
+ | |||
+ | # Help variables. | ||
+ | WORD_COUNT=`echo $TEXT_INPUT | wc -c` | ||
+ | WORD_COUNT=`expr $WORD_COUNT - 1` | ||
+ | LINE_COUNT=72 | ||
+ | DIFF_COUNT=`expr $LINE_COUNT - $WORD_COUNT` | ||
+ | ERG_MODULO=`expr $DIFF_COUNT % 2` | ||
+ | CHAR_BEFOR=`expr $DIFF_COUNT / 2` | ||
+ | CHAR_AFTER=`expr $DIFF_COUNT / 2` | ||
+ | |||
+ | # Check lenght modulo to adjust right border. | ||
+ | if [ " | ||
+ | CHAR_AFTER=`expr $CHAR_AFTER + 1` | ||
+ | fi | ||
+ | |||
+ | # Output line. | ||
+ | printf " # %${CHAR_BEFOR}s${TEXT_INPUT}%${CHAR_AFTER}s #\n" | ||
+ | } | ||
+ | |||
+ | # Source variable declarations. | ||
+ | FILE_ISSUE="/ | ||
+ | FILE_ISSUE_NET="/ | ||
+ | FILE_MOTD="/ | ||
+ | |||
+ | OS_NAME=" | ||
+ | |||
+ | ############################################################################## | ||
+ | # Generate / | ||
+ | ############################################################################## | ||
+ | cat << | ||
+ | $OS_NAME - \s - \v | ||
+ | Kernel \r on an \m at \l | ||
+ | |||
+ | ISSUE | ||
+ | |||
+ | echo -n $" | ||
+ | |||
+ | # Check if file NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | failure; echo | ||
+ | exit 11 | ||
+ | else | ||
+ | success; echo | ||
+ | cat $FILE_ISSUE | ||
+ | fi | ||
+ | |||
+ | # Set owner. | ||
+ | `chown root.root $FILE_ISSUE` | ||
+ | |||
+ | echo -n $"Set owner $FILE_ISSUE" | ||
+ | |||
+ | # Check if owner was set. | ||
+ | if [ " | ||
+ | failure; echo | ||
+ | exit 12 | ||
+ | else | ||
+ | success; echo | ||
+ | fi | ||
+ | |||
+ | # Set file permission. | ||
+ | `chmod 644 $FILE_ISSUE` | ||
+ | |||
+ | echo -n $"Set permission $FILE_ISSUE" | ||
+ | |||
+ | # Check if permission was set. | ||
+ | if [ " | ||
+ | failure; echo | ||
+ | exit 13 | ||
+ | else | ||
+ | success; echo | ||
+ | fi | ||
+ | |||
+ | ls -la $FILE_ISSUE | ||
+ | |||
+ | ############################################################################## | ||
+ | # Generate / | ||
+ | ############################################################################## | ||
+ | cat << | ||
+ | |||
+ | ############################################################################ | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | ############################################################################ | ||
+ | |||
+ | ISSUENET | ||
+ | |||
+ | echo -n $" | ||
+ | |||
+ | # Check if file NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | failure; echo | ||
+ | exit 21 | ||
+ | else | ||
+ | success; echo | ||
+ | cat $FILE_ISSUE_NET | ||
+ | fi | ||
+ | |||
+ | # Set owner. | ||
+ | `chown root.root $FILE_ISSUE_NET` | ||
+ | |||
+ | echo -n $"Set owner $FILE_ISSUE_NET" | ||
+ | |||
+ | # Check if owner was set. | ||
+ | if [ " | ||
+ | failure; echo | ||
+ | exit 22 | ||
+ | else | ||
+ | success; echo | ||
+ | fi | ||
+ | |||
+ | # Set file permission. | ||
+ | `chmod 644 $FILE_ISSUE_NET` | ||
+ | |||
+ | echo -n $"Set permission $FILE_ISSUE_NET" | ||
+ | |||
+ | # Check if permission was set. | ||
+ | if [ " | ||
+ | failure; echo | ||
+ | exit 23 | ||
+ | else | ||
+ | success; echo | ||
+ | fi | ||
+ | |||
+ | ls -la $FILE_ISSUE_NET | ||
+ | |||
+ | ############################################################################## | ||
+ | # Generate / | ||
+ | ############################################################################## | ||
+ | cat << | ||
+ | |||
+ | ############################################################################ | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | MOTD | ||
+ | |||
+ | text_center_border `uname -n` >> | ||
+ | |||
+ | cat << | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | ############################################################################ | ||
+ | |||
+ | MOTD | ||
+ | |||
+ | echo -n $" | ||
+ | |||
+ | # Check if file NOT exist OR IS empty. | ||
+ | if [ ! -s " | ||
+ | failure; echo | ||
+ | exit 31 | ||
+ | else | ||
+ | success; echo | ||
+ | cat $FILE_MOTD | ||
+ | fi | ||
+ | |||
+ | # Set owner. | ||
+ | `chown root.root $FILE_MOTD` | ||
+ | |||
+ | echo -n $"Set owner $FILE_MOTD" | ||
+ | |||
+ | # Check if owner was set. | ||
+ | if [ " | ||
+ | failure; echo | ||
+ | exit 32 | ||
+ | else | ||
+ | success; echo | ||
+ | fi | ||
+ | |||
+ | # Set file permission. | ||
+ | `chmod 644 $FILE_MOTD` | ||
+ | |||
+ | echo -n $"Set permission $FILE_MOTD" | ||
+ | |||
+ | # Check if permission was set. | ||
+ | if [ " | ||
+ | failure; echo | ||
+ | exit 33 | ||
+ | else | ||
+ | success; echo | ||
+ | fi | ||
+ | |||
+ | ls -la $FILE_MOTD | ||
+ | |||
+ | exit 0 | ||
+ | </ | ||
+ | |||
+ | Der Inhalt dieses Scriptes muss in eine Datei auf der Dreambox kopiert werden und zur Ausführung gebracht werden. Folgende Schritte sind dazu notwendig: | ||
+ | |||
+ | **1. Schritt** - Anlegen der Datei mit dem Inhalt des Scriptes | ||
+ | |||
+ | Mit dem nachfolgendem Befehl kann eine neue Datei angelegt und gleichzeitig editiert werden: | ||
+ | < | ||
+ | root@receiver: | ||
+ | </ | ||
+ | |||
+ | :!: **WICHTIG** - **Der Inhalt kann hier mit der Maus markiert und kopiert werden, im Editorfenster muss dann die Taste '' | ||
+ | |||
+ | :!: **WICHTIG** - **Gespeichert wird mit 2 x [Esc]-Taste und dann muss '' | ||
+ | |||
+ | **2. Schritt** - Script ausführbar machen | ||
+ | |||
+ | Nachfolgender Befehl macht die Datei ausführbar, | ||
+ | < | ||
+ | root@receiver: | ||
+ | </ | ||
+ | |||
+ | **3. Schritt** - Script ausführen | ||
+ | |||
+ | Nachfolgender Befehl führt das Script dann aus: | ||
+ | < | ||
+ | root@receiver: | ||
+ | </ | ||
+ | |||
+ | Anzeige während der Ausführung... | ||
+ | |||
+ | < | ||
+ | $Generating / | ||
+ | DreamBox 7025+ - \s - \v | ||
+ | Kernel \r on an \m at \l | ||
+ | |||
+ | $Set owner / | ||
+ | $Set permission / | ||
+ | -rw-r--r-- | ||
+ | $Generating / | ||
+ | |||
+ | ############################################################################ | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | ############################################################################ | ||
+ | |||
+ | $Set owner / | ||
+ | $Set permission / | ||
+ | -rw-r--r-- | ||
+ | $Generating / | ||
+ | |||
+ | ############################################################################ | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | ############################################################################ | ||
+ | |||
+ | $Set owner / | ||
+ | $Set permission / | ||
+ | -rw-r--r-- | ||
+ | </ | ||
+ | |||
+ | ===== Anpassung SSH-Daemon Dropbear ===== | ||
+ | |||
+ | Um bei der Anmeldung via **//SSH//** auch den Anmeldetext, | ||
+ | |||
+ | Änderungen an Dateien sind mit | ||
+ | < | ||
+ | # Tachtler | ||
+ | </ | ||
+ | gekennzeichnet. | ||
+ | |||
+ | Nachfolgende Zeile muss in das Start-Script von [[http:// | ||
+ | < | ||
+ | DROPBEAR_BANNER=/ | ||
+ | </ | ||
+ | |||
+ | Hier die komplette Startdatei: | ||
+ | < | ||
+ | #!/bin/sh | ||
+ | # | ||
+ | # Do not configure this file. Edit / | ||
+ | # | ||
+ | |||
+ | PATH=/ | ||
+ | DAEMON=/ | ||
+ | NAME=dropbear | ||
+ | DESC=" | ||
+ | |||
+ | DROPBEAR_PORT=22 | ||
+ | DROPBEAR_EXTRA_ARGS= | ||
+ | # Tachtler | ||
+ | DROPBEAR_BANNER=/ | ||
+ | NO_START=0 | ||
+ | |||
+ | set -e | ||
+ | |||
+ | test ! -r / | ||
+ | test " | ||
+ | test -x " | ||
+ | test ! -h / | ||
+ | |||
+ | readonly_rootfs=0 | ||
+ | for flag in `awk '{ if ($2 == "/" | ||
+ | case $flag in | ||
+ | ro) | ||
+ | | ||
+ | ;; | ||
+ | esac | ||
+ | done | ||
+ | |||
+ | if [ $readonly_rootfs = " | ||
+ | mkdir -p / | ||
+ | DROPBEAR_RSAKEY_DEFAULT="/ | ||
+ | DROPBEAR_DSSKEY_DEFAULT="/ | ||
+ | else | ||
+ | DROPBEAR_RSAKEY_DEFAULT="/ | ||
+ | DROPBEAR_DSSKEY_DEFAULT="/ | ||
+ | fi | ||
+ | |||
+ | test -z " | ||
+ | DROPBEAR_EXTRA_ARGS=" | ||
+ | test -n " | ||
+ | DROPBEAR_RSAKEY=$DROPBEAR_RSAKEY_DEFAULT | ||
+ | test -n " | ||
+ | DROPBEAR_DSSKEY=$DROPBEAR_DSSKEY_DEFAULT | ||
+ | test -n " | ||
+ | DROPBEAR_KEYTYPES=" | ||
+ | |||
+ | gen_keys() { | ||
+ | for t in $DROPBEAR_KEYTYPES; | ||
+ | case $t in | ||
+ | rsa) | ||
+ | test -f $DROPBEAR_RSAKEY || dropbearkey -t rsa -f $DROPBEAR_RSAKEY | ||
+ | ;; | ||
+ | dsa) | ||
+ | test -f $DROPBEAR_DSSKEY || dropbearkey -t dss -f $DROPBEAR_DSSKEY | ||
+ | ;; | ||
+ | esac | ||
+ | done | ||
+ | } | ||
+ | |||
+ | case " | ||
+ | start) | ||
+ | echo -n " | ||
+ | gen_keys | ||
+ | KEY_ARGS="" | ||
+ | test -f $DROPBEAR_DSSKEY && KEY_ARGS=" | ||
+ | test -f $DROPBEAR_RSAKEY && KEY_ARGS=" | ||
+ | start-stop-daemon -S \ | ||
+ | -x " | ||
+ | -p " | ||
+ | echo " | ||
+ | ;; | ||
+ | stop) | ||
+ | echo -n " | ||
+ | start-stop-daemon -K -x " | ||
+ | echo " | ||
+ | ;; | ||
+ | restart|force-reload) | ||
+ | echo -n " | ||
+ | start-stop-daemon -K -x " | ||
+ | sleep 1 | ||
+ | KEY_ARGS="" | ||
+ | test -f $DROPBEAR_DSSKEY && KEY_ARGS=" | ||
+ | test -f $DROPBEAR_RSAKEY && KEY_ARGS=" | ||
+ | start-stop-daemon -S \ | ||
+ | -x " | ||
+ | -p " | ||
+ | echo " | ||
+ | ;; | ||
+ | *) | ||
+ | N=/ | ||
+ | echo " | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | exit 0 | ||
+ | </ | ||
+ | |||
+ | :!: **HINWEIS** - **Die Änderungen können auch in einer neuen Datei mit dem Namen '' | ||
+ | |||
+ | :!: **WICHTIG** - **Um die Einstellungen wirksam werden zu lassen, ist es am einfachsten die Dreambox neu zu starten!** |
tachtler/dreambox_login_anpassungen.txt · Zuletzt geändert: 2011/06/16 15:21 von 127.0.0.1