OpenWRT CLI banner: различия между версиями
Admin (обсуждение | вклад) |
(нет различий)
|
Текущая версия от 17:54, 29 июня 2025
Есть 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