2009年04月11日

vsFTPdの設定

FTPサーバーを構築するために、「vsFTPd」の設定を行います。

「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
mail
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」アカウントでログインした状態で下記コマンドを入力。

# /etc/init.d/vsftpd restart


以上で、FTPサーバーの設定は完了です。
posted by セント at 16:34 | Comment(1) | TrackBack(0) | FTPサーバーの構築
この記事へのコメント
パーミッションの名前ですが、
# chmod 600 /etc/vsftpd/chroot_listEnter
では無く
# chmod 600 /etc/vsftpd/chroot_list

では無いでしょうか?
Posted by no name at 2013年10月27日 22:10
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック