본문 바로가기

리눅스

w 명령어

반응형

w 명령어

w 명령어에 사용자 정보가 나타나지 않을 때

w 명령어를 실행했을 때 "0 users"로 나오고 접속한 사용자가 표시되지 않는 경우, 이는 일반적으로 utmp 파일이 손상되었거나 비어 있는 경우에 발생합니다.

$ w
 08:24:27 up 15:20,  0 users,  load average: 2.87, 2.85, 2.18
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
  • 로그인한 사용자가 분명히 있음에도 w, who, users 명령어에 아무 정보도 표시되지 않음
  • 0 users 로 나타나는 현상

원인 요약

  • w, who, users 명령어는 /var/run/utmp 파일을 참조하여 현재 로그인된 사용자 정보를 표시합니다.
  • 이 파일이 없거나 손상되었거나, 사용자 세션이 utmp에 제대로 기록되지 않으면 사용자 정보가 표시되지 않습니다.

utmp 파일 생성(재부팅 없이)

utmp 존재 여부 확인

$ ls -l /var/run/utmp
ls: cannot access '/var/run/utmp': No such file or directory

utmp 파일 생성 및 초기화

  • 파일이 없으면 생성하고, 파일이 존재하면 내용을 0바이트로 초기화합니다.
sudo sh -c '> /var/run/utmp'
$ ls -l /var/run/utmp 
-rw-r--r-- 1 root root 0 Aug  1 08:29 /var/run/utmp

파일 권한 및 소유자 설정

sudo chmod 664 /var/run/utmp
sudo chown root:utmp /var/run/utmp
728x90

한 줄 명령어

sudo sh -c '> /var/run/utmp && chmod 664 /var/run/utmp && chown root:utmp /var/run/utmp'

테스트

새로운 SSH 세션으로 로그인 후 확인합니다.

 

w 명령어

$ w
 08:30:25 up 15:26,  2 users,  load average: 3.22, 2.85, 2.37
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
vagrant  pts/2    192.168.112.44   08:30    1.00s  0.02s  0.07s sshd: vagrant [priv]
vagrant  pts/3    192.168.112.44   08:30    1.00s  0.02s  0.00s sudo su -

who 명령어

$ who
vagrant   pts/2        2025-08-01 08:30 (192.168.112.44)
vagrant   pts/3        2025-08-01 08:30 (192.168.112.44)

users 명령어

$ users
vagrant vagrant

 

728x90
반응형