리눅스 서버를 사용하면
그 서버를 사용하는 사용자들에게 공통으로 정보를 제공해 주어야할 때가 있다
리눅스에서는 로그인할 때 다음 3개의 파일에서 접속자들에게 메시지를 보여줄 수 있다
/etc/issue.net - 외부에서 접근한 로그인 시 출력
/etc/issue - 내부에서 접근한 로그인 시 출력
/etc/motd - 로그인 후 보여주는 화면
이번 블록는 /etc/motd 파일을 수정해서 로그인 사용자들에게 메시지를 출력하는 것이다
보통 리눅스 접속은 ssh, 콘솔, CUI 환경으로 접속할 경우가 많기 때문에
해당 파일을 순서대로 수정한다
/etc/ssh/sshd_config
PrintMotd
부분이 있을 것이다.
yes 로 변경 후 # 주석처리를 제거한다
로그인 후 강제실행할 쉘을 만들어서 해당 파일을 지정해야 한다
/etc/profile
해당 파일을 열어서 강제 실행이 되는 쉘, 로그인 시 메시지를 출력할 쉘의 위치를 지정한다
리눅스 공통 관리 위치를 지정했다
/usr/local/bin/dynmotd
/etc/profile 파일 내 내가 메시지를 출력할 쉘 파일 위치를 적고서 저장하고 나온다
이제는 로그인 후 보여주는, 메시지 출력하는 파일을 열어서 작업을 수행한다
여기는 쉘 스크립트로 작업을 해야한다
#!/bin/bash
echo ' '
echo -e '\033[41m서버에 접속한 것을 환영합니다\033[0m'
hostname=`hostname`
echo -e '\033[36mHostName = \033[0m' '\033[32m'$hostname'\033[0m'
osinfo=`lsb_release -d | awk -F':' '{print $2}' | sed -e 's/\t//g'`
echo -e '\033[36mOS info = \033[0m' '\033[32m'$osinfo'\033[0m'
kernelinfo=`uname -r`
echo -e '\033[36mLinuxKernel = \033[0m' '\033[32m'$kernelinfo'\033[0m'
kernelmac=`uname -m`
echo -e '\033[36mHW Machine = \033[0m' '\033[32m'$kernelmac'\033[0m'
CPU=`cat /proc/cpuinfo | grep "model name" | head -n 1 | awk -F ':' '{print $2}'`
echo -e '\033[36mCPU info =\033[0m' '\033[32m'$CPU'\033[0m'
echo -e '\033[33m----------------------------------------------------------------------\033[0m'
Username=`whoami`
echo -e '\033[36mUserName = \033[0m' '\033[32m'$Username'\033[0m'
echo -e '\033[36mUserHomeDir = \033[0m' '\033[32m'$HOME'\033[0m'
whoami=`whoami`
Lastlogin=`lastlog | grep $whoami | tail -n 1`
echo -e '\033[36mLastLogin = \033[0m' '\033[32m'$Lastlogin'\033[0m'
echo -e '\033[33m----------------------------------------------------------------------\033[0m'
bashver=`bash --version | head -n 1`
echo -e '\033[36mBash Ver. = \033[0m' '\033[32m'$bashver'\033[0m'
gccver=`gcc --version | head -n 1`
echo -e '\033[36mGCC Ver. = \033[0m' '\033[32m'$gccver'\033[0m'
echo -n -e '\033[36mJavac Ver. = \033[0m\033[32m'
javaver=`javac -version`
svnver=`svn --version | head -n 1`
echo -e '\033[36mSVN Ver. = \033[0m' '\033[32m'$svnver'\033[0m'
gitver=`git --version | head -n 1`
echo -e '\033[36mGIT Ver. = \033[0m' '\033[32m'$gitver'\033[0m'
echo ' '
java 버전을 출력하는 것은 무슨 문제인지 다른 것들처럼 동일하게 처리가 되지 않아서 시간이 걸렸다
댓글 없음:
댓글 쓰기