Вики IT-KB

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

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

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


unix-linux:centos:configuring-dynamic-motd-in-centos-linux-7-4

Различия

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

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

Следующая версия
Предыдущая версия
unix-linux:centos:configuring-dynamic-motd-in-centos-linux-7-4 [18.03.2018 13:33]
Алексей Максимов создано
unix-linux:centos:configuring-dynamic-motd-in-centos-linux-7-4 [18.03.2018 14:19] (текущий)
Алексей Максимов
Строка 1: Строка 1:
 ===== Настраиваем динамический motd в CentOS Linux 7.4 ===== ===== Настраиваем динамический motd в CentOS Linux 7.4 =====
  
-После регистрации пользователя в Linux-системе, как правило, ​отображается так называемое "​сообщение дня"​ - **message of the day** или сокращённо **motd**. Попробуем сделать это сообщение информативней и полезней для администратора.+{{:​unix-linux:​centos:​pasted:​20180318-141926.png }} После регистрации пользователя в Linux-системе отображается так называемое "​сообщение дня"​ - **message of the day** или сокращённо **motd**. Попробуем сделать это сообщение информативней и полезней для администратора.
 Скрипт,​ который будет использоваться для генерации динамического **motd** будем размещать в каталоге ''/​usr/​local/​sbin/'',​ который существует в конфигурации по умолчанию в **CentOS Linux**. Скрипт,​ который будет использоваться для генерации динамического **motd** будем размещать в каталоге ''/​usr/​local/​sbin/'',​ который существует в конфигурации по умолчанию в **CentOS Linux**.
  
 +Наш скрипт использует утилиту **lsb_release**,​ которую можно заполучить,​ установив пакет **redhat-lsb-core**:​
 +
 +<​HTML><​pre style="​background:#​5a5a62;​color:#​ffffff;​padding:​10px;​border:​0px;">#​ yum install -y redhat-lsb-core</​pre></​HTML>​
 +
 +Создаём скрипт:​
 +
 +<​HTML><​pre style="​background:#​5a5a62;​color:#​ffffff;​padding:​10px;​border:​0px;">#​ nano /​usr/​local/​sbin/​dynmotd.sh</​pre></​HTML>​
 +
 +Наполняем его содержимым:​
 +
 +<file bash dynmotd.sh>#​!/​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))
 +#
 +# System + Memory
 +SYS_LOADS=`cat /​proc/​loadavg | awk '​{print $1}'`
 +MEMORY_USED=`free -b | grep Mem | awk '​{print $3/$2 * 100.0}'​`
 +SWAP_USED=`free -b | grep Swap | awk '​{print $3/$2 * 100.0}'​`
 +NUM_PROCS=`ps aux | wc -l`
 +IPADDRESS=`hostname --all-ip-addresses`
 +RELEASE=`lsb_release -s -d | sed '​s/"//​g'​`
 +#
 +echo -e $tcDkG "​==============================================================="​
 +echo -e $tcLtG " Good $TIME !                                   ​$tcORANGE IT Dept Ltd."
 +echo -e $tcDkG "​==============================================================="​
 +echo -e $tcLtG " - Hostname ​     :$tcW `hostname -f`"
 +echo -e $tcLtG " - IP Address ​   :$tcW $IPADDRESS"​
 +echo -e $tcLtG " - Release ​      :$tcW $RELEASE"​
 +echo -e $tcLtG " - Kernel ​       : `uname -a | awk '​{print $1" "​$3"​ "​$12}'​`"​
 +echo -e $tcLtG " - Users         : Currently `users | wc -w` user(s) logged on"
 +echo -e $tcLtG " - Server Time   : `date`"​
 +echo -e $tcLtG " - System load   : $SYS_LOADS / $NUM_PROCS processes running"​
 +echo -e $tcLtG " - Memory used % : $MEMORY_USED"​
 +echo -e $tcLtG " - Swap used %   : $SWAP_USED"​
 +echo -e $tcLtG " - System uptime : $upDays days $upHours hours $upMins minutes"​
 +echo -e $tcDkG "​==============================================================="​
 +echo -e $tcRESET ""​
 +#
 +</​file>​
 +
 +Сделаем скрипт исполняемым:​
 +
 +<​HTML><​pre style="​background:#​5a5a62;​color:#​ffffff;​padding:​10px;​border:​0px;">#​ chmod +x /​usr/​local/​sbin/​dynmotd.sh</​pre></​HTML>​
 +
 +Отключим встроенную обработку motd для SSH-сессий:​
 +
 +<​HTML><​pre style="​background:#​5a5a62;​color:#​ffffff;​padding:​10px;​border:​0px;">#​ nano /​etc/​ssh/​sshd_config</​pre></​HTML>​
 +
 +<​code>​...
 +PrintMotd no
 +...</​code>​
 +
 +Перезапустим службу:​
 +
 +<​HTML><​pre style="​background:#​5a5a62;​color:#​ffffff;​padding:​10px;​border:​0px;">#​ systemctl restart sshd</​pre></​HTML>​
 +
 +Подключаем вызов скрипта в механизм обработки загрузки профиля пользователей,​ отредактировав основной системный конфигурационный файл ''​profile'' ​
 +
 +<​HTML><​pre style="​background:#​5a5a62;​color:#​ffffff;​padding:​10px;​border:​0px;">#​ nano /​etc/​profile</​pre></​HTML>​
 +
 +в конец файла добавляем вызов скрипта
 +
 +<file bash profile>​...
 +# Dynamic motd
 +/​usr/​local/​sbin/​dynmotd.sh</​file>​
 +
 +Если не нужно, чтобы наш motd-скрипт выполнялся при переходе в окружение **root**-а по команде **sudo**, можно изменить вызов скрипта,​ например,​ следующим образом:​
 +
 +<file bash profile>​...
 +# Dynamic motd
 +if [ $LOGNAME != "​root"​ ]; then
 +        /​usr/​local/​sbin/​dynmotd.sh
 +fi
 +</​file>​
 +
 +Проверяем результат,​ выполнив локальный вход систему и удалённый вход через SSH-подключение:​
 +
 +{{ :​unix-linux:​centos:​pasted:​20180318-141737.png }}
 +
 +----
 +
 +Дополнительные источники информации:​
 +
 +  * [[https://​gist.github.com/​cha55son/​6042560|Chason Choate - RHEL (Centos/​Fedora) dynamic motd]]
  
  
Строка 13: Строка 120:
 ---- ----
 {{:​user:​blogroot.png?​50&​nolink |}} Автор первичной редакции:​\\ [[user:​blogroot|Алексей Максимов]] \\ Время публикации:​ 18.03.2018 13:27 {{:​user:​blogroot.png?​50&​nolink |}} Автор первичной редакции:​\\ [[user:​blogroot|Алексей Максимов]] \\ Время публикации:​ 18.03.2018 13:27
-{{tag>​Linux CentOS "​CentOS 7" motd}}+{{tag>​Linux CentOS "​CentOS 7" motd Bash Script}}
 ~~DISCUSSION~~ ~~DISCUSSION~~

unix-linux/centos/configuring-dynamic-motd-in-centos-linux-7-4.1521369192.txt.gz · Последние изменения: 18.03.2018 13:33 — Алексей Максимов