
다음 코드는 허용되었지만 사용자 이름으로 필터링되지 않은 모든 콘텐츠를 제공합니다.
sudo cat /var/log/auth.log | grep Accepted
답변1
grep 패턴에 사용자 이름을 추가하시겠습니까?
# grep -e "Accepted .* for root " /var/log/auth.log
May 3 23:09:01 lumi sshd[21046]: Accepted publickey for root from 1.2.3.4 port 44308 ssh2
May 6 21:25:20 lumi sshd[6642]: Accepted publickey for root from 1.2.3.4 port 44556 ssh2
또는 시작된 세션이 포함된 로그를 last
읽는 를 사용하세요. /var/log/wtmp
비대화형 세션은 여기에 저장되지 않습니다.
# last root
root pts/38 somehost.somewhere Sat May 6 21:25 still logged in
root pts/3 somehost.somewhere Wed May 3 23:09 - 23:09 (00:00)
최소한 이러한 로그의 위치는 시스템/배포에 따라 다를 수 있습니다.
그러나 우리는 루트 로그인에 대해 이야기하고 있으므로 루트 액세스 권한이 있는 사람은 누구나 로그를 편집하여 로그인을 숨길 수 있다는 점에 유의하는 것이 가장 좋습니다. 따라서 감사 목적으로 이 작업을 수행하는 경우~ 해야 하다외부 시스템에 로깅.
답변2
어쩌면 마지막 명령이 루트 로그인을 나열하는 데 도움이 될 수 있을까요? 이 예에서 마지막 명령은 1월 11일 수요일에 IP 주소가 10.1.57.140인 컴퓨터에서 의사 터미널 3(pts/3)을 사용하여 루트 로그인하는 것을 보여줍니다. 마지막 명령이 SSH를 명시적으로 나타내지는 않지만 pts/3은 아마도 SSH를 사용하여 연결이 설정되었음을 나타내는 강력한 표시일 것입니다.
[root@server1 ~]# last
john.doe pts/0 server1.example.com Thu Jan 12 12:04 still logged in
root pts/3 10.1.57.140 Wed Jan 11 12:54 - 13:13 (00:19)
reboot system boot 3-10-0-327.e17.x Wed Jan 11 12:52 - 13:10 (00:01)
. . .