
「vsFTPd」の設定
ここでは、「vsFTPd」をstandaloneではなく、inetd経由で起動するようにします。
inetd経由でのデーモンの起動方法はこちらに書いています。
また、anonymous(匿名ユーザ)での接続を禁止し、
自身のホームディレクトリより上位のディレクトリには移動できないようにします。
ftpサービスの無効化
デフォルトで起動しているftpサービスを無効化します。
Solaris# svcs -a | grep -i ftp <= ftpサービスの確認
online 20:00:48 svc:/network/ftp:default
Solaris# svcadm disable svc:/network/ftp:default
|
「vsFTPd」のインストール
「vsFTPd」のソースファイルをダウンロードし、インストールします。
Solaris# mkdir /usr/local/src/vsftpd <= 作業用ディレクトリの作成
Solaris# chmod 777 /usr/local/src/vsftpd <= 作業用ディレクトリのパーミッション変更
Solaris# exit <= 一般ユーザになる
Solaris% cd /usr/local/src/vsftpd <= 作業用ディレクトリへ移動
Solaris% wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.3pre2.tar.gz
<= 「vsFTPd」のソースをダウンロード
Solaris% gunzip -c vsftpd-2.0.3pre2.tar.gz | tar xf - <= ダウンロードしたファイルの展開
Solaris% cd vsftpd-2.0.3 <= 展開したディレクトリに移動
Solaris% gmake |& tee make.log <= コンパイル
Solaris% su <= スーパーユーザになる
Password: <= パスワードの入力
Solaris# gmake install |& tee make-install.log <= インストール
Solaris# cp vsftpd.conf /etc/vsftpd.conf <= サンプル設定ファイルのコピー
|
「vsFTPd」の設定
Solaris# vi /etc/vsftpd.conf <= 設定ファイルの編集
anonymous_enable=YES
↓
anonymous_enable=NO <= anonymousユーザ(匿名ユーザ)のログイン禁止
#local_enable=YES
↓
local_enable=YES <= ローカルユーザのログインを許可
#write_enable=YES
↓
write_enable=YES <= 書き込みを許可
#xferlog_file=/var/log/vsftpd.log
↓
xferlog_file=/var/log/vsftpd.log <= ログファイルの指定
#ascii_upload_enable=YES
↓
ascii_upload_enable=YES <= アスキーモードでのアップロードを許可
#ascii_download_enable=YES
↓
ascii_download_enable=YES <= アスキーモードでのダウンロードを許可
#ftpd_banner=Welcome to blah FTP service.
↓
ftpd_banner=Welcome to blah FTP service. <= コメント解除(デフォルトでは「vsFTPd」のバージョンが表示される為)
#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 <= 追加(FTPアクセスを拒否するユーザを設定する為)
userlist_file=/etc/vsftpd.user_list <= 追加(FTPアクセスを拒否したいユーザのリスト)
use_localtime=YES <= 追加(タイムスタンプ時間を日本時間に変更)
pasv_promiscuous=YES <= 追加(パッシブモードを有効にする)
|
ホームディレクトリより上の層へのアクセスを禁止するユーザのリストファイルを作成します。
Solaris# vi /etc/vsftpd.chroot_list <= リストファイルの作成
kaz <= kazをホームディレクトリより上の層へのアクセスを禁止
|
ログインを拒否するユーザのリストファイルを作成します。
Solaris# vi /etc/vsftpd.user_list <= リストファイルの作成
ログインを拒否したいユーザを記述
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
|
「vsFTPd」に必要なディレクトリを作成します。
Solaris# mkdir /usr/share/empty
|
「vsFTPd」の起動
inetd経由で起動するため、inetdの設定ファイルを作成します。
Solaris# vi /etc/inet/inetd.conf_vsftpd <= 設定ファイルの作成
ftp stream tcp nowait root /usr/local/sbin/vsftpd <= 追加
Solaris# vi /etc/hosts.allow <= 設定ファイルの編集
vsftpd : ALL : allow <= 追加(すべてのアクセスを許可)
Solaris# inetconv -i /etc/inet/inetd.conf_vsftpd <= 作成した設定ファイルの変換・有効化
|