리눅스 서버를 관리하다 보면 문득 이런 궁금증이 생길 때가 많습니다. '지금 내 서버에 누가 접속해있지?', '서버가 마지막으로 재부팅된 게 언제지?'. 이러한 정보는 서버 보안과 안정성을 점검하는 가장 기본적인 첫걸음입니다.
이 글에서는 터미널 명령어 단 3개로 현재 접속자, 과거 로그인 이력, 시스템 재부팅 기록까지 모두 파악하는 방법을 쉽고 명확하게 알려드립니다.
가장 먼저, 현재 시스템에 로그인한 사용자가 누구인지 확인하는 방법입니다. 누군가 비정상적으로 접속한 것은 아닌지 실시간으로 확인할 수 있어 보안에 매우 중요합니다.
현재 로그인한 사용자 목록을 가장 간단하게 보여줍니다.
# who
root pts/0 2025-08-29 16:14 (192.168.10.161)
who
보다 훨씬 자세한 정보를 보여줍니다. 각 사용자가 현재 어떤 명령어를 실행 중인지까지 파악할 수 있어 유용합니다.
# w
16:18:42 up 4 days, 5:07, 1 user, load average: 0.00, 0.00, 0.00
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 16:14 2.00s 0.04s 0.01s w
서버에 발생한 문제를 추적할 때 과거의 로그인 기록과 재부팅 시점을 아는 것은 매우 중요합니다. last
명령어는 시스템의 로그인/로그아웃 및 재부팅 기록을 시간순으로 보여줍니다.
서버가 언제 재부팅되었는지 확인하려면 이 명령어를 사용합니다.
# last reboot
reboot system boot 5.14.0-503.14.1. Mon Aug 25 11:11 still running
reboot system boot 5.14.0-503.14.1. Thu Aug 21 17:28 - 14:31 (21:02)
reboot system boot 5.14.0-503.14.1. Wed Jul 16 11:30 - 19:44 (28+08:13)
reboot system boot 5.14.0-503.14.1. Wed Jul 16 11:17 - 11:29 (00:12)
reboot system boot 5.14.0-503.14.1. Wed Jul 16 11:10 - 11:17 (00:07)
reboot system boot 5.14.0-503.14.1. Mon Apr 7 13:54 - 11:17 (99+21:23)
reboot system boot 5.14.0-503.14.1. Thu Apr 3 14:56 - 09:23 (18:26)
reboot
옵션 없이 실행하면 모든 사용자의 로그인, 로그아웃 기록을 확인할 수 있습니다.
uptime
명령어는 서버가 재부팅 없이 얼마나 오랫동안 안정적으로 켜져 있었는지, 그리고 현재 시스템 부하(Load Average)는 어느 정도인지 한눈에 보여줍니다.
# uptime
16:18:55 up 4 days, 5:07, 1 user, load average: 0.00, 0.00, 0.00
오늘 소개한 who
, last
, uptime
세 가지 명령어는 리눅스 서버 관리의 기본 중의 기본입니다. 이 명령어들을 손에 익혀두고 주기적으로 서버 상태를 점검하는 습관을 들인다면, 잠재적인 보안 위협을 예방하고 장애 발생 시 원인을 훨씬 빠르게 파악할 수 있을 겁니다. 여러분의 서버를 더욱 안전하고 안정적으로 운영하는 데 도움이 되길 바랍니다.