Vsftpd 특정 파일 다운로드 불가 문제

안녕하세요.

최근 N54L 서버를 구매하여 여러모로 이용중입니다.

다름이 아니라 현재 서버에서

transmission 과 vsftpd 를 운용하고 있는데

이상하게도 transmission 으로 받은 파일을 FTP 로 접속하여 다운로드 하려고 하면 오류가 발생합니다 ㅠㅠ

현재 FTP 설정은 다음과 같습니다.

[code:2isists1]listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
allow_writeable_chroot=YES
seccomp_sandbox=NO
listen_port=50031
ftp_data_port=50030
port_enable=YES
pasv_enable=YES
pasv_min_port=50032
pasv_max_port=50040[/code:2isists1]

이렇게 설정하고 다른 파일들은 정상적으로 다운로드가 됩니다…

transmission 다운로드 디렉토리는

mount --bind /원본 /현재디렉토리

mount 명령으로 이어 놓은 상태입니다.

파일의 권한 문제인가? 싶어서 777 권한을 줘봐도 안되고

소유자와 그룹도 ftp 계정으로 맞춰줘도 안됩니다.

파일질라에서 다운로드를 시도 하면 무조건 다음 에러가 발생합니다.

Could not read from transfer socket: 10054

전체가 다 그러면 모르겠는데 특정 파일만 이런 현상이 발생하니 난감하네요 ㅠㅠ

chroot_local_user=YES로 변경하고 확인해보세요

[quote="ihavnoth":2asuzuqu]chroot_local_user=YES로 변경하고 확인해보세요[/quote:2asuzuqu]

바꾸어보았지만 문제는 동일하네요… ㅠㅠ

음…! 소유권이나 권한에 이상이 없고
ftp 또는 병화벽 설정에 특별한 이상이 없는 데도 불구하고 다운로드가 안된다면
파일 시스템 이상으로 해당 파일에 문제가 있을 수 있습니다.

이런 경우 잃기 또는 삭제도 불가능 하므로
한번 디스크를 체크해 보십시오.

만약 ext4 파일 시스템을 사용하신다면 해당 디스크의 마운트를 해제하고 체크하십시오.

[quote="workman729":1b4op35q]음…! 소유권이나 권한에 이상이 없고
ftp 또는 병화벽 설정에 특별한 이상이 없는 데도 불구하고 다운로드가 안된다면
파일 시스템 이상으로 해당 파일에 문제가 있을 수 있습니다.

이런 경우 잃기 또는 삭제도 불가능 하므로
한번 디스크를 체크해 보십시오.

만약 ext4 파일 시스템을 사용하신다면 해당 디스크의 마운트를 해제하고 체크하십시오.[/quote:1b4op35q]

삼바나 Z-Modem 등으로는 다운로드가 가능합니다…

정말 원인 불명이네요 ㅠㅠ

[quote:ei4jx4vt]이상하게도 transmission 으로 받은 파일을 FTP 로 접속하여 다운로드 하려고 하면 오류가 발생합니다 ㅠㅠ[/quote:ei4jx4vt]
위의 글로 보아 해당 파일이 transmission으로 받은 파일이라면 chunk의 정보가 불완전할 수 있습니다.

즉 디스크의 chunk 정보는 있으나 실제로 파일 정보에 대한 헤더가 없어 ftp에선 파일이 없는 것으로 해석하여 에러가 날 수 있습니다.
아마도 torrent 파일을 이용하여 다운 받으신 것 같은 데 다운로드가 완료되지 않은 것 같습니다.

일반적으로 ftp 이용시 10054번의 에러를 출력한다면 해당 파일 생성시 서버 연결이 강제 해제되거나
어플리케이션이 강제로 죽는 경우 발생할 수 있습니다.

그것보다는 torrent로 다운 받은 파일의 헤더 정보가 불완전 할 것으로 예측됩니다.
해당 파일이 100% 다운로드 완료 되었는 지 확인해 보십시오.

[quote="workman729":3dz3okdo][quote:3dz3okdo]이상하게도 transmission 으로 받은 파일을 FTP 로 접속하여 다운로드 하려고 하면 오류가 발생합니다 ㅠㅠ[/quote:3dz3okdo]
위의 글로 보아 해당 파일이 transmission으로 받은 파일이라면 chunk의 정보가 불완전할 수 있습니다.

즉 디스크의 chunk 정보는 있으나 실제로 파일 정보에 대한 헤더가 없어 ftp에선 파일이 없는 것으로 해석하여 에러가 날 수 있습니다.
아마도 torrent 파일을 이용하여 다운 받으신 것 같은 데 다운로드가 완료되지 않은 것 같습니다.

