GNU/Linux >> Linux の 問題 >  >> Linux

/etc/issues をセットアップして eth0 の IP アドレスを表示する方法

解決策 1:

CentOS 7 の場合 および Debian 8 (そしておそらく他のものも)、次の行を /etc/issue に追加するだけです

My IP address: \4

これは、マシンの IPv4 アドレスに解決されます。複数のネットワーク インターフェースがあり、特定の 1 つを選択したい場合は、

で指定できます。
My IP address: \4{eth0}

man getty をチェック ディストリビューションでサポートされているエスケープ シーケンスのリストについては、

解決策 2:

これは単なるテキスト ファイルです。他のシェル スクリプトを使用してファイルにテキストを送信するのと同じ方法でファイルに書き込みます。このようなものは、/etc/issue をあなたの IP アドレスだけに置き換えます:

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

明らかに、 /etc/issue に必要な情報に応じて、これを任意に複雑にすることができます ファイル。

/etc/rc.d/rc.local に相当するローカルでこのファイルに書き込むことができます (これは通常、他のすべての起動スクリプトの後に実行されます)。

解決策 3:

このスクリプトは、/etc/issue に IP アドレスを追加/削除します 必要に応じてファイルしてください:

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

Debian ベースのディストリビューションを使用している場合は、スクリプトを次の場所に配置することをお勧めします:

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

このようにして、インターフェイスがアップまたはダウンするたびにスクリプトが実行されます。 /etc/rc.d/rc.local に配置する 起動時に 1 回しか実行されないという欠点があります。

解決策 4:

一度書けばよい。残念ながら、eth0 の IP アドレスを表示する getty エスケープ シーケンスはありませんが、/etc/issue でホスト名を表示するために使用できるエスケープ シーケンスがあります:\n

ファイルに直接書き込むことで、マシンの IP を /etc/issue にいつでも静的に設定できます。ファイル /etc/issue.net はリモート ログインに使用されるので、それも編集する必要があることに注意してください。

いずれにせよ、ターミナル ウィンドウで作業した後は、最初の画面と IP/ホスト アドレス情報が表示されなくなります。最善の方法は、\h または \H を使用してプロンプトでホスト名を設定することです (ほとんどの Linux ディストリビューションが行います)。または、PS1 変数でホストに設定されていることがわかっている IP アドレスを静的に設定します。/etc/profile で PS1 変数を設定できます。ほとんどの Linux ディストリビューションで。

解決策 5:

Systemd はこれを比較的簡単にします。 systemctl edit [email protected] 次のような内容:

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

次に systemctl daemon-reload && systemctl restart [email protected]


Linux
  1. ログイン プロンプトまたはヘッダー (/etc/issue) を変更して、マシンの IP アドレスを表示します。

  2. Linux の /etc/init.d と /etc/rcX.d ディレクトリの間の接続は何ですか?

  3. /home、/usr、/var などのディレクトリがすべて同じ inode 番号 (2) を持っているのはなぜですか?

  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. 〜/ .profile、〜/ .bashrc、〜/ .bash_profile、〜/ .gnomerc、/ etc / bash_bashrc、/ etc / screenrcの違い…?

  3. /etc/hosts と /etc/resolv.conf の違い

  1. Linuxでタイムゾーン設定を変更するにはどうすればよいですか?

  2. / etc / motdはどのように更新されますか?

  3. /etc/shadow および /etc/passwd ファイルの変更を Auditd で監視するにはどうすればよいですか?