今回も On FreeBSD (Ver. 9.0)
まず、xinetdをコンパイル&インストール
cd /usr/ports/security/xinetd
make config-recursive
make install
マニュアル、「man vsftpd.conf」や
http://www.express.nec.co.jp/linux/distributions/knowledge/network/xinetd.html
参考にさせてもらいながら設定をする。
デフォルト設定ファイルを/usr/local/etc/xinetd.confを作成して、以下を記述。
#default configuration
defaults{
instances = 60
log_type = FILE /var/log/servicelog # syslog も指定できるみたい
log_on_success = PID
log_on_failure = HOST
disabled = restatd
cps = 35 30
}
includedir /usr/local/etc/xinetd.d
起動時にサービス起動できるように./etc/rc.confに以下を追加
xinetd_enable="YES"
つぎにvsftpのコンパイル&インストール
cd /usr/ports/ftp/vsftp
make config-recursive
make install
設定に関するドキュメントは、/usr/local/share/doc/vsftpd/EXAMPLE/INTERNET_SITE/
以下にある。
まず、xinetdの各サービスの設定ファイルを格納するディレクトリを作成する
mkdir -p /usr/local/etc/xinetd.d
そして、xinetdのvsftpd用の設定ファイルのサンプルファイルをコピーする
cd /usr/local/share/doc/vsftpd/EXAMPLE/INTERNET_SITE/
cp vsftpd.xinetd /usr/local/etc/xinetd.d/vsftpd
そして、コピーしたファイルに少し手を加える以下は、サンプルと手を加えた後のファイルの差分。
*** vsftpd.org Sun Sep 16 01:18:59 2012
--- vsftpd Sun Sep 16 01:03:52 2012
***************
*** 5,15 ****
socket_type = stream
wait = no
user = root
! server = /usr/local/sbin/vsftpd
per_source = 5
instances = 200
! no_access = 192.168.1.3
! banner_fail = /etc/vsftpd.busy_banner
log_on_success += PID HOST DURATION
log_on_failure += HOST
}
--- 5,15 ----
socket_type = stream
wait = no
user = root
! server = /usr/local/libexec/vsftpd
! #server_args = start
per_source = 5
instances = 200
! banner_fail = /usr/local/etc/vsftpd.busy_banner
log_on_success += PID HOST DURATION
log_on_failure += HOST
}
banner_fail は、instancesで指定した上の接続要求が来た場合のメッセージを格納したファイルをしていしており。中身は、下記のようにした。
421 Server busy , please try again later.
さらに、vsftpd本体の設定ファルサンプルをコピーする。
cp /usr/loca/share/doc/vsftpd/EXAMPLE/INTERNET_SITE/vsftpd.conf /usr/local/etc/
そして、自分の環境に合わせてコピーした設定ファイルを変更する。下記は、サンプルファイルと変更後ファイルの差分である。
*** /usr/local/share/doc/vsftpd/EXAMPLE/INTERNET_SITE/vsftpd.conf Sat Feb 2 10:30:40 2008
--- /usr/local/etc/vsftpd.conf Sun Sep 16 00:39:40 2012
***************
*** 1,6 ****
# Access rights
! anonymous_enable=YES
! local_enable=NO
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
--- 1,7 ----
# Access rights
! listen=NO # default では、YESらしくこれは、スタンドアロンを意味するのでNOを指定
! anonymous_enable=NO
! local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
***************
*** 17,23 ****
ascii_download_enable=NO
async_abor_enable=YES
# Performance
- one_process_model=YES # linux 用の設定なので削除
idle_session_timeout=120
data_connection_timeout=300
accept_timeout=60
--- 18,23 ----
そして、下記ディレクトリ作成
mkdir /usr/share/empty
ここまでで一応設定は完了
xinetdを起動する
/usr/local/etc/rc.d/xinetd start
そして、ftpログインしてみる
ftp 127.0.0.1
無事ログイン出来ればOK
しかし、この設定では、ログイン後にホームディレクトリ以上に移動できてしまうのでそれを禁止したい。
chrootの設定をする必要がある。今回は、外部公開は、していないのでとりあえず次回。
0 件のコメント:
コメントを投稿