玄箱HGにFedoraを入れて自宅サーバを構築 - Amonution

FTPサーバ構築(vsftpd)

概要

FTPサーバを構築します。

vsftpdのインストール

yumを使ってインストールを実施します。

[root@KURO-F7 ~]# yum -y install vsftpd
fedora                    100% |=========================| 2.1 kB    00:00
updates                   100% |=========================| 2.3 kB    00:00
Setting up Install Process
Parsing package install arguments
Package vsftpd - 2.0.5-19.fc8.ppc is already installed.
Nothing to do

すでにインストール済みでした。

vsftpdの設定

vsftpdの設定は/etc/vsftpd/vsftpd.confに記述します。
下記は、それぞれの環境に合わせて、また、好みに合わせて改変してください。

[root@KURO-F7 ~]# vi /etc/vsftpd/vsftpd.conf

anonymousユーザ(匿名ユーザ)のログインを許可する
anonymous_enable=NO

FTPログイン時にソフト名とバージョンが表示されないようにする
ftpd_banner=Welcome to blah FTP service.

ディレクトリごと削除できるようにする
ls_recurse_enable=YES

タイムスタンプ時間を日本時間にする
use_localtime=YES

デフォルトでホームディレクトリより上層へのアクセスを禁止する
chroot_local_user=YES

ホームディレクトリより上層へのアクセスを許可するユーザのリストを有効にする
chroot_list_enable=YES

ホームディレクトリより上層へのアクセスを許可するユーザのリストを指定する
chroot_list_file=/etc/vsftpd/chroot_list

SSLを有効にする
ssl_enable=YES

サーバー証明書を指定する
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem

PASVの設定
pasv_addr_resolve=YES
pasv_address=Amonution.com
pasv_min_port=60000
pasv_max_port=60030

ホームディレクトリより上層へのアクセスを許可するユーザを登録します。
管理者や、自身のホームディレクトリ以外へアクセスできるようにしておく必要があるユーザのみを登録しておきます。

[root@KURO-F7 ~]# echo webmaster >> /etc/vsftpd/chroot_list

サーバー証明書作成

SSLによる通信を行うため、サーバ証明書を作成します。
vsftpd.confで指定したサーバ証明書を作成します。

[root@KURO-F7 ~]# cd /etc/pki/tls/certs/

[root@KURO-F7 certs]# make vsftpd.pem
umask 77 ; \
        PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
        PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
        /usr/bin/openssl req -utf8 -newkey rsa:1024 -keyout $PEM1 -nodes -x509 -days 365 -out $PEM2 -set_serial 0 ; \
        cat $PEM1 >  vsftpd.pem ; \
        echo ""    >> vsftpd.pem ; \
        cat $PEM2 >> vsftpd.pem ; \
        rm -f $PEM1 $PEM2
Generating a 1024 bit RSA private key
.....++++++
........................++++++
writing new private key to '/tmp/openssl.xb9394'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:JP	国名
State or Province Name (full name) [Berkshire]:Kanagawa	都道府県名
Locality Name (eg, city) [Newbury]:Yokohama	市区町村名
Organization Name (eg, company) [My Company Ltd]:Amonution.com	サイト名応答(適当でよい)
Organizational Unit Name (eg, section) []:	空でよい
Common Name (eg, your name or your server's hostname) []:Amonution.com	ホスト名
Email Address []:webmaster@Amonution.com 管理者メールアドレス

vsftpdの起動

ここまでで設定が出来たので、vsftpdを起動します。

[root@KURO-F7 ~]# /etc/rc.d/init.d/vsftpd start
vsftpd 用の vsftpd を起動中:                               [  OK  ]

リスタートした際に自動で起動するように設定します。

vsftpd自動起動設定
[root@KURO-F7 ~]# chkconfig vsftpd on

vsftpd自動起動設定確認(ランレベル2~5のonを確認)
[root@KURO-F7 ~]# chkconfig --list vsftpd
vsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off

FTPクライアントでサーバにアクセスし、接続できることを確認します。

スポンサード リンク

TOPに戻る / メニューに戻る
Copyright © 1999-2017 Amonution  All rights reserved.
Address