#### Изменяем приветствие консоли сервера Изначально видим ``` Linux DNAS 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u2 (2019-05-13) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Mon Jun 10 14:15:12 2019 from 193.164.201.34 ``` 1) За отказ от ответственности ``` The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. ``` отвечает файл `/etc/motd` для его быстрой очистки используем ```bash sudo cp /dev/null /etc/motd ``` 2) Информация о последнем подключении ``` Last login: Mon Jun 10 14:15:12 2019 from 193.164.201.34 ``` Чтобы отключить сообщение о последнем входе (что я не рекомендую делать), надо отредактировать вот этот файл: `/etc/ssh/sshd_config` Найдите вот эту опцию и замените `yes` на `no`: `PrintLastLog no` Теперь, когда вы будете входить, вы этого сообщения не увидите. Из соображений безопасности всё же не рекомендую так делать. 3) Вывод данных о системе ``` Linux DNAS 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u2 (2019-05-13) x86_64 ``` Содержится в файле `/etc/update-motd.d/10-uname` Чтобы отключить его вывод, достаточно снять с файла права на запуск 4) Создадим свой скрипт вывода _Можно создавать свои скрипты, которые будут отображаться при успешной авторизации. Эти скрипты хранятся по адресу `/etc/profile.d/`_ Создадим свой скрипт: ```bash sudo nano /etc/profile.d/ssh-info.sh ``` Вставим следующий текст: ```bash #!/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" # # Время суток HOUR=$(date +"%H") if [ $HOUR -lt 12 -a $HOUR -ge 4 ]; then TIME="Доброе утро!" elif [ $HOUR -lt 17 -a $HOUR -ge 12 ]; then TIME="Добрый день!" elif [ $HOUR -lt 23 -a $HOUR -ge 17 ]; then TIME="Добрый вечер!" else TIME="Доброй ночи!" fi # # Время с момента перезагрузки 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 -m | grep Mem | awk '{print $3}'` MEMORY_TOTAL=`free -m | grep Mem | awk '{print $2}'` SWAP_USED=`free -m | grep Swap | awk '{print $3}'` SWAP_TOTAL=`free -m | grep Swap | awk '{print $2}'` NUM_PROCS=`ps aux | wc -l` IPADDRESS=`hostname --all-ip-addresses` SDA1SIZE=`df -h /dev/sda1 | grep /dev/sda1 | awk '{print $2}'` SDA1OST=`df -h /dev/sda1 | grep /dev/sda1 | awk '{print $3}'` SDA1MOUNT=`df -h /dev/sda1 | grep /dev/sda1 | awk '{print $6}'` SDB1SIZE=`df -h /dev/sdb1 | grep /dev/sdb1 | awk '{print $2}'` SDB1OST=`df -h /dev/sdb1 | grep /dev/sdb1 | awk '{print $3}'` SDB1MOUNT=`df -h /dev/sdb1 | grep /dev/sdb1 | awk '{print $6}'` SDC1SIZE=`df -h /dev/sdc1 | grep /dev/sdc1 | awk '{print $2}'` SDC1OST=`df -h /dev/sdc1 | grep /dev/sdc1 | awk '{print $3}'` SDC1MOUNT=`df -h /dev/sdc1 | grep /dev/sdc1 | awk '{print $6}'` SDD1SIZE=`df -h /dev/sdd1 | grep /dev/sdd1 | awk '{print $2}'` SDD1OST=`df -h /dev/sdd1 | grep /dev/sdd1 | awk '{print $3}'` SDD1MOUNT=`df -h /dev/sdd1 | grep /dev/sdd1 | awk '{print $6}'` # echo -e $tcDkG "===============================================================" echo -e $tcLtG " $TIME $tcORANGE $USER" echo -e $tcDkG "===============================================================" echo -e $tcLtG " * Хост :$tcW `hostname -f`" echo -e $tcLtG " * IP Адрес :$tcW $IPADDRESS" echo -e $tcLtG " * Версия :$tcW $(lsb_release -s -d)" echo -e $tcLtG " * Ядро : `uname -a | awk '{print $1" "$3" "$12}'`" echo -e $tcLtG " * Пользователи : Авторизованных пользователей - `users | wc -w`" echo -e $tcLtG " * Время на сервере : `date +"%A, %d %B %Y г., %T"`" echo -e $tcLtG " * Загрузка системы : $SYS_LOADS / $NUM_PROCS запущенных процессов" echo -e $tcLtG " * Память, RAM : Исп.: $MEMORY_USED Мб / Всего: $MEMORY_TOTAL Мб" echo -e $tcLtG " * SWAP : Исп.: $SWAP_USED Мб / Всего: $SWAP_TOTAL Мб" echo -e $tcLtG " * После включения : $upDays дней $upHours часов $upMins минут" echo -e $tcDkG "===============================================================" echo -e $tcLtG " * Диски : sda1 $SDA1OST / $SDA1SIZE | sdb1 $SDB1OST / $SDB1SIZE" echo -e $tcLtG " Исп. / Всего : sdc1 $SDC1OST / $SDC1SIZE | sdd1 $SDD1OST / $SDD1SIZE" echo -e $tcDkG "===============================================================" echo -e $tcRESET "" # ``` Делаем файл исполняемым ```bash sudo chmod +x /etc/profile.d/ssh-info.sh ``` После перезагрузки видим, что-то типа: ![Пример приветствия](images/greeting.png) 5) Информация о доступных обновлениях В Ubuntu за это отвечает пакет `update-notifier`, но в Debian он считается устаревшим и исключен из репозиториев Пока решение не найдено