OpenWRT CLI banner
Есть 2 баннера, которые отображаются в OpenWRT CLI при входе через SSH:
- отображаться перед аутентификацией - параметр
BannerFile
в/etc/config/dropbear
- отображается после успешного входа в систему -
/etc/banner
Чтобы изменить баннер в OpenWrt, вам нужно изменить /etc/banner
. Этот файл содержит текст, который отображается при входе через SSH. Вы можете редактировать этот файл напрямую с помощью текстового редактора, например nano
или vi
. В качестве альтернативы вы можете использовать sed
команду для управления файлом баннера или создать собственный скрипт для динамической генерации текста баннера при входе в систему.
Действия по изменению баннера:
- Доступ к маршрутизатору: Подключитесь к маршрутизатору OpenWrt через SSH или последовательную консоль.
- Отредактируйте файл баннера:
- Откройте
/etc/banner
файл с помощью текстового редактора:nano /etc/banner
илиvi /etc/banner
. - Измените текст на желаемый баннер.
- Сохраните изменения.
- Откройте
- (Необязательно) Используйте
sed
для более сложных изменений: вы можете использовать этуsed
команду для выполнения более сложных изменений в файле баннера, таких как добавление переменных или условного текста. - (Необязательно) Создайте пользовательский скрипт: для динамических баннеров вы можете создать скрипт, который запускается при входе в систему и генерирует текст баннера. Затем вы можете перенаправить вывод скрипта в
/etc/banner
файл. - Протестируйте изменения: выйдите из системы и войдите снова, чтобы увидеть новый баннер.
Пример использования sed
:
Чтобы добавить временную метку к баннеру, можно использовать следующую команду:
Код
sed -i '$a $(date)' /etc/banner
Эта команда добавляет текущую дату и время в конец файла /etc/banner
.
Важные соображения:
- Резервное копирование оригинального баннера: Прежде чем вносить какие-либо изменения, рекомендуется создать резервную копию исходного
/etc/banner
файла:cp /etc/banner /etc/banner.bak
- Рассмотрите возможность использования собственного скрипта: Если вам нужен более динамичный контент баннера, использование скрипта — более гибкий подход.
Генерация ASCII Art текста для баннера:
https://patorjk.com/software/taag/#p=testall&f=JS%20Bracket%20Letters&t=OpenWrt
Динамический баннер OpenWRT-CLI-SSH-Onload-Info-Script
Пример баннера, которые генерирует скрипт при входе через SSH.
https://github.com/semazurek/OpenWRT-CLI-SSH-Onload-Info-Script
- Измените, если необходимо, Logo/ASCII Art в файле /etc/banner
- Создайте скрипт показа CPU/RAM/HDD(ROM) + WiFi DHCP -> /etc/init.d/banner.sh ( vi /etc/init.d/banner.sh )
#!/bin/sh /etc/rc.common START=99 STOP=15 start() { cpuUsage=$(top -bn1 | grep load | awk '{printf "%.2f%%\t\t\n", $(NF-2)}') ramUsage=$(free -m | awk 'NR==2{printf "%.2f%%\t\t", $3*100/$2 }') romUsage=$(df -h | awk '$NF=="/"{printf "%s\t\t", $5}') echo " CPU: $cpuUsage RAM: $ramUsage HDD: $romUsage" echo " -------------------------------------DHCP------------------------------------" echo -e " IP Address\tName\tMAC Address" for interface in `iw dev | grep Interface | cut -f 2 -s -d" "` do maclist=`iw dev $interface station dump | grep Station | cut -f 2 -s -d" "` for mac in $maclist do ip="UNKN" host="" ip=`cat /tmp/dhcp.leases | cut -f 2,3,4 -s -d" " | grep $mac | cut -f 2 -s -d" "` host=`cat /tmp/dhcp.leases | cut -f 2,3,4 -s -d" " | grep $mac | cut -f 3 -s -d" "` echo -e " $ip\t$host\t$mac" done done } stop() { echo stop }
- Сделайте скрипт исполняемый:
chmod +x /etc/init.d/banner.sh
- Проверьте работу banner:
service banner.sh start
- Включите banner службу:
service banner.sh enable
- Добавьте /etc/init.d/banner.sh в /etc/profile:
vi /etc/profile
Insert key
[ -f /etc/banner ] && cat /etc/banner && /etc/init.d/banner.sh start
Esc :wq