GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar /etc/issues para mostrar la dirección IP de eth0

Solución 1:

En CentOS 7 y Debian 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}

Marque man getty para obtener una lista de las secuencias de escape admitidas en su distribución.

Solución 2:

Es solo un archivo de texto... escribes en él de la misma manera que enviarías texto a un archivo con cualquier otro script de shell. Algo como esto reemplazaría /etc/issue con solo 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/issue archivo.

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

Solución 3:

Este script agregará/eliminará direcciones IP a/del /etc/issue archivo según sea necesario:

#!/bin/sh
PREFIX="Local IP addresses:"
IPADDRS=$(hostname -I | tr " " "\n" | grep -v "^$" | sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tr "\n" " ")

perl -i -p -0777 -e "s/^$PREFIX[^\n]*\n\n//m; s/$/\n$PREFIX $IPADDRS\n/ if length('$IPADDRS')>6" /etc/issue

Si está utilizando una distribución basada en Debian, es mejor colocar el script en estas ubicaciones:

/etc/network/if-up.d/update-issue
/etc/network/if-post-down.d/update-issue

De esta manera, los scripts se ejecutan cada vez que una interfaz se activa o se desactiva. Colocándolo en /etc/rc.d/rc.local tiene la desventaja de ser ejecutado solo una vez durante el arranque.

Solución 4:

puedes escribirlo una vez. desafortunadamente, no hay una secuencia de escape de getty para mostrar la dirección IP de eth0, pero hay una secuencia de escape que puede usar en /etc/issue para mostrar el nombre de host:\n

siempre puede configurar estáticamente la ip de la máquina en /etc/issue escribiéndola directamente en el archivo. tenga en cuenta que el archivo /etc/issue.net se usa para inicios de sesión remotos, por lo que es posible que desee editarlo también.

de todos modos, después de trabajar en la ventana de la terminal, perderá la pantalla inicial y la información de dirección IP/host con ella. La mejor manera es establecer el nombre de host en el indicador (la mayoría de las distribuciones de Linux lo hacen) usando \h o \H o nuevamente, configurando estáticamente la dirección IP que sabe que está configurada en el host en la variable PS1. Puede configurar la variable PS1 en /etc/profile en la mayoría de las distribuciones de Linux.

Solución 5:

Systemd hace que esto sea relativamente fácil. systemctl edit [email protected] con contenido como:

[Service]
ExecStartPre=-/bin/bash -c '[ ! -f /etc/.issue.orig ] && cp /etc/issue /etc/.issue.orig; int=`ls /sys/class/net|grep enp|head -1`; sed -r "s/\\\\\\n/[\\\\\\4\{$$int\}]/" < /etc/.issue.orig > /etc/issue'

Entonces systemctl daemon-reload && systemctl restart [email protected]


Linux
  1. ¿Cómo se actualiza /etc/motd?

  2. CentOS / RHEL:cómo recuperarse de un archivo /etc/passwd eliminado

  3. modifique el indicador de inicio de sesión o el encabezado (/etc/issue) para mostrar la dirección IP de la máquina

  4. /etc/passwd muestra al usuario en un grupo, pero /etc/group no

  5. ¿Cómo puedo revertir un chmod en el directorio etc?

La forma correcta de editar archivos /etc/passwd y /etc/group en Linux

CentOS / RHEL 7:cómo recuperarse de una entrada raíz eliminada en archivos /etc/shadow y/o /etc/passwd

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

¿Cuál es la conexión entre los directorios /etc/init.d y /etc/rcX.d en Linux?

Diferencia entre /etc/hosts y /etc/resolv.conf