SSH를 통해 로그인하자마자 브랜드 인사말을 표시하는 쉘로 bash를 사용하는 CentOS 5.7 VPS가 있습니다. 수정하려고 노력했지만 평소 위치에서는 찾을 수 없는 것 같습니다. 지금까지 파일을 살펴보고 배너파일 설정을 motd
확인해보았습니다 . sshd_config
배너 파일이 설정되지 않았습니다.
로그인 메시지는 어디에서 찾을 수 있나요?
답변1
전통적인 유닉스 시스템 디스플레이/etc/motd
사용자가 성공적으로 인증된 후와 사용자의 셸을 호출하기 전입니다. 최신 시스템에서는 다양한 파일을 구성 하거나 표시 pam_motd
할 수 있는 PAM 모듈을 통해 이 작업이 수행 됩니다./etc/pam.conf
/etc/pam.d/*
/etc/motd
PrintMotd
이 옵션을 끄지 않으면 SSH 서버 자체가 인쇄하도록 구성되었을 수 있습니다 ./etc/sshd_config
. 끄지 않으면 PrintLastLog
마지막 로그인 시간도 인쇄될 수 있습니다.
You have new mail
또 다른 전통적인 메시지는 그것이 또는 이라고 말할 수 있습니다 You have mail
. PAM이 있는 시스템에서는 pam_mail
모듈을 통해 이 작업이 수행됩니다. 일부 쉘은 사용 가능한 메일에 대한 메시지를 인쇄할 수 있습니다.
사용자의 셸을 시작한 후 사용자의 시작 파일은 추가 메시지를 인쇄할 수 있습니다. 대화형 로그인의 경우 사용자의 로그인 쉘이 Bourne 스타일 쉘인 경우 , /etc/profile
, ~/.profile
plus ~/.bash_profile
및 에서 ~/.bash_login
bash를 찾으십시오. zsh를 사용한 대화형 로그인에 대해서는 /etc/zprofile
, /etc/zlogin
, 및 를 /etc/zshrc
참조 하세요 . csh에 대화형으로 로그인하려면 및 를 참조하세요 .~/.zprofile
~/.zlogin
~/.zshrc
/etc/csh.login
~/.login
사용자의 로그인 쉘이 bash이고 이것이 비대화형 로그인인 경우 bash가 실행됩니다 ( 대화형 쉘은 쉘이 로그인 쉘이 아닌 경우에만 실행되기 ~/.bashrc
때문에 이것은 정말 이상합니다 ). ~/.bashrc
이는 문제의 원인이 될 수 있습니다 ~/.bashrc
. 셸이 대화형이 아닐 때 문제를 해결하려면 맨 위에 다음 코드를 추가하는 것이 좋습니다.
if [[ $- != *i* ]]; then return; fi
답변2
몇 가지가 있습니다:
/etc/motd
/etc/issue
/etc/profile - Could echo the message
/etc/profile.d/* - Would be called from /etc/profile
또한
/etc/bash_bashrc
/etc/.bashrc
/etc/bashrc
$HOME/.profile
$HOME/.bashrc
또한 이러한 스크립트에서 호출된 모든 프로그램을 확인해야 할 수도 있습니다. fortune
이를 /usr/share
격리하려면 다음을 수행할 수 있습니다.
. /etc/profile
. /etc/bash.bashrc
. $HOME/.profile
. $HOME/.bashrc
Ubuntu에도 파일이 있습니다:
/etc/motd.tail
답변3
/etc/update-motd.d
최신 시스템은 다양한 매크로를 실행하여 로그인 시 업데이트 정보, 시스템 경고 등을 표시하도록 motd를 사용자 정의할 수 있도록 MOTD 구성 요소를 저장합니다 .
사용자 정의를 00
다음 우선순위의 다른 파일로 추가하세요.99
99-footer
/etc/motd.tail
일반적으로 끝에 고정하는 것으로 충분하고 매크로 항목을 사용하지 않으려는 경우 로드됩니다.
답변4
확인하실 수 있습니다 /etc/shell
. 거기에서 변경을 시도한 메시지를 발견했습니다. "#"으로 주석을 달면 작동하지 않습니다. 텍스트를 삭제하고 직접 추가하면 됩니다. 공백과 새 줄은 파일에 넣을 때도 나타납니다.