Hatena::ブログ(Diary)

カストリブログ

2010-05-09

CentOSにvsftpdを導入するときのつまりどころ

| 00:40

 CentOS5.4にFTPサーバのvsftpdを導入した。

導入にあたり2点つまった所があったので、それについて書く。


問題1:chroot_local_user=YESを設定するとログインできなくなる

詳細

 vsftpdの設定ファイル中でchroot_local_user=YESを指定した状態で、

FTPクライアントからログインすると、"500 OOPS: chroot"というエラー

メッセージが表示されてログインできない。

設定ファイルの内容(関連箇所のみ)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
原因

 SELinuxがFTPによるユーザのホームディレクトリの読み書きを禁止しているため

対処方法

 SELinuxの設定をFTPによるユーザのホームディレクトリの読み書きを許可に変更する。

対処手順の例を以下に示す。

  1. SELinuxのGUI設定ツール(policycoreutils-gui)を導入する
  2. メニュー「システム」中の管理から「SeLinux Managment」を開く
  3. 左側のメニュー「Select」から「Boolean」を選択する
  4. FTPの設定項目「Allow ftp to read/write files in the user home directories」にチェックする


問題2:FileZillaからFTPSでログインできない

詳細

 FTPクライアントのFileZilla(Ver.3.1.0以降)からFTPSでアクセスすると、

「ディレクトリ一覧の取得に失敗しました」とエラーメッセージが表示され、ログインできない。

原因

 FileZillaとvsftpdのSSL/TLS通信に関する仕様の違いが原因らしい

対処方法

 FTPクライアントをFileZillaから最新のWINSCPに変える。

Connection: close