일반적으로 ftp 이용시 10054번의 에러를 출력한다면 해당 파일 생성시 서버 연결이 강제 해제되거나
어플리케이션이 강제로 죽는 경우 발생할 수 있습니다.

그것보다는 torrent로 다운 받은 파일의 헤더 정보가 불완전 할 것으로 예측됩니다.
해당 파일이 100% 다운로드 완료 되었는 지 확인해 보십시오.[/quote:3dz3okdo]

Download 100% 완료된 파일이고 시딩까지 하던 파일이었습니다.

Transmission 에서 삭제(시딩 중지) 후 해당 파일을 vsftpd 로 받을 수 가 없군요… ㅠㅠ

아직까지도 풀리지 않는 문제입니다 ㅠㅠ

음…^^ 일단 저도 이해가 되지 않습니다.

로그에는 어떻게 나오는 지 보여 주시겠습니까?
설정한 위치에 있는 로그를 보여 주시면 좀 더 증상을 유추하기에 나을 것 같습니다.

업로드도 안되는 상황인가요?

[quote="workman729":1ub6ldaa]음…^^ 일단 저도 이해가 되지 않습니다.

로그에는 어떻게 나오는 지 보여 주시겠습니까?
설정한 위치에 있는 로그를 보여 주시면 좀 더 증상을 유추하기에 나을 것 같습니다.[/quote:1ub6ldaa]

전송이 안되는 경우의 로그입니다.

Wed Jul 16 09:31:18 2014 [pid 16726] CONNECT: Client "111.111.111.111"
Wed Jul 16 09:31:18 2014 [pid 16726] FTP response: Client "111.111.111.111", "220 Acidpop FTP Service"
Wed Jul 16 09:31:18 2014 [pid 16726] FTP command: Client "111.111.111.111", "USER acidpop"
Wed Jul 16 09:31:18 2014 [pid 16726] [acidpop] FTP response: Client "111.111.111.111", "331 Please specify the password."
Wed Jul 16 09:31:18 2014 [pid 16726] [acidpop] FTP command: Client "111.111.111.111", "PASS <password>"
Wed Jul 16 09:31:18 2014 [pid 16725] [acidpop] OK LOGIN: Client "111.111.111.111"
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP response: Client "111.111.111.111", "230 Login successful."
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP command: Client "111.111.111.111", "OPTS UTF8 ON"
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP response: Client "111.111.111.111", "200 Always in UTF8 mode."
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP command: Client "111.111.111.111", "CWD /home/acidpop/torrent"
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP response: Client "111.111.111.111", "250 Directory successfully changed."
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP command: Client "111.111.111.111", "PWD"
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP response: Client "111.111.111.111", "257 "/home/acidpop/torrent""
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP command: Client "111.111.111.111", "TYPE I"
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP response: Client "111.111.111.111", "200 Switching to Binary mode."
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP command: Client "111.111.111.111", "PASV"
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP response: Client "111.111.111.111", "227 Entering Passive Mode (222,222,222,222,195,124)."
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP command: Client "111.111.111.111", "RETR ???.140709.HDTV.X264.720p-CALI.mp4"
Wed Jul 16 09:31:18 2014 [pid 16727] [acidpop] FTP response: Client "111.111.111.111", "150 Opening BINARY mode data connection for ???.140709.HDTV.X264.720p-CALI.mp4 (1307669299 bytes)."

전송이 되는 경우의 로그입니다.
Wed Jul 16 09:32:50 2014 [pid 16745] CONNECT: Client "111.111.111.111"
Wed Jul 16 09:32:50 2014 [pid 16745] FTP response: Client "111.111.111.111", "220 Acidpop FTP Service"
Wed Jul 16 09:32:50 2014 [pid 16745] FTP command: Client "111.111.111.111", "USER acidpop"
Wed Jul 16 09:32:50 2014 [pid 16745] [acidpop] FTP response: Client "111.111.111.111", "331 Please specify the password."
Wed Jul 16 09:32:50 2014 [pid 16745] [acidpop] FTP command: Client "111.111.111.111", "PASS <password>"
Wed Jul 16 09:32:50 2014 [pid 16744] [acidpop] OK LOGIN: Client "111.111.111.111"
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP response: Client "111.111.111.111", "230 Login successful."
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP command: Client "111.111.111.111", "OPTS UTF8 ON"
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP response: Client "111.111.111.111", "200 Always in UTF8 mode."
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP command: Client "111.111.111.111", "CWD /home/acidpop/torrent"
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP response: Client "111.111.111.111", "250 Directory successfully changed."
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP command: Client "111.111.111.111", "PWD"
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP response: Client "111.111.111.111", "257 "/home/acidpop/torrent""
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP command: Client "111.111.111.111", "TYPE I"
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP response: Client "111.111.111.111", "200 Switching to Binary mode."
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP command: Client "111.111.111.111", "PASV"
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP response: Client "111.111.111.111", "227 Entering Passive Mode (222,222,222,222,195,128)."
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP command: Client "111.111.111.111", "RETR ??? ???.E69.140712.HDTV.H264.720p-WITH.mp4"
Wed Jul 16 09:32:50 2014 [pid 16746] [acidpop] FTP response: Client "111.111.111.111", "150 Opening BINARY mode data connection for ??? ???.E69.140712.HDTV.H264.720p-WITH.mp4 (1200212270 bytes)."

