Bezoekers

63.8%Netherlands Netherlands
14.8%Belgium Belgium
12.7%United States United States
2.1%France France
2.1%Sweden Sweden
2.1%China China
2.1%Poland Poland

Vandaag: 2
Gisteren: 3
Deze Week: 7
Vorige Week: 14
Deze Maand: 25
Vorige Maand: 39
Totaal: 264

Login Form

Een aangepast welkom scherm is wat iedere server administrator nodig heeft. Het geef bij het inloggen belangrijke informatie weer zoals: Temperatuur van de CPU, Geheugen en schijf gebruik, info over beschikbare updates enz. Om een aangepast welkom scherm te kunnen installeren, moeten we het bc pakket installeren.

sudo apt-get install bc

We beginnen met de informatie over beschikbare systeem updates. Hiervoor maken we een stukje script aan wat bij iedere start van de Raspberry opgestart word door user root. We slaan dit script op in een map die we nu eerst gaan aanmaken.

sudo mkdir -p /var/script/root/

Het script maken we aan met dit commando:

sudo nano /var/script/root/update_checker.sh

LET OP!!! Wijzig in het script de tekst: [USER] in de door u gebruikte user, uiteraard zonder de haakjes!. Dit is in de standaard Raspbian installatie pi

#!/bin/bash

apt-get update
apt-get upgrade -d -y | grep 'upgraded,' | awk {'print $1'} > /home/[USER]/updates-available.dat
echo "Update Check Complete"

Nu maken we het script opstartbaar (executable) met het volgende commando:

sudo chmod +x /var/script/root/update_checker.sh

Dit script starten we vervolgens iedere 3 uur automatisch op middels een cronjob

sudo crontab -e

Voeg aan het eind van dit bestand de volgende regel toe en sla het bestand op met CTRL+X en Y

0 */3 * * * /var/script/root/update_checker.sh > /dev/null 2>&1

Het welkom scherm zelf gaan we nu aanmaken. We maken hierbij gebruik van MOTD (message of the day) We plaatsen alles in een aparte map die we nu eerst aanmaken.

sudo mkdir /var/script/MOTD

Wijzig de eigenaar van de map in de user welke u gebruikt voor SSH verbindingen: LET OP!!! Verander in deze regel [USER} in de door u gebruikte user. Standaard is dit pi

sudo chown -R [USER]:[USER] /var/script/MOTD

Nu maken we het script aan:

nano /var/script/MOTD/MOTD.sh

Plak nu deze regels in de file. Pas in het script deze regel aan: Waarbij [USER] de door u gebruikte usernaam is, standaard pi

UPDATESAVAIL=`cat /home/[USER]/updates-available.dat`
#!/bin/bash
clear && printf '\e[3J'
########################################################################
# Kleuren Instellen
########################################################################
C0='\033[1;37m' # Wit
C1='\033[0;35m' # Paars
C2='\033[0;32m' # Groen
C3='\033[0;37m' # Grijs
C4='\033[1;32m' # Licht Groen
C5='\033[0;31m' # Rood
C6='\033[1;33m' # Geel
C7='\033[0;34m' # Blauw

########################################################################
# Commando configuratie
########################################################################
PROCCOUNT=`ps -Afl | wc -l`
PROCCOUNT=`expr $PROCCOUNT - 5`
GROUPZ=`groups`
USER=`whoami`
ADMINS=`cat /etc/group | grep --regex "^sudo" | awk -F: '{print $4}' | tr ',' '|'`
ADMINSLIST=`grep -E $ADMINS /etc/passwd | tr ':' ' ' | tr ',' ' ' | awk {'print $5,$6,"("$1")"'} | tr '\n' ',' | sed '$s/.$//'`
UPDATESAVAIL=`cat /home/[USER]/updates-available.dat`

cur_temperature=$(cat /sys/class/thermal/thermal_zone0/temp)
cur_temperature=$(echo "$cur_temperature/1000" | bc -l | xargs printf "%1.0f")

# Load averages
read one five fifteen rest < /proc/loadavg

if [[ $GROUPZ == "$USER sudo" ]]; then
USERGROUP="Administrator"
elif [[ $USER = "root" ]]; then
USERGROUP="Root"
elif [[ $USER = "$USER" ]]; then
USERGROUP="Regular User"
else
USERGROUP="$GROUPZ"
fi


