Самое прекрасное — это когда нужна поддержка сайта, а ты сидишь с телефоном в руке и ЗНАЕШЬ, чей номер набрать! тел. +7 831 4637611 моб. +7 910 3820622 WhatsApp, Viber, Telegram +7 953 5571863 Skype aitishnik
Айтишник РУ Нижний Новгород, Симферопольская, 21 ПН-ПТ 08 - 18
Настройка GNU/Linux Debian

Изменяем приветствие в SSH Debian

saluteВсе, кто совершал вход в систему Debian через консоль или посредством SSH, видели следующее сообщение: 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.

Перевод: Программы, входящие в состав системы Debian GNU/Linux, являются свободными программами; точные условия распространения для каждой программы описаны в отдельных файлах в /usr/share/doc/*/copyright.

Debian GNU/Linux поставляется без каких-либо гарантий, разрешено действующим законодательством.

Один раз прочитать нужно, а в дальнейшем видеть эту информацию не имеет смысла. Можно заменить её на что-то более полезное. Или, например, вывести информативный баннер, а лучше информацию об использовании оперативной памяти или нагрузке на процессор. Так как же изменить приветствие в консоли или в SSH Debian?

Текст об отказе от гарантий находится в файле /etc/motd. Открываем его в текстовом редакторе nano (выполняем с правами root):

# nano /etc/motd

И заменяем, содержащуюся в нём информацию, на свою. Например, вносим сведения об организации или об особенностях данного сервера (рабочей станции). Выходим из системы и входим заново. Получилось!

Теперь попробуем вывести баннер. Для этого, сначала надо очистить /etc/motd. Удалять не надо – просто очистить.

# cat /dev/null > /etc/motd

Затем понадобится программа figler. Устанавливаем её через apt или aptitude (кому как нравится):

# aptitude install figlet

Программа figlet выводит в стандартный поток вывода текстовый баннер составленный из символов. Например, команда:

$ figlet -ct aitishnik.ru

Выведет на экран следующий баннер.

 figlet

Ключ –с выравнивает баннер по центру, а ключ –t устанавливает ширину вывода по ширине экрана. Figlet поддерживает юникод. Т. е. можно сделать баннер на русском языке. Для этого нужно указать ключ –C и использовать соответствующий шрифт -f.

Например, команда:

$ figlet -ct -C utf8 -f banner айтишник.ру

Выведет на экран следующий баннер.

 figlet

Кстати, посмотреть используемые figlet шрифты можно с помощью команды:

$ showfigfonts

Пока о figlet достаточно, а мы продолжим. Нам нужно сделать простейший скрипт, например salute.sh, содержащий вызов figlet с нужными параметрами и разместить его в /etc/profile.d.

С помощью редактора nano сразу создаем его в нужном месте:

# nano /etc/profile.d/salute.sh

Со следующим содержанием:

#!/bin/sh
figlet -ct aitishnik.ru

Сохраняем файл (Ctrl+O, Enter), закрываем редактор (Ctrl+X). Выходим из системы и входим заново. Любуемся результатом!

А теперь давайте выведем в приветствие полезную информацию о файловой системе, загрузке процессора, использовании оперативной памяти и т. д. Для этого нам понадобится другой скрипт. Назовём его sshinfo.sh. Содержимое скрипта взято отсюда.

Создаём скрипт:

# nano /etc/profile.d/sshinfo.sh

#!/bin/sh
SystemMountPoint="/";
LinesPrefix=" ";
b=$(tput bold); n=$(tput sgr0);
SystemLoad=$(cat /proc/loadavg | cut -d" " -f1);
ProcessesCount=$(cat /proc/loadavg | cut -d"/" -f2 | cut -d" " -f1);
MountPointInfo=$(/bin/df -Th $SystemMountPoint 2>/dev/null | tail -n 1);
MountPointFreeSpace=( \
$(echo $MountPointInfo | awk '{ print $6 }') \
$(echo $MountPointInfo | awk '{ print $3 }') \
);
UsersOnlineCount=$(users | wc -w);
UsedRAMsize=$(free | awk 'FNR == 3 {printf("%.0f", $3/($3+$4)*100);}');
SystemUptime=$(uptime | sed 's/.*up \([^,]*\), .*/\1/');
if [ ! -z "${LinesPrefix}" ] && [ ! -z "${SystemLoad}" ]; then
echo -e "${LinesPrefix}${b}System load:${n}\t${SystemLoad}\t\t\t${LinesPrefix}${b}Processes:${n}\t\t${ProcessesCount}";
fi;
if [ ! -z "${MountPointFreeSpace[0]}" ] && [ ! -z "${MountPointFreeSpace[1]}" ]; then
echo -ne "${LinesPrefix}${b}Usage of $SystemMountPoint:${n}\t${MountPointFreeSpace[0]} of ${MountPointFreeSpace[1]}\t\t";
fi;
echo -e "${LinesPrefix}${b}Users logged in:${n}\t${UsersOnlineCount}";
if [ ! -z "${UsedRAMsize}" ]; then
echo -ne "${LinesPrefix}${b}Memory usage:${n}\t${UsedRAMsize}%\t\t\t";
fi;
echo -e "${LinesPrefix}${b}System uptime:${n}\t${SystemUptime}";

Сохраняем и закрываем файл. И опять выходим из системы и входим в неё. Полезно, не так ли?

Комбинируя всё то, о чём вы прочитали в этой статье, можно добиться от приветствия хорошей информативности. Надеюсь, статья вам понравилась.

Помните, что у нас вы можете не только купить готовый сайт или заказать его разработку, но и подобрать подходящий тариф поддержки сайта, заказать продвижение сайта в поисковых системах, а так же зарегистрировать домен в одной из двухсот доменных зон и выбрать недорогой тариф хостинга! Айтишник РУ

Об авторе:

ZolkinМеня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.

 

Ещё статьи о Debian