• 締切済み

vsftpdの不具合

Scientific Linux 6.3で、yum でvsftpd-2.2.2をインストールしたのですが、 ftps(SSL)で、63460byte以上のASCIIモードのファイル(.cgiや.plなど)を、 ダウンロードするときのみエラーが出るのです。 ffftpでもfilezillaでもエラーが出ます。ちなみにSSLを使わない転送だとこの問題は起きない。 (ちなみにアップロードは何も問題は無い) なお、ffftpで、.cgiや.plをASCIIモードで転送しない設定にしたり、 ascii_download_enable=NOにした場合はFTPS(SSL)でもエラーなくDL出来ます。 調べた結果、vsftpd2.2.2の次verの2.3.0に以下URLの事が書かれてあったことから、 ver 2.2.2のバグを疑いました。 http://sourceforge.jp/projects/freshmeat_vsftpd/releases/199104/ なので、以前、CentOS 5 でインストールしたことあるvsftpd-2.3.4を使おうと思いました。 (ちなみにCentOS 5 のvsftpd-2.0.5-16.el5_5.1や、vsftpd-2.3.4ではこの問題は起きなかった) しかし、vsftpd-2.3.4のmakeでこうなる↓ ssl.c:28:25: error: openssl/err.h: そのようなファイルやディレクトリはありません ssl.c:29:26: error: openssl/rand.h: 上に同じ ssl.c:30:25: error: openssl/bio.h: 上に同じ opensslはあったがdevelが無いので、openssl-develをyumでインストールしました。 (develはwarningでずにComplete!したので成功かと) その後、makeしてmake installすると以下になったのです。 [root@www vsftpd-2.3.4]# make gcc -c ssl.c -O2 -Wall -W -Wshadow -idirafter dummyinc ssl.c: In function ‘get_ssl’: ssl.c:555: 警告: initialization discards qualifiers from pointer target type gcc -c sslslave.c -O2 -Wall -W -Wshadow -idirafter dummyinc gcc -c ptracesandbox.c -O2 -Wall -W -Wshadow -idirafter dummyinc gcc -c ftppolicy.c -O2 -Wall -W -Wshadow -idirafter dummyinc gcc -c sysutil.c -O2 -Wall -W -Wshadow -idirafter dummyinc gcc -c sysdeputil.c -O2 -Wall -W -Wshadow -idirafter dummyinc gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o -Wl,-s `./vsf_findlibs.sh` [root@www vsftpd-2.3.4]# make install if [ -x /usr/local/sbin ]; then \ install -m 755 vsftpd /usr/local/sbin/vsftpd; \ else \ install -m 755 vsftpd /usr/sbin/vsftpd; fi if [ -x /usr/local/man ]; then \ install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \ install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \ elif [ -x /usr/share/man ]; then \ install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \ install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \ else \ install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \ install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi if [ -x /etc/xinetd.d ]; then \ install -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi 上記はそのままのコピーです。 この後コマンドで見ましたが、vsftpdはインストールされていませんでした。 複数サーバでvsftpdを使うので、vsftpd-2.2.2のままで、 FTPS+ASCIIのDL(63460byte以上)が出来れば、その方がいいのですが、 出来ないなら、2.3.4をインストールしたいのです。 ↓ちなみに、vsftpd.confはこうしていた↓ pasv_enable=YES pasv_addr_resolve=NO pasv_address=**********(FTPサーバのIP) idle_session_timeout=600 data_connection_timeout=300 userlist_enable=NO pam_service_name=vsftpd connect_from_port_20=YES dirmessage_enable=YES local_umask=022 force_dot_files=YES anonymous_enable=NO local_enable=YES write_enable=YES xferlog_enable=YES xferlog_std_format=NO ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=vsftpd chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list ls_recurse_enable=YES listen=NO tcp_wrappers=NO use_localtime=YES pasv_min_port=60000 pasv_max_port=60030 ssl_enable=YES force_local_data_ssl=NO force_local_logins_ssl=NO ssl_ciphers=HIGH rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem require_ssl_reuse=NO Scientific Linux 6 で、 vsftpd-2.3.4をインストールする方法。もしくは、FTPS+ASCIIのDLの問題を解決する方法を教えてください。

みんなの回答

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

>この後コマンドで見ましたが、vsftpdはインストールされていませんでした。 というのは、どのようにコマンドを実行しました? rpmコマンドで…では確認できませんけど、その辺りは大丈夫ですか?

