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}"