У меня есть компьютер с Linux, и я хочу, чтобы он отображал текущий IP-адрес в баннере, который отображается перед отображением приглашения на вход. Как я могу это сделать? Я подумал о создании сценария запуска, который находит IP-адрес в MOTD, но обнаружил, что MOTD отображается только после того, как человек вошел в систему, и мне нужно, чтобы сообщение отображалось до того, как человек вошел в систему.
Если важно, это CentOS, я думаю, версия 6.
Если вы хотите показать IP-адрес в /etc/issue
, тогда вы сможете использовать \4
, или \4{eth0}
в файл выпуска. Это определенно работает в CentOS 7 и Ubuntu 16.04 и новее. Чтобы показать свой IPv6-адрес, используйте \6
.
Например:
IP: \4
будет заменен на IP:
затем ваш IP-адрес.
Другой \
Поддерживаемые escape-последовательности описаны в мужчина агетти
Я делал это раньше, редактируя /etc/issue
. Следующий скрипт запускается при загрузке, он определяет текущий IP-адрес и затем добавляет его в /etc/issue
:
#!/bin/sh
# Save this file as /etc/network/if-up.d/mod-etc-issue and chmod +x
if [ "$METHOD" = loopback ]; then
exit 0
fi
# Only run from ifup.
if [ "$MODE" != start ]; then
exit 0
fi
IPADDR=`ip a s eth0 | grep inet | awk '{ print $2 }' | head -1`
# First time, back up /etc/issue
if [ ! -f /etc/issue.orig ]
then
cp /etc/issue /etc/issue.orig
fi
# "Reset" /etc/issue to original state
cp /etc/issue.orig /etc/issue
# Append IP address to /etc/issue
echo "eth0 address: $IPADDR" >> /etc/issue
echo "" >> /etc/issue
Этот сценарий был написан для систем на основе Debian, но он должен быть достаточно легким для внесения некоторых небольших изменений в системы на основе RHEL.
В зависимости от вашей системы эти файлы, вероятно, будут /etc/issue
и / или файл, определенный как Banner
в /etc/ssh/sshd_config
. Однако я почти уверен, что это строго текстовые файлы, поэтому вам придется определить свой IP-адрес и создать файл.
(Обновить: /etc/issue
не является строго текстовым файлом. В нем есть несколько escape-символов, которые расширяются до системной информации, но IP-адрес среди них отсутствует.)
Это приводит к вашей следующей проблеме, как найти IP-адрес вашего компьютера, что не обязательно является легкой задачей.