2010-05-09 CentOSにvsftpdを導入するときのつまりどころ ftp CentOS 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によるユーザのホームディレクトリの読み書きを許可に変更する。 対処手順の例を以下に示す。 SELinuxのGUI設定ツール(policycoreutils-gui)を導入する メニュー「システム」中の管理から「SeLinux Managment」を開く 左側のメニュー「Select」から「Boolean」を選択する 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に変える。