ls -al 했을때 파일 정보입니다.

전송이 안되는 파일

-rw-rw-rw- 1 acidpop acidpop 1307669299 7월 11 17:29 블랙박스로본세상.140709.HDTV.X264.720p-CALI.mp4

전송이 되는 파일
-rw-rw-rw- 1 acidpop acidpop 1200212270 7월 14 20:14 인간의 조건.E69.140712.HDTV.H264.720p-WITH.mp4

file -i 옵션으로 확인한 결과입니다.

블랙박스로본세상.140709.HDTV.X264.720p-CALI.mp4: video/mp4; charset=binary

인간의 조건.E69.140712.HDTV.H264.720p-WITH.mp4: video/mp4; charset=binary

mv "블랙박스로본세상.140709.HDTV.X264.720p-CALI.mp4" "black.mp4"

이렇게 변경해도 안받아지구요.

tar cvf black.tgz "블랙박스로본세상.140709.HDTV.X264.720p-CALI.mp4" "black.mp4"

이렇게 해도 안받아집니다 ㅠㅠ

하지만 Z-Modem 이나 삼바로는 정상적으로 전송이 됩니다.

[quote="yemharc":2byoun26]업로드도 안되는 상황인가요?[/quote:2byoun26]

넵 해당 파일은 FTP로 다운로드/업로드 둘다 안되네요.

한글명을 가진 파일의 업로드와 다운로드가 안되는 것 이군요!

한글 파일 명을 가진 파일의 인코딩이 문제인 것 같은 데 터미널 또는 파일 탐색기에서 제대로 한글명이 보이는 가요?
아마도 경험적인 느낌엔 utf-8은 아닌 것 같군요!

파일질라 이용시 사이트 관리자에서 문자셋 설정에서 utf-8로 강제 설정(파일명 인코딩이 utf-8인 경우) 또는 문자셋 직접 설정에서 CP949(파일명 인코딩이 utf-8이 아닌 경우)로 설정해서
다운로드 하시면 이용이 가능 하리라 봅니다.

아무래도 근본적으로 해결하시려면 한글 명은 대도록 사용하지 않는 것이 좋겠군요! 참고 하십시오.

[quote="workman729":3r7x30d3]한글명을 가진 파일의 업로드와 다운로드가 안되는 것 이군요!

한글 파일 명을 가진 파일의 인코딩이 문제인 것 같은 데 터미널 또는 파일 탐색기에서 제대로 한글명이 보이는 가요?
아마도 경험적인 느낌엔 utf-8은 아닌 것 같군요!

파일질라 이용시 사이트 관리자에서 문자셋 설정에서 utf-8로 강제 설정(파일명 인코딩이 utf-8인 경우) 또는 문자셋 직접 설정에서 CP949(파일명 인코딩이 utf-8이 아닌 경우)로 설정해서
다운로드 하시면 이용이 가능 하리라 봅니다.

아무래도 근본적으로 해결하시려면 한글 명은 대도록 사용하지 않는 것이 좋겠군요! 참고 하십시오.[/quote:3r7x30d3]

convmv 로 UTF8 로 설정해줘봐도 동일하더라구요 ^^;;

그냥 저 파일은 포기해야겠습니다… ㅠㅠ

굳이 파일명 인코딩을 변경하실 필요 없습니다.

파일 질라 사이트 관리자에서 문자셋을 변경하시면 다운로드 가능 합니다.
아마도 cp949로 하시면 될 것 입니다.

