로그인하면 어떤 파일이 표시되거나 실행되나요?

로그인하면 어떤 파일이 표시되거나 실행되나요?

저는 맞춤형 ARM 보드에 임베디드 Linux 배포판(Lime2)을 사용하고 있습니다.

SSH를 통해 로그인하면 다음이 표시됩니다.

root@mybox ~ # ssh localhost
root@localhost's password:

 _     _                  ____
| |   (_)_ __ ___   ___  |___ \
| |   | | '_ ` _ \ / _ \   __) |
| |___| | | | | | |  __/  / __/
|_____|_|_| |_| |_|\___| |_____|


welcome to mybox!
Last login: Wed May  4 19:50:28 2016 from localhost
Load: 1.01, 1.10, 0.86 - Board: 27.3°C - Memory: 929Mb
root@mybox ~ #

이 프롬프트의 다양한 구성요소가 어디서 나오는지 알고 싶습니다. 이것이 내가 생각해낸 것입니다:

  • /bin/login분명히 비밀번호 프롬프트 라인은 다음에서 나옵니다.
  • Lime2 배너가 어디서 나오는지 모르겠습니다.
  • 환영 메시지는 /etc/motd에 입력한 내용입니다.
  • /bin/login일부 서비스에서 "마지막 로그인" 행이 생성된 것 같습니다.PAM
  • 숨겨진 "로딩" 줄을 찾았어요/etc/bash.bashrc.custom

그럼... 게다가 /etc/motd로그인 쉘이 생성되기 전에 어떤 다른 파일이 표시되거나 실행됩니까? 이 Lime2 배너는 어디에서 왔나요?

답변1

액세스된 모든 파일을 인쇄하는 straceshow all 시스템 호출을 사용할 수 있습니다 .open

추적하다로컬 로그인세션, 루트 쉘에서 실행:

strace -f -e open login 2>&1

추적하다SSH 로그인회의:

strace -f -e open -p <sshd_pid> 2>&1

예를 들어 먼저 ssh 데몬의 PID를 결정합니다.

router:~# ps -ef | grep ssh
root      4816     1  0 May04 ?        00:00:00 /usr/sbin/sshd -D
root      6584  5941  0 01:18 ?        00:00:00 sshd: root@pts/0
root      6647  6381  0 01:23 pts/0    00:00:00 grep --color=auto ssh

그런 다음 -p옵션과 sshd의 PID를 사용하여 추적합니다.

strace -f -e open -p 4816 2>&1

이제 다른 터미널에서 SSH를 사용하여 로그인하십시오.

관련 정보