오늘 내 서버에서 이 동작을 발견했으며 무슨 일이 일어나고 있는지 더 자세히 알고 싶습니다.
SSH를 통해 RHEL 6 서버에 연결된 동안 명령을 실행할 때 w
FROM 필드에 SSH 클라이언트의 IP 대신 호스트 이름을 인쇄하려고 합니다. 예를 들어 , ping
저는 8.8.8.8을 DNS로 사용하고 google.com의 확인은 잘 작동합니다.
따라서 클라이언트에 대한 항목을 포함하도록 SSH 서버에서 /etc/hosts를 편집했습니다. 이제 호스트 이름으로 클라이언트를 ping하면 올바르게 작동하지만 w
FROM 필드에는 여전히 IP 주소가 표시됩니다.
로그아웃했다가 다시 로그인하고 w
다시 발행하면 FROM 필드에 /etc/hosts에서 구성한 호스트 이름으로 SSH 클라이언트가 나열됩니다.
내 질문은 왜 로그아웃/로그인해야 합니까?입니다. 다시 로그인한 후 어떤 변경이나 업데이트가 발생했나요?
저는 RHEL 6 기반의 최신 버전인 bash-4.1.2-33.el6_7.1을 사용하고 있습니다.
답변1
w
/var/run/utmp
누가 로그인했는지, 어디서 로그인했는지 알아보려면 읽어보세요 . utmp
사용자가 로그인하거나 로그아웃하면 기록이 업데이트됩니다.
/etc/hosts
DNS 또는 IP 항목이 없는 경우사용자가 로그인할 때그런 다음 로그인 프로세스(이 경우 sshd)는 호스트 이름 필드를 비워 둡니다 utmp
.
로그아웃했다가 /etc/hosts
항목 추가 후 다시 로그인하면 sshd
IP를 조회해서 이번에 호스트 이름을 찾았기 때문에 의 Hostname 필드에 올바른 데이터가 추가되었습니다 utmp
.
man 5 utmp
파일 형식에 대한 자세한 내용은 다음을 참조하세요./var/run/utmp