modificar el mensaje de inicio de sesión o el encabezado (/etc/issue) para mostrar la dirección IP de la máquina

modificar el mensaje de inicio de sesión o el encabezado (/etc/issue) para mostrar la dirección IP de la máquina

Trabajo con muchas máquinas virtuales. Para pruebas y configuración de preproducción.

Me gustaría que el mensaje o encabezado de inicio de sesión muestre la dirección IP de la máquina. De esa manera, cuando lo inicio puedo ver en qué IP estaré conectado. Nuestra red funciona utiliza un DHCP. Entonces puede cambiar entre el arranque.

$ gato /etc/issue
Ubuntu 11.04 \n \l

que surge como

Ubuntu 11.04 [nombre de host] tty[x]

quiero que aparezca como

Ubuntu 11.04 [nombre de host] tty[x] ip xxx.xxx.xxx.xxx

Estaba pensando en escribir un script de inicio/advenedizo. ¿Existe una mejor manera?

Respuesta1

Getty no conoce las direcciones IP de la máquina. Pero esta pregunta ya se hizo enfallo del servidor. Aquí está la respuesta aceptada:

Es sólo un archivo de texto... se escribe en él de la misma manera que enviaría texto a un archivo con cualquier otro script de shell. Algo como esto reemplazaría /etc/issue solo con su dirección IP:

ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -f2 -d: > /etc/issue

Obviamente, puede hacer esto arbitrariamente más complejo, dependiendo de la información que desee en su /etc/issuearchivo.

Puede escribir en este archivo en su equivalente local /etc/rc.d/rc.local(que normalmente se ejecuta después de todos los demás scripts de inicio).

Además, tenga en cuenta que el archivo /etc/issue.netse utiliza para inicios de sesión remotos, por lo que es posible que desee editarlo también.

Respuesta2

EnCentOS 7yDebian 8(y tal vez otros también), simplemente agregue la siguiente línea a/etc/issue

My IP address: \4

y eso se resolverá en la dirección IPv4 de la máquina. Si tiene varias interfaces de red y desea elegir una específica, puede especificarla con

My IP address: \4{eth0}

Respuesta3

Para CentOS 5 con una IP alquilada por DHCP, puede utilizar este script:

$ cat /etc/dhcp/dhclient.d/issue.sh
#!/bin/bash

update_issue() {
    awk -v \
        r="$(ip -o addr | awk '/inet [1-9]+/ { print $2 " " $4 }')" \
        '{ gsub(/%INTERFACES%/,r) }1' \
        /etc/issue.template > /etc/issue
}

issue_config() {
    update_issue
}

issue_restore() {
    update_issue
}

con una "plantilla" de problema como esta:

$ cat /etc/issue.template
CentOS release 6.5 (Final)
Kernel \r on an \m

%INTERFACES%

Recuerda

chmod +x /etc/dhcp/dhclient.d/issue.sh

El awkcomando para obtener la IP actual y reemplazarla en el /etc/issue.templatearchivo debería ser portátil para las distribuciones modernas de Linux.

información relacionada