현재는 파일질라에서 파일 내역을 보시면 한글명을 가진 파일은 ???으로 나올 것 입니다.
문자셋을 CP949로 변경하셨을 때 한글명이 제대로 보인다면 설정이 올바르다는 것 입니다.

혹 utf-16의 유니코드를 파일명으로 사용한 경우도 있습니다.
이것도 시도해 보십시오.

[quote="workman729":jbddi72a]굳이 파일명 인코딩을 변경하실 필요 없습니다.

파일 질라 사이트 관리자에서 문자셋을 변경하시면 다운로드 가능 합니다.
아마도 cp949로 하시면 될 것 입니다.

현재는 파일질라에서 파일 내역을 보시면 한글명을 가진 파일은 ???으로 나올 것 입니다.
문자셋을 CP949로 변경하셨을 때 한글명이 제대로 보인다면 설정이 올바르다는 것 입니다.

혹 utf-16의 유니코드를 파일명으로 사용한 경우도 있습니다.
이것도 시도해 보십시오.[/quote:jbddi72a]

CP949 로 설정후 접속해보니 해당 파일들은 아예 보이지도 않습니다 ㅠㅠ

음…! utf-16도 해 보셨나요? 위에서 파일 인코딩도 바꿔 보셨던데…^^
ftp에서 처리 한 것 인가요? 아마도 클라이언트의 OS는 windows 인가요?

그렇다면 근본적으로 해결되지 않으니 sshd로 접속해서 mv 명령을 사용해 보시든지
위에서 사용한 방법 convmv 으로 변경해 보십시오.

그래도 안된다면 vsftp를 직접 컴파일 하셔서 한글 문제를 근본적으로 해결하는 방법을 제안 합니다.
[url:nyccjmxm]http://koreaubuntu.wordpress.com/2011/12/19/vsftpd-%ED%95%9C%EA%B8%80-%EA%B9%A8%EC%A7%80%EB%8A%94-%EB%AC%B8%EC%A0%9C/[/url:nyccjmxm]

[quote="workman729":2vxbaelx]음…! utf-16도 해 보셨나요? 위에서 파일 인코딩도 바꿔 보셨던데…^^
ftp에서 처리 한 것 인가요? 아마도 클라이언트의 OS는 windows 인가요?

그렇다면 근본적으로 해결되지 않으니 sshd로 접속해서 mv 명령을 사용해 보시든지
위에서 사용한 방법 convmv 으로 변경해 보십시오.

그래도 안된다면 vsftp를 직접 컴파일 하셔서 한글 문제를 근본적으로 해결하는 방법을 제안 합니다.
[url:2vxbaelx]http://koreaubuntu.wordpress.com/2011/12/19/vsftpd-%ED%95%9C%EA%B8%80-%EA%B9%A8%EC%A7%80%EB%8A%94-%EB%AC%B8%EC%A0%9C/[/url:2vxbaelx][/quote:2vxbaelx]

친절히 답변해 주심에 너무 감사드립니다. ^^;

클라이언트는 Windows 7 이고 서버는 우분투 14.04에서 CentOS7 으로 넘어왔네요

convmv 로 utf8 로 변환을 해보아도 동일하게 문제는 발생하구요ㅎㅎ

서버는 UTF-8 환경으로 운영하고 있습니다.(개인적으로 EUC-KR 로 했을때 귀찮은게 더 많은것 같아서…)

초보지만 그냥 생각나는 것들 몇 가지 올려봅니다.

  1. scp 명령으로 다운로드 불가한가요? 파일 문제인지 파일 시스템 문제인지 vsftpd 문제인지 FTP Client 문제인지 알아야 할 거 같습니다.

  2. 다른 클라이언트로는 어떤가요?

정상일때와 비정상일때 로그에는 차이가 없군요. 더불어 둘 다 정상적인 진행을 하고 있고요…
똑같이 한글파일인데 반응이 틀리고, mv로 이름을 바꿔도 마찬가지인걸 보면 인코딩 문제도 아닌듯 합니다.

일단 /etc/vsftpd.conf 파일에서 아래 내용 확인해보세요

[code:14wrmvm4]
async_abor_enable=NO
ascii_upload_enable=NO
ascii_download_enable=NO

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

pasv_enable=YES
[/code:14wrmvm4]

그리고 파일명을 바꾸거나 압축을 해도 못 받는것도 좀 이상하군요.
아마 md5 파일같은건 따로 없으실테니 CRC체크는 안될거 같고…
cat file.avi > new_file.avi 식으로 split copy 한 다음 그것도 안 받아지는지 확인해보세요.