리눅스 서버에서 어떤 사용자가 접속했는지 확인

개인이 사용하는 리눅스 서버에서는 많이 사용을 안하겠지만 실무에서는 많은 영역으로 업무가 분리되어 있기 때문에 가끔식 서버에서 어떠한 사용자가 접속해 있고 어떤 작업을 하고 있는지 확인을 해야할 필요성이 있습니다.

간단한 명령어와 함께 리눅스 서버에 접속해 있는 사용자를 확인하는 방법에 대해서 포스팅하겠습니다.


서론

리눅스 서버를 운영하다 보면, 현재 누가 서버에 접속해 있는지, 또는 과거에 누가 접속했었는지 확인할 필요가 종종 있습니다. 이러한 정보는 시스템의 보안, 사용자 관리, 리소스 모니터링 등 다양한 목적으로 활용될 수 있습니다. 본 글에서는 리눅스 서버에서 사용자의 접속 정보를 확인할 수 있는 몇 가지 기본적인 명령어들을 알아보겠습니다.

1. who 명령어로 현재 접속한 사용자 확인하기

who 명령어는 시스템에 현재 로그인한 사용자의 목록을 보여줍니다. who 명령어를 실행하면 사용자 이름, 터미널 번호, 로그인 시간, 로그인한 호스트(원격 접속의 경우) 등의 정보를 확인할 수 있습니다.

who 명령어로 리눅스 서버 접근 사용자 확인하는 방법

who 명령어를 사용하면 위와 같이 정보가 나오는데 하나씩 알아보겠습니다.

who 다음과 같은 정보를 포함

  • 사용자 이름: admin
    • 현재 시스템에 로그인한 사용자의 이름입니다.
  • 터미널: pts/0
    • pts/0은 사용자가 로그인한 터미널 세션을 나타냅니다. pts/는 “Pseudo Terminal Slave“의 약자로, 가상 터미널을 의미합니다. 0은 세션 번호입니다. 원격 접속 시 각 세션은 고유한 pts 번호를 받습니다.
  • 로그인 시간: 2024-03-19 20:42
    • 사용자가 시스템에 로그인한 날짜와 시간입니다. 2024년 3월 19일 오후 8시 42분에 로그인했음을 나타냅니다.
  • 원격 호스트 주소: (172.16.117.1)
    • 사용자가 로그인한 원격 컴퓨터의 IP 주소입니다. 이는 사용자가 네트워크를 통해 원격 접속한 경우에 표시되며, 여기서는 172.16.117.1이 그 주소입니다.



2. w 명령어로 사용자의 활동 보기

w 명령어는 who 명령어의 확장 버전으로, 현재 시스템에 로그인한 사용자와 실행 중인 프로세스의 정보를 제공합니다. 시스템의 현재 시간, 부팅 이후 경과 시간, 사용자 수, 시스템 부하 등의 추가 정보도 함께 표시됩니다.

w 명령어로 유저 확인하기

w 명령어 정보확인

  • 현재 시간: 21:17:35
  • 시스템 가동 시간: up 37 min – 시스템이 부팅된 후 지금까지의 운영 시간입니다.
  • 사용자 수: 1 user – 현재 시스템에 로그인한 사용자 수입니다.
  • 로드 평균: load average: 0.14, 0.07, 0.02 – 시스템의 평균 부하를 나타내며, 각각 지난 1분, 5분, 15분 동안의 평균 부하를 의미합니다.
  • 사용자 이름: admin
  • 터미널: pts/0
  • 로그인 시간: 20:42
  • 유휴 시간: 2.00s – 사용자가 마지막으로 입력한 이후로 경과한 시간입니다.
  • JCPU: 0.02s – 해당 터미널에서 실행된 모든 프로세스의 CPU 사용 시간입니다.
  • PCPU: 0.00s – 현재 프로세스(w 명령어 실행)의 CPU 사용 시간입니다.
  • WHAT: w – 사용자가 현재 실행 중인 명령어입니다.




3. last 명령어로 로그인 기록 확인하기

last 명령어는 사용자의 로그인 및 로그아웃 기록을 보여줍니다. 이 명령어는 /var/log/wtmp 파일을 참조하여 정보를 제공하며, 로그인했던 시간, 로그아웃한 시간, 세션이 지속된 기간 등을 확인할 수 있습니다. 현재 로그인 중인 세션도 확인할 수 있습니다.

last 명령어 정보

위에서 많이 설명 드렸던 내용과 겹치는 부분이 있으실 겁니다.

still logged in – 사용자가 여전히 로그인 상태임을 나타내는 것이며

still running – 시스템이 여전히 가동 중임을 나타냅니다.

5.14.0-362.18.1. – 시스템이 부팅될 때 사용된 커널 버전입니다.


이렇게 3가지 명령어를 통해서 현재 운영하고 계신 리눅스 서버의 접근한 사용자 정보를 확인할 수 있으며

문제를 이르키는 사용자에 대해서 원인 파악을 하는 기본적인 단계로 넘어가실 수 있습니다.

단, 위의 명령어를 사용 시 주의점이 몇가지 있어 해당 사항만 살펴보고 마무리하겠습니다.

  • 일부 명령어는 root 권한이나 sudo 권한이 필요할 수 있습니다. 특히, last 명령어는 로그 파일에 접근해야 하므로 sudo를 사용하여 실행해야 할 수 있습니다.
  • 시스템에 따라 로그 파일의 위치나 관리 방법이 다를 수 있으므로, 특정 배포판에서는 추가적인 설정이나 확인이 필요할 수 있습니다.

By Low ahn

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다