Linux自定义登录的欢迎页

时间:2019-04-29 03:17:35  来源:igfitidea点击:

如何创建一个简单的自定义登录标题页面,该页面将在用户通过ssh登录时显示。

为脚本添加颜色

在脚本中添加颜色非常简单。在以下示例中,我们将介绍一些可以添加到您的登录脚本中的基本颜色命令。

#!/bin/bash
clear
#Bash Colour Codes

red="3[00;31m"
RED="3[01;31m"

echo -e "${red} I am Dark Red"
echo -e "${RED} I am Bright Red"


green="3[00;32m"
GREEN="3[01;32m"

echo -e "${green} I am Dark Green"
echo -e "${GREEN} I am Bright Green"

brown="3[00;33m"
YELLOW="3[01;33m"

echo -e "${brown} I am Brown"
echo -e "${YELLOW} I am Yellow"

blue="3[00;34m"
BLUE="3[01;34m"

echo -e "${blue} I am Dark Blue"
echo -e "${BLUE} I am Bright Blue"

magenta="3[00;35m"
MAGENTA="3[01;35m"

echo -e "${magenta} I am Dark Magenta"
echo -e "${MAGENTA} I am Bright Magenta"

cyan="3[00;36m"
CYAN="3[01;36m"

echo -e "${cyan} I am Dark Cyan"
echo -e "${CYAN} I am Bright Cyan"

white="3[00;37m"
WHITE="3[01;37m"

echo -e "${white} I am Grey"
echo -e "${WHITE} I am White"

#Sets No Colour
NC="3[00m"

将系统信息添加到登录屏幕

要添加系统信息,例如主机名,日期,时间,CPU,内存,我们可以使用一些基本命令。

CPUMOD=$(cat /proc/cpuinfo | grep -m 1 -w 'model name' | awk -F: '{print }')

ssh登录脚本的位置

ssh登录脚本的位置是/etc/profile.d/。该目录是一个特殊区域,可以放置脚本,当用户登录系统时会调用这些脚本。当用户登录系统时,将执行一个名为/etc/profile的文件,该文件定义了基本的默认设置。我们在此处指定我们的自定义脚本位置(默认情况下为/etc/profile.d)。在此示例中,我们创建了一个脚本:motd.sh。

/etc/profile.d/motd.sh

john@ubuntu01-pc:~$ cat motd.sh
 
#!/bin/bash

#Colours
red="3[00;31m"
RED="3[01;31m"

green="3[00;32m"
GREEN="3[01;32m"

brown="3[00;33m"
YELLOW="3[01;33m"

blue="3[00;34m"
BLUE="3[01;34m"

purple="3[00;35m"
PURPLE="3[01;35m"

cyan="3[00;36m"
CYAN="3[01;36m"

white="3[00;37m"
WHITE="3[01;37m"

NC="3[00m"

echo -e "${WHITE}******************************************************************************"
echo -e "${WHITE}**                                                                          **"
echo -e "${WHITE}**                    Powered By Linux                                      **"
echo -e "${WHITE}**                                                                          **"
echo -e "${RED}******************************************************************************"

CPUMOD=$(cat /proc/cpuinfo | grep -m 1 -w 'model name' | awk -F: '{print }')
HOSTNAME=$(uname -n)
KERNEL=$(uname -r)
MEMTOTAL=$(cat /proc/meminfo | grep -m 1 -w 'MemTotal' | awk -F: '{print }')
MEMFREE=$(cat /proc/meminfo | grep -m 1 -w 'MemFree' | awk -F: '{print }')
SWAPTOTAL=$(cat /proc/meminfo | grep -m 1 -w 'SwapTotal' | awk -F: '{print }')
SWAPFREE=$(cat /proc/meminfo | grep -m 1 -w 'SwapFree' | awk -F: '{print }')

echo -e ""
echo -e "${WHITE} Welcome ${YELLOW}${USER} ${WHITE} "
echo -e ""

echo -e "${WHITE} Date: "`date`
echo -e ""

echo -e "${WHITE} Hostname:   ${HOSTNAME}"
echo -e "${WHITE} CPU Model: ${CPUMOD}"
echo -e ""
echo -e "${WHITE} Total Memory: ${MEMTOTAL}"
echo -e "${WHITE} Free Memory: ${MEMFREE}"
echo -e ""
echo -e "${WHITE} Swap Total:    ${SWAPTOTAL}"
echo -e "${WHITE} Swap Free:    ${SWAPFREE}"
echo -e ""

echo -e "${RED}******************************************************************************"
# Reset Terminal Colour Back to Normal
echo -e "${NC}"