로그인 시 MOTD 업데이트

로그인 시 MOTD 업데이트

CentOS 서버 로그인 절차를 수정 중이며 다음 명령을 사용하여 MOTD를 업데이트하고 싶습니다.linux_logo프로그램. 여러 가지 방법을 시도해 보았으나 원하는 결과가 나오지 않았습니다. 다음 명령으로 시작합니다.

/usr/bin/linux_logo -c -u -y -t "$R" > /etc/motd

여기서 업데이트할 주요 정보는 가동 시간입니다.

내 파일에 추가 하고 폴더의 새 bash 스크립트 .bashrc에 명령을 추가하여 실행 가능하게 만들었습니다. /etc/profile.d/두 방법 모두 로그인 시 실행되지만 MOTD가 인쇄된 후에만 실행되므로 로그인이 필요합니다.

또한 런타임 레벨 345에서 시작하도록 설정하는 명령이 포함된 init 스크립트를 생성했는데 chkconfig, 이는 시작 중에 스크립트를 실행하게 한다고 생각합니다.

sshd_config또한 내 파일 에 다음을 추가해 보았습니다 .

ForceCommand /usr/bin/linux_logo -c -u -y -t "$R" > /etc/motd

이로 인해 로그인할 때마다 SSH 연결이 닫힙니다./

이것들은 모두 인터넷 검색 중에 찾은 유사한 게시물의 제안이므로 뭔가 빠진 것 같습니다. 이 시점에서 도움을 주시면 대단히 감사하겠습니다.

요약하자면, motd를 인쇄하기 전에 로그인 시 다음 또는 유사한 명령을 실행하고 싶습니다. 가능합니까?

if [ -f /usr/bin/linux_logo ]; then
  /usr/bin/linux_logo -c -u -y -t "$R" > /etc/motd
fi

답변1

~에 따르면위키피디아 기사라고/etc/motd앞으로로그인 쉘을 실행합니다. 이는 .bashrc파일에 어떤 항목을 포함해도 작동하지 않는 이유를 설명합니다.

패스 와 링크 chkconfig의 업데이트는 /etc/rcX.d/실제로 시작 시에만 수행됩니다.

조사해 볼 수 있는 한 가지는 이를 /etc/motd명명된 파이프( mkfifo /etc/motd)로 바꾸고 프로그램이 어떻게든 해당 파이프의 판독값을 감지하고 원하는 출력으로 채우도록 하는 것입니다.

답변2

사용자가 로그인한 경우 이를 실행할 이유가 없습니다. 루트의 crontab 또는 에 추가하면 됩니다 /etc/crontab. 명령을 실행하고 5분마다 motd를 업데이트하려면 다음 줄을 추가하세요 /etc/crontab.

*/5 * * * * root /usr/bin/linux_logo -c -u -y -t "$R" > /etc/motd

답변3

최신 Linux에서는 모든 쓰기 작업으로 /etc/motd.dynamic인해 로그인이 변경됩니다.

"올바른" 작업을 수행하려면 /etc/update-motd.d출력이 MOTD를 구성할 스크립트를 만들고 배치하세요.

바라보다

https://ownyourbits.com/2017/04/05/customize-your-motd-login-message-in-debian-and-ubuntu/

관련 정보