133 lines
6.4 KiB
Markdown
133 lines
6.4 KiB
Markdown
#### Изменяем приветствие консоли сервера
|
||
Изначально видим
|
||
```
|
||
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
|
||
```
|
||
После перезагрузки видим, что-то типа:
|
||

|
||
|
||
5) Информация о доступных обновлениях
|
||
В Ubuntu за это отвечает пакет `update-notifier`, но в Debian он считается устаревшим и исключен из репозиториев
|
||
Пока решение не найдено
|