関連するQ&A

  • vsFTPD トップ(/)が表示できない

    お世話になります。 ご存知の方がいらっしゃいましたらご教授の程よろしくお願いします。 (1)下記の設定で、vsFTPDを実行したところ、 ユーザでログインすると上の階層まで見えてしまいます。 googleで検索したサイトの記載通り行いましたが、 上の階層が見える現象は変りませんでした。 (2) 停止中に「失敗」する。 svFTPdデーモンをリスタートすると停止中に「失敗」します。 再起動 [root@localhost ~]# /etc/rc.d/init.d/vsftpd restart vsftpd を停止中: [失敗] vsftpd 用の vsftpd を起動中: [ OK ] ================================== /etc/vsftpd/vsftpd.conf anonymous_enable=NO idle_session_timeout=300 data_connection_timeout=30 ascii_upload_enable=YES ascii_download_enable=YES #■chrootの設定 chroot_list_enable=YES chroot_local_user=YES chroot_list_file=/etc/vsftpd.chroot_list ls_recurse_enable=YES pam_service_name=vsftpd userlist_enable=NO tcp_wrappers=YES xferlog_std_format=NO use_localtime=YES pasv_promiscuous=YES pasv_min_port=50000 pasv_max_port=50030 #■ vsftpd で local_root = public_html ■ local_root = public_html ================================== ftpログインしたユーザには上位の階層は見せたくないと考えております。 よろしくお願いします。

  • vsftpd 大量転送で時たま途中でエラー

    vsftpd で数千のファイルをサーバー(CentOS 5)にアップロードしようとすると、 大抵の場合、途中でエラーになります(解凍したMT5やphpBB3を転送して試しました)。 (エラーにならない場合もあります。しかし殆どの場合エラーになるのです) なお、普通の数のアップロードだとエラーにはならない。またダウンロードは正常のよう。 ・FFFTPの場合は「PASVモードで接続できません」と出る。 ・FileZilla場合はエラーにならないが途中で0byteの同じファイル名のものが現れ、それに上書きしますか?と出る。 ※ともにFTPのクライアントソフトは最新版です。 ※スタンドアロンではなくXinetdで起動させています。 ----Xinetdの設定ファイルはこうなっている------------------- service ftp { socket_type = stream wait = no user = root server = /usr/sbin/vsftpd server_args = /etc/vsftpd/vsftpd.conf nice = 10 disable = no flags = NOLIBWRAP } ------------------------------------------ ※Vsftpdのバージョン→ vsftpd-2.0.5-16.el5_5.1 vsftpd.confの記述は以下のとおり ------------------------------------------ pasv_enable=YES pasv_addr_resolve=NO pasv_address=***.***.***.*** #***にはアップロード先のサーバIP idle_session_timeout=600 data_connection_timeout=300 userlist_enable=NO pam_service_name=vsftpd connect_from_port_20=YES dirmessage_enable=YES local_umask=022 force_dot_files=YES anonymous_enable=NO local_enable=YES write_enable=YES xferlog_enable=YES xferlog_file=/var/log/xferlog xferlog_std_format=YES ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=ProFTPD Server (ProFTPD) chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list ls_recurse_enable=YES listen=NO tcp_wrappers=NO use_localtime=YES pasv_min_port=60000 pasv_max_port=60030 ssl_enable=YES force_local_data_ssl=NO force_local_logins_ssl=NO rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem ------------------------------------------ <やってみたこと> pasvのポートを60000~65000や65000~69000にしても駄目だった。 idle_session_timeout=1800 data_connection_timeout=1800 (こうしても駄目だった) pasv_addr_resolve=YES pasv_address=***.***.***.*** (上のようにNOをYESにしたり#コメントしたりしてみても駄目だった) ノートンのファイアーウォールがFFFTPで「自動」になっていたので「許可」にしてみたが駄目だった。 ------------------------- <他の人の似た症例> http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=46205&forum=10 上記URLの最後にLDAPを使っていたためPAM認証がうまくいかなかったと回答してる人がいたので、下記コマンドをしてみた。 $ /etc/init.d/ldap status slapd は停止しています という結果だった。またLDAPの事は良く分からないがLDAPで過去に何か設定したことは一切ない(LDAP自体はサーバに存在しているようだが)。 また、/etc/pam.d/vsftpdは何も触っていない。 http://www.imamura.biz/blog/srv/283 (上記URLにも似た症例があるが全く解決していないそうだ) /var/log/secure また、↑など見てみたがログインしたときなどにエラーは出ていなかった。 上記のように様々な調べをしてみたが情報が足りていないため解決しませんでした。 解決方法を教えてください。 なお、ProFTPDにしたら解決するのでは?というご返答は必要ありません。 Vsftpdで利用したいのです。 何とか、解決に導けないでしょうか? 大変困っています。ご返答お願い申し上げます。

  • vsftpdの設定に関して

    現在RedHat8.0にてftpの設定をしております。 FFFTPを利用してユーザアカウントにて指定のディレクトリにアクセスできるのですが、アップロードを行なうと権限が勝手に変更されてしまいます。(755~600に・・・) (vsftpd.conf) anonymous_enable=no local_enable=YES write_enable=YES ano_upload_enable=no anp_mkdir_write_enable=no 中略 ascii_upload_enable=YES ascii_download_enable=YES 以上が主な設定となっております。 これ以外のconfも目を通してみましたが、権限の設定に関わる内容は見受けられないのですが・・・。 お判りの方がいらっしゃいましたら、ご指導の程宜しくお願い申し上げます。

  • vsftpdで一般ユーザでログインできない

    こんにちは。 CentOS 5にて、vsftpdの設定をしています。 xinetd経由で起動できるように設定し、rootでのログインができることは確認しました。 ただ、一般ユーザーでログインしようとすると、「530 Login incorrect.」が表示され、ログインできません。 「local_enable=YES」にする以外、特にチェックポイントはありますでしょうか。 ご教授頂けますと嬉しいです。 以下、「vsftpd.conf」の内容です。また、使用しているvsftpdは「vsftpd-2.0.5-21.el5」です。 +++++ anonymous_enable=YES local_enable=YES local_umask=022 write_enable=YES dirmessage_enable=YES ascii_upload_enable=YES ascii_download_enable=YES connect_from_port_20=YES dirmessage_enable=YES ftpd_banner="Welcome to My FTP Server" pam_service_name=vsftpd tcp_wrappers=YES userlist_enable=NO chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list local_root=public_html +++++ force_dot_files=NO use_localtime=YES listen=NO anonymous_enable=NO xferlog_enable=YES xferlog_file=/var/log/vsftpd.log +++ たぶん基本的なことを見落としていると思います。ご教授ください。

  • vsftpdでsftp(SSL)を実現したい

    お世話になります。 CentOSでvsFTPdを利用したSFTPサーバを構築したいと考えております。 ■vsFTPdで行いたい事 (1)SFTPを行いたいですが、 下記設定を行うと以下のエラーが出てサーバにログインできません。 ================ エラー ここから ==================== FileZilla Client 530 Non-anonymous sessions must use encryption. ================ エラー ここまで ==================== ================ 設定ファイル ここから ==================== anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES ascii_upload_enable=YES ascii_download_enable=YES ls_recurse_enable=YES chroot_local_user=YES chroot_list_enable=NO #chroot_list_file=/etc/vsftpd/chroot_list listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES #FTPS ssl_enable=YES force_local_data_ssl=YES force_local_logins_ssl=YES rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem ================ 設定ファイル ここまで ==================== (2)以下をコメントアウトすると、FTPクライアントソフトでエラーが表示されずログインします。 ================ 設定ファイル ここから ==================== #FTPS #ssl_enable=YES #force_local_data_ssl=YES #force_local_logins_ssl=YES #rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem ================ 設定ファイル ここまで ==================== SSLでログインしたい場合はどうすればよろしいでしょうか?

  • PASVモード、filezillaでアクセス不可

    いつもお世話になります。 vsftpdのパッシブモードで、FileZillaでFTPS形式でアクセスしようとしたところ 下記エラーが表示されます。(ポートは30020番を指定) FileZillaでサイトマネージャーの転送設定はパッシブにしてあります。 ======================================================================== 状態: 192.168.1.xx:30020 に接続しています... 状態: "ECONNREFUSED - Connection refused by server" への接続に失敗しました, エラー: サーバーに接続することができませんでした ======================================================================== なお、ポート指定しない場合(通常のFTPS)はFTPサーバ(vsFTPd)に繋がります。 vsFTPdの設定は以下の通りです。 ===============================vsFTPコンフィグ============================= # vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES xferlog_std_format=YES connect_from_port_20=YES ascii_upload_enable=YES ascii_download_enable=YES ls_recurse_enable=YES chroot_local_user=YES chroot_list_enable=NO # chroot_list_file=/etc/vsftpd/chroot_list listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES #FTPS ssl_enable=YES rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem force_local_logins_ssl=YES force_local_data_ssl=YES #TimeOut(60分に変更) data_connection_timeout=3600 idle_session_timeout=3600 #vsftpd の設定(パッシブ FTP) pasv_enable=YES pasv_max_port=30020 pasv_min_port=30021 ======================================================================== 以上です。 ご教授の程よろしくお願い申し上げます。

  • vsftpdにて認証後にエラーが発生します。

    CentOS7にてvsftpdをインストールしたのですが、 外部からうまく接続できず困っております。 ローカルから接続すると問題なく繋がり、正常に動作するのですが、 外部から接続した場合に、ログインの認証が終わったタイミングで、 サーバーから応答が無くなり、タイムアウトしてしまいます。 Connected to ***.jp. 220 (vsFTPd 3.0.2) Name (***.jp:***): userid 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. 421 Service not available, remote server timed out. Connection closed. ローカルの環境で接続すると、最後の行に421~~ではなく ftp> と表示され、操作ができるようになります。 ルータにて、ポートの解放は21のみ行っています。 ファイアーウォール、SELinuxは無効化しております。 vsftpd.confは以下の通りです(コメント行はここにコピーするのに当たり削除しました) anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES ascii_upload_enable=YES ascii_download_enable=YES chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list ls_recurse_enable=YES listen=YES listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES userlist_deny=NO tcp_wrappers=YES use_localtime=YES seccomp_sandbox=NO user_config_dir=/etc/vsftpd/vsftpd_user_conf 何卒よろしくお願い申し上げます。

  • vsftpを設定し試したら書き込み禁止になっている

    vsftpを設定し試したら書き込み禁止になっている centos5にvsftpを設定しました。 試したところ、下記の状態です。 ftp> mkdir aaa 550 Create directory operation failed. 手順は以下でした。 1)centosにユーザftpuser1を作成 ホーム:/var/ftp/pub/ftpuser1 シェル:/sbin/nologin 2)設定ファイル作成 # Example config file /etc/vsftpd/vsftpd.conf listen=YES ascii_upload_enable=YES ascii_download_enable=YES pam_service_name=vsftpd tcp_wrappers=YES anonymous_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO local_enable=YES secure_chroot_dir=/usr/share/empty local_umask=002 chroot_local_user=YES chroot_list_enable=NO passwd_chroot_enable=YES userlist_enable=YES userlist_deny=NO userlist_file=/etc/vsftpd.user_list write_enable=YES ls_recurse_enable=NO dirmessage_enable=YES ftpd_banner=Welcome to blah FTP service. xferlog_enable=YES xferlog_std_format=NO xferlog_file=/var/log/xferlog vsftpd_log_file=/var/log/vsftpd.log dual_log_enable=YES syslog_enable=NO log_ftp_protocol=YES connect_from_port_20=YES idle_session_timeout=600 data_connection_timeout=120 pasv_promiscuous=YES pasv_min_port=4000 pasv_max_port=4029 use_localtime=YES ssl_enable=NO force_local_logins_ssl=YES force_local_data_ssl=YES 3)設定ファイル(user_list)作成 中身は ftpuser1 のみ 4)ホームのパーミッション設定 /var/ftp/pub/ftpuser1 drwxrwx--- 何が間違えているのでしょうか?

  • CentOS4でvsftpdが起動しない

    CentOS4でvsftpdを設定して起動したのですが、 /etc/init.d/vsftpd start OK と出ても実際は起動していません。 ps af → 起動していない status → vsftpdは停止しておりますが~ なのでstopが失敗すると思います。 vsftpd.confが何か違うのでしょうか? 参考にしたURL通り設定しました。 参考URL http://centossrv.com/vsftpd.shtml 変えたとこは anonymous_enable=NO →anonymous_enable=YES pasv_address=centossrv.dip.jp →pasv_address=***.***.***.*** ←サーバIPアドレス ローカル試験環境用のサーバなんでDNSの設定しなくても できるようにこう設定しました。 以上です。よろしくお願いいたします。

  • vsftpdの設定

    OS:CentOS5.4 パッケージ:vsftpd FTPサーバの設定をしています。 vsftpd.conf設定 ---------------------------------------------------------------- anonymous_enable=no dirmessage_enable=YES ascii_upload_enable=YES ascii_download_enable=YES listen=YES pam_service_name=vsftpd userlist_enable=YES userlist_deny=YES tcp_wrappers=NO ---------------------------------------------------------------- また、SELinuxは無効にしています。 デーモンも立ち上がっています。 この状態でFTP接続をすると以下になります。 ---------------------------------------------------------------- ftp サーバ名 Connected to サーバ名(IP) 220 (vsFTPd 2.0.5) Name (サーバ名:root):guest 331 Please specify the password Password: 230 Login successful. 421 Service not available, remoute server has closed connection ---------------------------------------------------------------- iptablesを切ってもこの状態の為、つながらない理由がわかりません。 ご教志願います。