[이현철]님이 남기신 글:
>-----------------------------------------
>답변자가 기본적으로 참고할 내용입니다.
>- 배포판(옵션) :
>- 커널버전(옵션)
:
>- 데몬버전(예:apache
1.3.27) :
>- 데몬설치유형(RPM/컴파일/기타)
:
>-----------------------------------------
>안녕하십니까..
산이님...
>
>10월이네요..
>
>이것저것 해보다가 답답하면 이렇게 여기
찾아오네요..
>
>다름이 아니라..
>
>이번에 또 서버 이설 작업을 하게 되는 바람에 하나 조언을
얻고자 합니다.
>
>현재 기존 서버의 유저ID,passwd를 새로운 서버로 다
옮겼습니다..
>/etc/passwd,/etc/group 이런 파일들을 copy 하는방법이
아니고
>유저passwd를 알고 있는 관계로(평문으로된
유저passwd를 지칭함)
>스크립를 통해 유저 아카운트 부분 이설작업을
끝냈습니다.
>
>그런데 등록된 유저id,passwd가 제대로 등록되었는지,확인하고
싶습니다.
>제대로 등록되었다고 생각하지만, 이를 검증해서 제출해야
하는데
>이것이 제대로 되지 않았서 말이지요..
>
>지금 아래같이 유저ID랑
>[@passwd]$ more ftp-ID01
>####################
>0421254
>06234
>a-i4gh
>a-karke
>//유저ID가 엄첨 많음//
>###################
>
>그리고 아래와 같이
>
>[@passwd]$ more ftp-passwd01
>###############################
>denbo720
>den23tako
>den34
>deresuke
>des145
>##############################
>
>위와 같이 id,passwd를 알고있지만 워낙 숫자가 많아서 수동으로
확인할수도 없고
>로그인 확인방법을 ftp를 통한 로그인으로 확인할려고 하는데
잘 되지않네요
>
>아래와 같이 ftp스크립트를 아무리 수정하고 머리를 굴러봐도
안되는데
>아래와 같은 스크립트로는 유저한명에 대해서만 밖에
안되는데 말이네요.
>cat 명령어를 통해 위의유저id,유저passwd
파일을 참조 해서 스크립트를 작성해봤지만,생각처럼
되지 않네요..ㅋㅋ 실력이 없는 탓으로..
>
>=========파일 내용===========
>#!/bin/bash
>
>USERNAME=유저네임
>PASSWORD=페스워드
>
>
>
>HOST=서버주소
>
>{
> echo user $USERNAME $PASSWORD
> echo bi
> echo prompt
> echo bye
>} | ftp -n -v $HOST 21
>
>============내용 끝==============
>
>
>
>아니면 이런 방법으로 말고
>지금 등록된 로그인이 제대로 되는지 검증할수있는 좋은
방법이 있다면 조언좀 해주세요...
>부탁드립니다...
>
>그럼 수고하세요..
========================================
일단 `ID PASSWORD' 매치 라인(테이블)을
먼저 작성해 놓은
파일이 있으면 좋을텐데..
0421254 <TAB> denbo720
...
...
이런식으로
그러나
1. 일단 아래와 같이 두개의 라인수가 같은지 확인하세요.
같아야 겠지요.
shell> wc -l ftp-ID01
shell> wc -l ftp-passwd01
2. perl 이나 php 로도 가능하나 간단하게 본쉘로 좀 지분하게(?)
다음과 같이 할 수 있습니다.
-------------------------
#!/bin/sh
# 메모리 파일시스템을 이용
#
mkdir /dev/shm/tmp
## 암호파일 번호 매기기
##
cp ftp-ID01 > /dev/shm/tmp/ftp-ID01
cat -n ftp-ID01 > /dev/shm/tmp/ftp-passwd01
HOST=호스트주소
IDX=1
while read ID ;
do
PW=`grep "^[[:space:]]\+${IDX}[[:space:]]\+" \
< /dev/shm/tmp/ftp-passwd01 | awk '{print $2}'`
{
echo user ${ID} ${PW}
echo bi
echo prompt
echo bye
} | ftp -n -v $HOST 21
[ $? != 0 ] && echo "error: $ID : $PW" >&2
IDX=`expr $IDX + 1`
done < /dev/shm/tmp/ftp-ID01
rm -rf /dev/shm/tmp
echo "done"
exit 0
-------------------------
|