GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare /etc/issues per mostrare l'indirizzo IP per eth0

Soluzione 1:

Su CentOS 7 e Debian 8 (e forse anche altri), basta aggiungere la seguente riga a /etc/issue

My IP address: \4

e questo si risolverà nell'indirizzo IPv4 della macchina. Se hai più interfacce di rete e vuoi sceglierne una specifica, puoi specificarla con

My IP address: \4{eth0}

Seleziona man getty per un elenco delle sequenze di escape supportate sulla tua distribuzione.

Soluzione 2:

È solo un file di testo ... ci scrivi nello stesso modo in cui invieresti del testo a un file con qualsiasi altro script di shell. Qualcosa del genere sostituirà /etc/issue solo con il tuo indirizzo IP:

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

Ovviamente puoi renderlo arbitrariamente più complesso, a seconda di quali informazioni vuoi nel tuo /etc/issue file.

Puoi scrivere su questo file nell'equivalente locale di /etc/rc.d/rc.local (che in genere viene eseguito dopo tutti gli altri script di avvio).

Soluzione 3:

Questo script aggiungerà/rimuoverà indirizzi IP a/da /etc/issue file se necessario:

#!/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

Se stai usando una distribuzione basata su Debian, è meglio posizionare lo script in queste posizioni:

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

In questo modo gli script vengono eseguiti ogni volta che un'interfaccia si attiva o si disattiva. Posizionandolo in /etc/rc.d/rc.local ha lo svantaggio di essere eseguito solo una volta durante l'avvio.

Soluzione 4:

puoi scriverlo una volta. sfortunatamente non c'è una sequenza di escape getty per mostrare l'indirizzo IP di eth0 ma c'è una sequenza di escape che puoi usare in /etc/issue per mostrare il nome host:\n

puoi sempre impostare staticamente l'ip della macchina in /etc/issue scrivendolo direttamente nel file. fai attenzione che il file /etc/issue.net viene utilizzato per gli accessi remoti, quindi potresti voler modificare anche quello.

in ogni caso, dopo aver lavorato nella finestra del terminale, perderai la schermata iniziale e con essa le informazioni sull'indirizzo ip/host. il modo migliore è impostare il nome host nel prompt (la maggior parte delle distribuzioni Linux lo fa) usando \h o \H o ancora, impostando staticamente l'indirizzo IP che sai essere impostato sull'host nella variabile PS1 puoi impostare la variabile PS1 in /etc/profile sulla maggior parte delle distribuzioni Linux.

Soluzione 5:

Systemd lo rende relativamente facile. systemctl edit [email protected] con contenuti come:

[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'

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


Linux
  1. Come monitorare i file /etc/shadow e /etc/passwd per le modifiche con Auditd?

  2. comando grpck – Rimuove le voci danneggiate o duplicate nei file /etc/group e /etc/gshadow.

  3. modificare il prompt o l'intestazione di accesso (/etc/issue) per visualizzare l'indirizzo IP della macchina

  4. Come posso ripristinare un chmod nella directory etc?

  5. Perché le directory /home, /usr, /var, ecc. hanno tutte lo stesso numero di inode (2)?

Il modo giusto per modificare i file /etc/passwd e /etc/group in Linux

Come viene aggiornato /etc/motd?

CentOS / RHEL 7:come recuperare dalla voce di root eliminata nei file /etc/shadow e/o /etc/passwd

CentOS / RHEL:come recuperare dal file /etc/passwd cancellato

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

I siti web dovrebbero vivere in /var/ o /usr/ in base all'utilizzo consigliato?