「vsFTPd」の設定は「/etc/vsftpd/vsftpd.conf」を編集して行います。
CentOS 5.3で構築した自宅サーバーに「root」アカウントでログインします。
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.org
上記コマンドでオリジナルの設定ファイルをコピーしておきます。
# vim /etc/vsftpd/vsftpd.conf Enterキー
上記コマンドを入力して、「/etc/vsftpd/vsftpd.conf」ファイルを開きます。
ASCIIでのデータの送受信許可設定
アスキー形式の転送を有効にするため79行目と80行目の
#ascii_upload_enable=YES
#ascii_download_enable=YES
から先頭の#を削除して
ascii_upload_enable=YES
ascii_download_enable=YES
と変更します。
TCP Wrapper による通信制限の無効化
ルーターによって外部からのアクセスは遮断されているため、IPアドレスによる接続許可、接続拒否の制御は必要ないので、116行目の
tcp_wrappers=YES
を
tcp_wrappers=NO
に変更し、TCP Wrapperによる通信制限を無効化します。
ローカルタイムの使用
タイムスタンプのずれをなくすために、ファイルの末尾に以下の記述を追加してローカルタイムを使用するにように変更します。
use_localtime=YES
「/etc/vsftpd.user_list」をアクセス許可リストとして機能させる
ファイルの末尾に以下の記述を追加して「/etc/vsftpd.user_list」をアクセス許可するアカウントリストとして扱わせます。
userlist_deny=NO
上記の記述をしないと、「/etc/vsftpd.user_list」はアクセスを拒否するアカウントリストとして扱われます。
上記の記述をすることで、特定のユーザーアカウントにのみFTP接続を許可するという運用になります。
上位ディレクトリ参照可能ユーザリスト使用設定
ユーザーのホームディレクトリよりも上位のディレクトリへの参照を許可するアカウントをユーザーリストを使用して管理するために下記の設定を有効化します。
94行目と96行目の
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
の先頭の#を削除して
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
に変更します。
「/etc/vsftpd/chroot_list」を上位参照可能者リストとして機能させる
「/etc/vsftpd/chroot_list」は、デフォルトでは「上位ディレクトリをすることができないユーザーアカウントリスト」として扱われます。
これを、「上位ディレクトリの参照を許可するユーザーアカウントのリスト」と扱われるように、下記の記述をファイルの末尾に追記します。
chroot_local_user=YES
アノニマスFTPサーバーの設定
構築中のFTPサーバーはローカルユーザーのみ利用するFTPサーバーのため、不特定多数に公開するアノニマスFTPサーバーの設定は無効化します。
12行目の
anonymous_enable=YES
を
anonymous_enable=NO
に変更します。
ファイルを保存し、「vim」を終了させます。
「/etc/vsftpd.user_list」の編集
FTPへの接続を許すアカウント名を「/etc/vsftpd.user_list」に追記します。
構築中の自宅サーバーに「root」アカウントでログインした状態で下記コマンドを入力し、「/etc/vsftpd/user_list」ファイルを開きます。
#vim /etc/vsftpd/user_list
「username」というアカウントを接続許可する場合は下記のようにアカウント名を追加します。
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
nobody
username
ファイルを保存し、「vim」を終了します。
「/etc/vsftpd/chroot_list」の作成
上位ディレクトリ参照許可ユーザーアカウントリストファイルを作成し、上位ディレクトリの参照を許可するアカウント名を記述します。
構築中の自宅サーバーに「root」アカウントでログインした状態で下記コマンドを入力して新規にファイルを作成します。
# vim /etc/vsftpd/chroot_list
「username」というアカウントに許可を与える場合は、下記のように記述します。
root
username
ファイルを保存してvimを終了します。
作成した「/etc/vsftpd/chroot_list」は、パーミッションが644で作成されているはずですので、現状では「root」アカウント以外のユーザーがこのファイルを参照できてしまいます。
そのため、「root」アカウント以外は読み書きできないようにパーミッションを変更します。
# chmod 600 /etc/vsftpd/chroot_list Enterキー
上記コマンドを入力した後に、lsコマンドでファイルのパーミッションを確認してください。
# ls -l /etc/vsftpd/chroot_list
-rw------- 1 root root 14 4月 11 18:07 /etc/vsftpd/chroot_list
パーミッションが「-rw-------」のようになっていればOKです。
上記、設定内容を反映させるため、「vsFTPd」を再起動させます。
構築中の自宅サーバーに「root」アカウントでログインした状態で下記コマンドを入力。
以上で、FTPサーバーの設定は完了です。
# chmod 600 /etc/vsftpd/chroot_listEnter
では無く
# chmod 600 /etc/vsftpd/chroot_list
では無いでしょうか?