Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


unix-linux:debian:jessie:configuring-dynamic-motd-in-debian-linux-8-jessie

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
unix-linux:debian:configuring-dynamic-motd-in-debian-linux-8-jessie [15.03.2017 10:04] – создано Алексей Максимовunix-linux:debian:jessie:configuring-dynamic-motd-in-debian-linux-8-jessie [13.08.2018 11:29] (текущий) Алексей Максимов
Строка 4: Строка 4:
 В **Debian GNU/Linux 8 (Jessie)** это сообщение имеет "грустный" вид.  В **Debian GNU/Linux 8 (Jessie)** это сообщение имеет "грустный" вид. 
  
 +{{ :unix-linux:debian:pasted:20170315-100517.png }}
  
 Попробуем сделать это сообщение информативней и полезней для администратора. Попробуем сделать это сообщение информативней и полезней для администратора.
 +Создадим специальный каталог, который будет содержать наши скрипты, которые будут использоваться для генерации динамического motd. 
 +
 +<code># mkdir /etc/update-motd.d</code>
 +
 +Создадим в этом каталоге файл скрипта и сделаем его исполняемым:  
 +
 +<code># touch /etc/update-motd.d/99-mymotd-generator
 +# chmod a+x /etc/update-motd.d/99-mymotd-generator</code>
 +
 +Отредактируем наш скрипт:
 +
 +<code># nano /etc/update-motd.d/99-mymotd-generator</code>
 +
 +Наполним файл скрипта содержимым "по вкусу". Например я взял вариант из проекта [[https://gist.github.com/riespandi/9368730|riespandi - Dynamic SSH Banner]] и немного его подправил под свои нужды. В итоге получилось примерно следующее:
 +
 +<file bash 99-mymotd-generator>
 +#!/bin/sh
 +#
 +# Text Color Variables http://misc.flogisoft.com/bash/tip_colors_and_formatting
 +tcLtG="\033[00;37m"    # LIGHT GRAY
 +tcDkG="\033[01;30m"    # DARK GRAY
 +tcLtR="\033[01;31m"    # LIGHT RED
 +tcLtGRN="\033[01;32m"  # LIGHT GREEN
 +tcLtBL="\033[01;34m"   # LIGHT BLUE
 +tcLtP="\033[01;35m"    # LIGHT PURPLE
 +tcLtC="\033[01;36m"    # LIGHT CYAN
 +tcW="\033[01;37m"      # WHITE
 +tcRESET="\033[0m"
 +tcORANGE="\033[38;5;209m"
 +#
 +# Time of day
 +HOUR=$(date +"%H")
 +if [ $HOUR -lt 12  -a $HOUR -ge 0 ]; then TIME="morning"
 +elif [ $HOUR -lt 17 -a $HOUR -ge 12 ]; then TIME="afternoon"
 +else TIME="evening"
 +fi
 +#
 +# System uptime
 +uptime=`cat /proc/uptime | cut -f1 -d.`
 +upDays=$((uptime/60/60/24))
 +upHours=$((uptime/60/60%24))
 +upMins=$((uptime/60%60))
 +MEMORY1=`free -t -m | grep "buffers/cache" | awk '{print $3" MB";}'`
 +MEMORY2=`free -t -m | grep "Mem" | awk '{print $2" MB";}'`
 +#
 +# System + Memory
 +SYS_LOADS=`cat /proc/loadavg | awk '{print $1}'`
 +SWAP_USED=`free -m | tail -n 1 | awk '{print $3}'`
 +NUM_PROCS=`ps aux | wc -l`
 +IPADDRESS=`hostname --all-ip-addresses`
 +#
 +echo $tcDkG "==================================================================="
 +echo $tcLtG " Good $TIME !                                       $tcORANGE IT Dept Ltd."
 +echo $tcDkG "==================================================================="
 +echo $tcLtG " - Hostname............:$tcW `hostname -f`"
 +echo $tcLtG " - IP Address..........:$tcW $IPADDRESS"
 +echo $tcLtG " - Release.............:$tcW $(lsb_release -s -d)"
 +echo $tcLtG " - Kernel..............: `uname -a | awk '{print $1" "$3" "$12}'`"
 +echo $tcLtG " - Users...............: Currently `users | wc -w` user(s) logged on"
 +echo $tcLtG " - Server Time.........: `date`"
 +echo $tcLtG " - System load.........: $SYS_LOADS / $NUM_PROCS processes running"
 +echo $tcLtG " - Memory used.........: $MEMORY1 / $MEMORY2"
 +echo $tcLtG " - Swap in use.........: $SWAP_USED MB"
 +echo $tcLtG " - System uptime.......: $upDays days $upHours hours $upMins minutes"
 +echo $tcDkG "==================================================================="
 +echo $tcRESET ""
 +</file>
 +
 +Сохраним скрипт, удалим статический motd-файл и вместо него создадим символическую ссылку на файл **/var/run/motd**, который будет обновляться при каждом входе в систему нами скриптом. 
 +
 +<code># rm -f /etc/motd
 +# ln -sf /var/run/motd /etc/motd</code>
 +
 +После проделанных изменений войдём в систему локально или через SSH и проверим результат:
 +
 +{{ :unix-linux:debian:pasted:20170315-103241.png }}
 +
 +Если всё сделано, а результата нет, то возможно стоит проверить настройки **PAM**.
 +
 +За вызов механизма обновления motd при входе в систему отвечают настройки в файлах политик PAM.
 +Например в файле nano **/etc/pam.d/sshd** за это отвечают 2 строчки вызова библиотеки **pam_motd.so
 +**
 +<file bash sshd>...
 +session    optional     pam_motd.so  motd=/run/motd.dynamic
 +session    optional     pam_motd.so noupdate
 +...</file>
 +
 +----
  
 +Дополнительные источники информации:
  
 +  * [[https://wiki.debian.org/motd|Debian Wiki - motd]]
  
 ---- ----
 {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 15.03.2017 10:00 {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 15.03.2017 10:00
-{{tag>Linux Debian "Debian 8" "Debian Jessie" motd}}+{{tag>Linux Debian "Debian 8" "Debian Jessie" motd PAM "pam_motd"}}
 ~~DISCUSSION~~ ~~DISCUSSION~~
unix-linux/debian/jessie/configuring-dynamic-motd-in-debian-linux-8-jessie.1489561493.txt.gz · Последнее изменение: 15.03.2017 10:04 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki