프로세스와 명령어 모니터링
1. 프로세스 모니터링
1) ps
[1] 사용자가 접속한 단말에서 실행되고 있는 프로세스를 보여준다.
[2] ps옵션
- a : 모든 프로세스에 대해
- u : 실행한 유저명을 포함하고
- x : 제어 단말이 없는 프로세스까지 보여준다.
- 위 그림은 ps -aux 명령어를 사용한 결과이다.
[3] 확인방법
- VSZ는 프로세스가 메모리의 총 사용량이다.
- RSS는 프로세스가 현재 사용 중인 메모리양이다.
- TTY는 제어단말명을 말한다.
- STAT는 프로세스 상태를 의미한다
① S : 슬립상태
② D : 인터럽트가 불가능한 슬립상태
③ R : 실행상태
④ T : 트레이스 혹은 정지상태
⑤ Z : 소멸한 프로세스
⑥ W : 스왑 아웃한 프로세스
2) top
[1] CPU 및 메모리 사용률, 시스템 부하 등의 상태를 모니터링 할 수 있다.
[2] 확인방법
- PR : 실행우선순위
- NI : nice 값
- VIRT : 사용 중인 가상메모리(KB)
- RES : 사용 중인 실제메모리(KB)
- SHR : 공유메모리 크기(KB)
- S : 프로세스 상태
- MEM : 물리 메모리 점유율(%)
- COMMAND : 실행 명령어
[3] 사용방법
- M : 메모리 사용률 순으로 정렬
- P : CPU 사용률 순으로 정렬
- q : 종료
- 스페이스 : 업데이트
[4] 시연
- user1 사용자가 vi에디터를 연다.
- user1 사용자가 vi에디터를 사용하고 있다.
- 관리자가 top 명령어를 실행한다.
- P를 누르면 CPU 사용률 순서대로 정렬한다. (위 그림)
- M을 누르면 메모리 사용률 순서대로 정렬한다.
- u를 누르면 사용자를 검색할 수 있다.
- 검색한 사용자가 사용하는 것만 확인할 수 있다.
- k를 누르면 프로세스를 강제로 종료할 수 있다.(프로세스 ID 입력)
- user1에서 사용하던 vi 에디터가 강제로 종료되었다.
3) 명령어 로그 확인방법
[1] /.bash_history 에 사용자의 기록이 남는다.
[2] /etc/profile 에서 history 명령어의 출력포멧을 설정할 수 있다.
- [HISTTIMEFORMAT="%F %T --> "] 내용을 추가한다.
- [export=HISTTIMEFORMAT] 내용을 추가한다.(위 사진에는 오타가 나서 수정하였다.)
- history 명령어로 확인한다.
[3] 각 유저가 사용한 명령어는 /home/"사용자명"/.bash_history에서 확인할 수 있다.
2. 사용자 모니터링
1) users
[1] 현재 시스템에 로그인한 사용자 이름을 볼 수 있다.
2) who
[1] 현재 시스템에 접속한 사용자 및 단말, 시간, ip 등을 확인할 수 있다.
3) w
[1] 서버 정보와 함께 사용자 정보를 상세히 확인할 수 있다.
[2] 마지막 열을 보면 가장 최근에 사용한 명령어도 확인할 수 있다.
댓글