echo -e " ${C1}++++++++++++++++++++++++: ${C3}System Data${C1} :+++++++++++++++++++++++++++
${C1} + ${C3}Hostname ${C1}= ${C4}`hostname`
${C1} + ${C3}IPv4 Address ${C1}= ${C4}`wget http://ipinfo.io/ip -qO -` ${C0}(`/sbin/ifconfig eth0 | /bin/grep "inet addr" | /usr/bin/cut -d ":" -f 2 | /usr/bin/cut -d " " -f 1`)
${C1} + ${C3}Uptime ${C1}= ${C4}`uptime | awk -F'( |,|:)+' '{print $6,$7",",$8,"hours,",$9,"minutes."}'`
${C1} + ${C3}Time ${C1}= ${C0}`date`
${C1} + ${C3}CPU T° ${C1}= ${C0}$cur_temperature°C
${C1} + ${C3}Load Averages ${C1}= ${C4}${one}, ${five}, ${fifteen} ${C0}(1, 5, 15 min)
${C1} + ${C3}Distro ${C1}= ${C4}`cat /etc/*release | grep "PRETTY_NAME" | cut -d "=" -f 2- | sed 's/"//g'` ${C0}(`uname -r`)
${C1} + ${C3}CPU ${C1}= ${C4}`cat /proc/cpuinfo | grep "model name" | cut -d ' ' -f3- | awk {'print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10'} | head -1`
${C1} + ${C3}Memory ${C1}= ${C4}`free -m | awk '/Mem/ { printf("%3.1f%%", $3/$2*100) }'` ${C0}(`free -t -m | grep "Mem" | awk {'print $4'}`MB Free, `free -t -m | grep "Mem" | awk {'print $3'}`MB/`free -t -m | grep "Mem" | awk {'print $2'}`MB Used)
${C1} + ${C3}Swap ${C1}= ${C4}`free -m | awk '/Swap/ { printf("%3.1f%%", $3/$2*100) }'` ${C0}(`free -t -m | grep "Swap" | awk {'print $4'}`MB Free, `free -t -m | grep "Swap" | awk {'print $3'}`MB/`free -t -m | grep "Swap" | awk {'print $2'}`MB Used)
${C1} + ${C3}HDD Usage ${C1}= ${C4}`df -H | grep "/dev/root" | awk '{ print $5 }'` ${C0}(`df -hT | grep "/dev/root" | awk {'print $5'}`B Free, `df -hT | grep "/dev/root" | awk {'print $4'}`B/`df -hT | grep "/dev/root" | awk {'print $3'}`B Used)
${C1} + ${C3}Updates ${C1}= ${C4}$UPDATESAVAIL ${C0}"Updates Available"
${C1} ++++++++++++++++++++++++: ${C3}User Data${C1} :+++++++++++++++++++++++++++++
${C1} + ${C3}Username ${C1}= ${C4}`whoami` ${C0}($USERGROUP)
${C1} + ${C3}Last Login     ${C1}=  ${C4}`last -a $USER | head -2 | awk 'NR==2{print $3,$4,$5,$6}'` from `last -a $USER | head -2 | awk 'NR==2{print $10}'`
${C1} + ${C3}Sessions ${C1}= ${C4}`who | grep $USER | wc -l`
${C1} + ${C3}Processes ${C1}= ${C4}$PROCCOUNT of `ulimit -u` max
${C1} ++++++++++++++++++++: ${C3}Helpful Information${C1} :+++++++++++++++++++++++
${C1} + ${C3}Administrators ${C1}= ${C4}$ADMINSLIST
${C1} ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
"

Sla het script op met CTRL+X en Y.

 

Maak het script opstartbaar (executable)

chmod +x /var/script/MOTD/MOTD.sh

Nu moeten we wat zaken instellen, dat doen we met user root. Voer onderstaande commando's na elkaar in.

su

echo '' > /etc/motd

nano /etc/ssh/sshd_config

In het zojuist geopende bestand sshd_config moet u deze regels opzoeken en aanpassen zodat ze eruit zien zoals onderstaand.

PrintLastLog no
PrintMotd no

Nu moeten we de SSH service opnieuw starten zodat de wijzigingen geactiveerd worden.

/etc/init.d/ssh restart

We moeten nu een wijziging aanbrengen in een bestand. Open het bestand:

nano /etc/pam.d/login

Zoek de volgende regel en plaats er een # voor. Sla het bestand daarna op met CTRL+X en Y

session optional pam_motd.so

Nu moeten we nog het profiel bestand aanpassen. Open het bestand:

nano /etc/profile

Helemaal aan het eind van dit bestand voeg je deze regel toe. Sla het bestand daarna op met CTL+X en Y

/var/script/MOTD/MOTD.sh

Nu kunnen we root verlaten

exit

Als je alle instructies hebt opgevolgd, krijg je voortaan het nieuwe welkom scherm te zien zodra je inlogd via SSH.

 

 

 

Creative Commons-Licentie
Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

 

 

 

 

U moet ingelogd zijn om een reactie te plaatsen

Real time web analytics, Heat map tracking