ip login.html,终端 login banner 显示 ip

1. 目的

虚拟机安装的Arch linux,没装图形界面,配置的dhcp。为了方便通过ssh登录,便想起这个方法,然而并不知道怎么弄,于是搜索了一番,找到下面参考,记录一下免得忘了:

2. 实现

登录信息在/etc/issue 和 /etc/motd 中,此处只需要修改/etc/issue,步骤就是在网络启动之后,用ifconfig或者ip addr取得并提取ip地址,输出到/etc/issue。由于现在的版本已经没有/etc/rc.local,所以要添加一个systemd的服务,这个服务调用脚本去做这个事。

1. 脚本文件/etc/rc.local:#!/bin/bash

ipaddr=$(/usr/bin/ip addr | /usr/bin/sed -ne 's/.*inet \([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)\/\([0-9]\{1,3\}\) *b.*/\1/p')

logintime=$(date)

echo "Arch Linux \r (\l) ($ipaddr - $logintime)" >/etc/issue

2. service文件

取个名字rc-local.service,文件就放在/etc/systemd/system/下面好了,由于systemd启动的服务是并行的,所以可能ip地址还没分配好,这个脚本就执行完了。只能在起个服务了systemctl enable netctl-wait-online.service

(systemd目录下有netctl-wait-online.service 和 systemd-networkd-wait-online.service)

同时加上Wants= and After= dependency on network-online.target[Unit]

Description=/etc/rc.local Compatibility

Wants=network-online.target

After=network-online.target

Before=getty@tty1.service

[Service]

Type=oneshot

ExecStart=/etc/rc.local

TimeoutSec=0

RemainAfterExit=yes

[Install]

WantedBy=multi-user.target

3. 效果

2e1cf64d8f4d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

4.freebsd

/etc/rc.local#!/bin/sh

ipaddr=$(ifconfig | sed -ne 's/.*inet \([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)\( .*b.*\)/\1/p')

echo " " > /etc/issue

echo "ip=($ipaddr)" >> /etc/issue

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值