admin write
blogblogblogbloglocation loglocation logtag listtag listguest bookguest book
rss feed
vsftpd가 나온지 수년이 흘렀지만.. 아직도 제대로 된 ftpwho가 없다.
구글링을 해봐도 ps ax의 조합이나 log를 이용해서 처리하는 방법뿐..
그럼 실시간 처리가 안돼잖아...
그래서 한번 만들어 봤다.
결과는??
대 만족 *^---------------------,.-----------------------^*

#!/bin/bash
 
##########################################################################
#  Script Name  : ftpwho                                                 #
#  Description  : ProFTPD의 ftpwho 와 비슷하게 구현된 스크립트           #
#  Version      : 1.0.3                                                  #
#  License      : Hyeok-Jung, KIM (Nick. 티니)                           #
#  WebSite      : LTN(Linux.Tini4u.Net)                                  #
#  E-Mail       : sky (at) tini4u.net                                    #
#  LastUpdate   : 2007. 01. 23.                                          #
#  Message      : 이 스크립트는 VsFTPD의 독립모드(Standalone) 기준으로   #
#                 제작되었습니다.                                        #
#                 사용/배포/수정은 자유이나, 이부분은 삭제하지 마십시요  #
##########################################################################
 
str_stat=`ps -ef | grep 'vsftpd' | grep 'LISTENER' | sed -e 's/.*vsftpd: //'`
 
if [ "$str_stat" ]; then
        usr_cnt=`ps -ef | grep 'vsftpd' | grep 'connected' | wc -l`
        if [ "$usr_cnt" != "0" ]; then
                echo "♧ 현재 접속된 사용자는 총 $usr_cnt 명 입니다."
                echo "-----------------------------------------------"
                ps -ewwf \
                        | grep 'vsftpd' \
                        | grep -v 'grep' \
                        | grep -v 'sed' \
                        | grep -v ': connected' \
                        | grep -v 'LISTENER' \
                        | sed -e 's/.*vsftpd: //' \
                        | sed -e 's/:/\t| Status:/' \
                        | sed -e 's/STOR/UpLoad =>/' \
                        | sed -e 's/RETR/DownLoad =>/' \
                        | sed -e 's/\<\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)\>/IP: \1/' \
                        | sed -e 's/\//\t| ID: /'
        else
                echo "♧ 현재 접속된 사용자가 아무도 없습니다."
        fi
else
        echo "VsFTP 데몬이 실행되고 있지 않습니다. VsFTP 데몬을 실행해주시기 바랍니다."
fi

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 황선빈
    2012.04.17 12:25
    댓글 주소 수정/삭제 댓글
    안녕하세요....저는 고등학생인데요.. 제가 서버를 하는 쪽에 관심이 많은데요..
    어제부터 vsftpd를 하고 있는데요ㅜ 지금은 /etc/vsftpd.conf안에 설정 내용을
    공부하는 중인데요ㅜㅜ 이해가 잘안되고 햇요... 그래서 인터넷을 찿다가
    님이 만드신것을 봤는데요ㅜㅜ 저를 가르쳐 주시면 안될까요?

    가르쳐주실 마음이 있으시면 네이트온 이메일 써놓고 갈게요... 친구추가 부탁드립니다.
    ghkd95gur@cyworld.com
    • 2012.05.08 10:05 신고
      댓글 주소 수정/삭제
      안녕하세요.
      블로그를 자주 오지 않다보니, 이제야 글을 남기네요
      제가 질답 형식으로 뭔가 도움을 드릴수는 있겠지만
      일일히 하나씩 가르쳐 드릴 수는 없습니다.
      제가 학원강사도 아니고.. 저도 현업이 있다보니.. ^^;