init
This commit is contained in:
132
Приветствие ssh Debian 9.md
Normal file
132
Приветствие ssh Debian 9.md
Normal file
@@ -0,0 +1,132 @@
|
||||
#### Изменяем приветствие консоли сервера
|
||||
Изначально видим
|
||||
```
|
||||
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 он считается устаревшим и исключен из репозиториев
|
||||
Пока решение не найдено
|
||||
Reference in New Issue
Block a user