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 он считается устаревшим и исключен из репозиториев
|
|||
|
Пока решение не найдено
|