기타 관리용 명령어(2)
last CMD
# last, lastb - 사용자들의 마지막 로그인 했던 기록 목록 출력
/var/log/wtmp 안에 기록들이 있음
OPTIONS
-n (num) 지정한 num 만큼의 줄만 출력
-f (file) 지정한 파일에서 정보를 불러온다.
-R 보여주는 목록에서 ip주소 는 제외한다
-d 다른 호스트에서 접속한 것만 출력
명령어 형식
# last
# last root
# last -5 5행의 결과만 출력
# last -R last의 결과에서 호스트 접속기록을 제외한 결과 출력
# last -a last의 결과중 호스트 (ip주소)정보를 맨 마지막에 출력
상단이 제일 최근
last 명령어 사용
[TERM1] fedora 사용자의 터미널
# ssh fedora@localhost
$ tty
[TERM2] 관리자 터미널
# last
(사용자 / 최종접속일 / 접속 interval / 접속횟수 / 1회당 사용시간 )
# last -5 ( # last | head -5 )
새로운 터미널로 root 계정에서 last 검색해본 결과 fedora 사용자의 기록 출력됨
/var/log/wtmp.# 파일 읽기 (last 기록)
# file /var/log/wtmp // data 파일 타입을 가지고 있다
# file /etc/passwd // text 파일의 경우 확인 가능
# cat /var/log/wtmp // 파일을 열수 있는 형식이 아님
# last -f /var/log/wtmp (# last)
/var/log 안에 리스트 중 wtmp 파일 확인
[참고] last -f 옵션 사용하는 경우
# cd /var/log
# ls wtmp*
wtmp wtmp.0 wtmp.1 wtmp.2 ....
# last -f /var/log/wtmp.0 지난 예전의 last 파일 출력 로그인/로그아웃 정보
wtmp는 매월 하나씩 생성된다
last 명령어의 사용 예
개발자 요청 내용 : 어제 파일 (file.log) 을 삭제한 사용자 검색요청
정보1 : 어제 파일이 지워졌다
# last | grep 'Oct 21'
정보2 : 지워진 파일의 이름 : file.log
#history //로그인 한뒤 내가 출력한 명령어 (command history) 1000개까지 저장
# cat ~/.bash_history //전에 사용했던 명령어 들을 다시 사용할 수 있도록 기록
# cat ~/.bash_history | grep 'file.log' | grep rm //file.log 과 rm 이 들어간 명령어
작업 준비
# cd test
# chmod 777 /test
# touch file.log
# telnet localhost (fedora 사용자로 로그인)
telnet 접속 안될시 ssh fedora@localhost 로 접속
$ rm -rf /test/file.log
$ ls /test (file.log 파일이 지워졌는지 확인)
$exit
...
# last | grep 'Oct 22' // 10월 22일 로그인 기록을 확인
(의심스러운 사용자 발견 fedora..)
# egrep -l "file.log" /home/*/.bash_history
/home 디렉터리 안에 file.log 파일 기록 출력,
# egrep "file.log" /home/fedora/.bash_history
fedora 가 rm file.log 라는 명령어를 사용하여 삭제 한 것을 출력(검거 완료)
# egrep "" /home/fedora/.bash_history
fedora 사용자가 그외 사용한 다른 명령어들 검색
lastlog CMD
# lastlog - 사용자의 마지막 로그인 정보 출력(가장 최근 로그인)
lastlog는 /var/log/lastlog 라는 파일 내용 출력
사용자 계정을 삭제하면 /var/log/lastlog 파일에도 사용자 계정에 해당 정보도 삭제된다.
OPTIONS
-u 지정된 사용자의 lastlog 기록 출력
-t 지정된 날짜기간 안의 로그인 정보 출력
명령어 형식
# lastlog
# lastlog -u fedora 지정한 로그인명의 lastlog 정보 출력
# lastlog -t 3 지정한 날짜기간 안에 로그인한 정보 출력
# lastlog CMD(/var/log/lastlog)
lastlog 명령어 사용법
# telnet localhost (# ssh localhost)
# lastlog
# lastlog -u fedora
lastb CMD
# lastb - 사용자들의 마지막 로그인 하지못한 기록 목록 출력
접속 실패 로그 출력 /var/log/btmp파일에 저장 , cat으로 볼수 없음
임의 사용자 계정의 내 시스템 접속여부, 임의 사용자 의 잘못 로그인 했는지 의 정보 확인
OPTIONS
-f 지정한 파일에서 정보를 불러온다
명령어 형식
#lastb
lastb 명령어 실습
user01 접속 실패 한 결과 출력(lastb)
# lastb | grep user01 //user01 의 lastb 결과만 출력
# lastb | grep user01 | wc -l //user01 의 lastb(접속실패) 결과 를 수(카운트)로 출력
who CMD
# who - 로그인한 사람들을 보여준다 /var/run/utmp 의 내용으로 저장되어있음
OPTIONS
-h (--heading) 헤드라인 정보 표시
-r run-level 확인
명령어 형식
#who 현재 시스템에 접속 중인 모든 사용자
#who -r 현재 사용자의 Runlevel 확인
#who am i 로그인한 사용자 정보 확인
#whoami 현재 사용자명 확인
#who -H 헤드라인과 같이 출력
명령어 실습
# ssh 172.16.9.252
# hostname //현재 접속하고 있는 서버의 이름
# id
# tty
# who //현재 서버에 접속하고 있는 사용자 출력
w CMD
# w - 시스템에 login한 사용자가 어떤 명령어를 실행하고 있는지 출력
/proc 디렉터리로 부터 사용자에 대한 정보와 실행중인 명령어에 대한 정보 추출
명령어 형식
#w
#w user01
--------------------------자동 모니터링 기능
while true
do
CMD
sleep 2
done
--------------------------
w 명령어 실습
-w
-w user01
pts/2 root인 내가 -w 명령어로 시스템에 로그인 한 사용자들의 정보를 출력
fedora 사용자는 -bash 사용을 하고있고
user01 사용자는 vi /etc/passwd 를 보고있다.
악의적인 사용자 로그아웃 시키기
user01 의 정보를 출력했지만 w user01 을 반복적으로 눌러 실시간으로 확인 하기엔 불편하다
while true 명령어 를 사용하여 2초에 한번씩 user01의 정보를 출력하는 명령어를 사용
ps CMD - 실행중인 프로세스의 목록을 출력
ps -fu user01 user01의 모든정보 출력
# kill -9 4913
(-9 : 응답에 상관없이 강제종료)
while true tip
[참고] 원격서버에 접속시
원격 서버에 접속하여 접속한 서버의 이름, 사용자, 작업 디렉터리 확인
hostname
id
pwd
[참고] 관리 서버에 접속시
자신이 관리하는 서버에 접속하여 접속한 사용자들 로그인/로그아웃 사용자정보
접속되어져 있는 사용자 확인
접속된 사용자가 수행하는 명령어
last
who
w
top
PID 프로세스 ID
USER 프로세스를 실행 시킨 사용자 ID
PR 프로세스의 우선순위
NI NICE값, 마이너스를 가지는 값이 우선순위가 높음
VIRT 가상 메모리의 사용량(SWAP+RES)
RES 현재 페이지가 상주하고 있는 크기
SHR 분할된 페이지
S 프로세스의 상태
%CPU 프로세스가 사용하는 CPU의 사용율
%MEM 프로세스가 사용하는 메모리의 사용율
TIME+ 프로세스가 CPU를 사용한 시간
COMMAND 실행된 명령어
[TERM1]# top 윈도우 작업관리자
[TERM1]# tail -f /var/log/messages 실시간으로 파일에 추가되는 내용확인 (log파일 관찰할때)
'Learning > └Essential & Admin' 카테고리의 다른 글
리눅스 파일 속성관리_Unit7 (0) | 2016.10.21 |
---|---|
리눅스 파일종류_Unit6 (0) | 2016.10.21 |
리눅스 기타 관리용 명령어(1)_Unit5-1 (0) | 2016.10.20 |
리눅스 파일 내용 확인 명령어_Unit4 (1) | 2016.10.20 |