vsftpでFTP転送

※Linux関連記事についてはsnagplaces on @wikiにまとめていますので、そちらをご参照ください。

定番FTP転送ソフトであるvsftpを使ってFTPサーバを構築します。

ルータで20番と21番ポートとPASV用の60000〜60030番ポートが空いていることが大前提ですが、ファイアウォールのセキュリティも許可していることが必須です(ここで結構悩んだ)。
インストール時点でファイアウォールを有効にしているとSSH以外全て閉じた状態になっています。

ファイアウォールの実体はiptableなので、直接指定してもいいしコンソール上から「setup」「ファイアウォールの設定」でもいいし、Xの「セキュリティレベルとファイアウォールの設定」等からFTPを許可してください。

vsftpのインストール

# yum install vsftpd

設定ファイルの編集

※SSLの設定は今回はしてません。

# vi /etc/vsftpd/vsftpd.conf
【12行目あたり変更】Anonymousユーザログイン許可
anonymous_enable=NO
【15行目あたり確認】ローカルユーザのログインを許可
local_enable=YES
【18行目あたり確認】書き込み権限を与える
write_enable=YES
【27行目あたり変更】Anonymousユーザに書込み権限
anon_upload_enable=NO
【31行目あたり変更】Anonymousユーザのディレクトリ作成権限
anon_mkdir_write_enable=NO
【38行目あたり確認】ログの取得
xferlog_enable=YES
【46行目あたり変更】Anonymousユーザの所有者変更を許可
chown_uploads=NO
【54行目あたり変更】ユーザのコマンドを記録する
xferlog_std_format=YES
【56行目あたり変更】ログの出力先
xferlog_file=/var/log/vsftpd.log
【56行目あたり変更】セッションのタイムアウト
idle_session_timeout=600
【60行目あたり変更】データ転送中断によるタイムアウト
data_connection_timeout=120
【79・80行目あたり変更】ASCIIモード転送の許可
ascii_upload_enable=YES
ascii_download_enable=YES
【83行目あたり変更】ログイン時のメッセージはなし
ftpd_banner=
【87行目あたり変更】Anonymous接続時のメールアドレス要求
deny_email_enable=YES
【94行目あたり変更】chroot_listを使用する
chroot_list_enable=YES
【96行目あたり変更】chroot_list(local_rootより上位に行けないユーザのリスト)の場所
chroot_list_file=/etc/vsftpd/chroot_list
【102行目あたり変更】ディレクトリ一括転送を許可
ls_recurse_enable=YES
【114行目以降】
【PAM認証でのサービス名】
pam_service_name=vsftpd
【user_listの有効】
userlist_enable=YES
【user_listに記録したユーザのみ許可】
userlist_deny=NO
【chroot_listに登録したユーザは上位ディレクトリへ行ける】
chroot_local_user=YES
tcp_wrappers=YES
local_root=public_html
use_localtime=YES
【以降PASV関連の設定】
pasv_addr_resolve=YES
pasv_address=ドメイン名
pasv_promiscuous=YES
pasv_min_port=50000
pasv_max_port=50030

上位ディレクトリに移動できるユーザの登録

# vi /etc/vsftpd/chroot_list
上位ディレクトリに移動できるユーザを登録

アクセス許可ユーザの登録

# vi /etc/vsftpd/user_list
rootをコメントアウト
ログインさせたいユーザ名を最下行に追加

この作業をしておけば、新規ユーザはすぐにFTPアクセスができてしまう問題を回避できます。

vsftpdサービスの起動

# service vsftpd start

自動起動に設定

# chkconfig vsftpd on

これでvsftp自体の設定は完了です。Anonymousの設定がデフォルトでYESになってるのが多いのは、FTP自体Anonymousで運用してねってことなんですかね?

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中