「vsFTPd」の設定

ここでは、「vsFTPd」をstandaloneではなく、inetd経由で起動するようにします。
また、anonymous(匿名ユーザ)での接続を禁止し、 自身のホームディレクトリより上位のディレクトリには移動できないようにします。

「vsFTPd」のインストール
FreeBSD# cd /usr/ports/ftp/vsftpd <= 作業ディレクトリへ移動
FreeBSD# make install clean <= 「vsFTPd」のインストール
「vsFTPd」の設定
FreeBSD# chmod 644 /usr/local/etc/vsftpd.conf <= 設定ファイルに書き込み権限付加
FreeBSD# vi /usr/local/etc/vsftpd.conf <= 設定ファイルの編集
anonymous_enable=YES
↓
anonymous_enable=NO <= anonymousユーザ(匿名ユーザ)のログイン禁止

#local_enable=YES
↓
local_enable=YES <= ローカルユーザのログインを許可

#write_enable=YES
↓
write_enable=YES <= 書き込みを許可する

#ascii_upload_enable=YES
↓
ascii_upload_enable=YES <= アスキーモードでのアップロードを許可

#ascii_download_enable=YES
↓
ascii_download_enable=YES <= アスキーモードでのダウンロードを許可

#chroot_list_enable=YES
↓
chroot_list_enable=YES <= ホームディレクトリより上の層へのアクセス禁止

#chroot_list_file=/etc/vsftpd.chroot_list
↓
chroot_list_file=/etc/vsftpd.chroot_list <= ホームディレクトリより上の層へのアクセスを禁止するユーザのリスト

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

userlist_enable=YES <= 追加
userlist_file=/etc/vsftpd.user_list <= 追加(FTPアクセスを拒否したいユーザのリスト)

use_localtime=YES <= 追加(タイムスタンプ時間を日本時間に変更)
pasv_promiscuous=YES <= 追加(パッシブモードを有効にする)

ホームディレクトリより上の層へのアクセスを禁止するユーザのリストファイルを作成します。

FreeBSD# vi /etc/vsftpd.chroot_list <= リストファイルの新規作成
kaz <= kazをホームディレクトリより上の層へのアクセスを禁止

ログインを拒否するユーザのリストファイルを作成します。

FreeBSD# vi /etc/vsftpd.user_list <= リストファイルの作成
ログインを拒否したいユーザを記述
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
「vsFTPd」の起動

inetdの設定

FreeBSD# vi /etc/inetd.conf <= inetdの設定ファイルを編集
ftp stream tcp nowait root /usr/local/libexec/vsftpd vsftpd /usr/local/etc/vsftpd.conf <= 追加

inetdが起動していない場合は起動する
FreeBSD# inetd
inetdが起動している場合は再起動する
FreeBSD# kill -HUP `cat /var/run/inetd.pid`

inetdの自動起動

FreeBSDを起動する際に自動的にinetdを起動するようにします。

FreeBSD# vi /etc/rc.conf <= 設定ファイルを編集
inetd_enable="YES" <= 追加
▲ページのトップへ