この頁は、FTPサーバー構築までの流れを、暗記力がない貴夫人が後々思いだす為に作りました。
OSは「Fedora Core 3(以下、FC3)」、FTPサーバーはOSのパッケージに含まれる「VSFTP」を使用しています。

また、同じ環境でもこの頁どおりに作ったからと言って動作を保障するものではありませんので、
予めご了承下さい。

事前に準備すること

  1. VSFTPをインストールする
  2. ファイアウォールを解除する
  3. VSFTPのサービスを起動する

各種設定を行なう

  1. VSFTPの設定
  2. 接続リストの作成
  3. ログファイルの管理

利用するPC側の設定

  1. サーバーの管理者
  2. 利用するユーザー


〇VSFTPをインストールする

 「FC3」インストール時の設定によっては、VSFTPがインストールされていない可能性があります。
 「アプリケーションメニュー」→「システム設定」→「アプリケーションの追加/削除」を開き、
「FTPサーバー」にチェックが入っているか確認しましょう。



 チェックが入っていれば、すでに「VSFTP」がインストールされています。
 チェックが入っていない場合は、チェックを付けて、下部にある更新ボタンをクリックし、
以降は画面の指示に従いながら、OSが入っているCDからインストールします。

△ Topへ

〇ファイアウォールの解除

  「FC3」には標準で簡易ファイアウォール機能が有効になっています。
(「アプリケーションメニュー」→「システム設定」→「セキュリティレベル」で確認可能)



 このままではFTPポートの通信が遮断されてしまうので、FTPにチェックを付けて
FTPポートのファイアウォールを無効化します。



 OKボタンをクリックすると保存するか質問されますので、保存ボタンをクリックします。

 これでFTPポート(デフォルトでは21番ポート)が解放されます。

△ Topへ

〇VSFTPサービスの起動

 最後にVSFTPのサービスをサーバー起動時に有効にするよう設定を行ないます。
 「アプリケーションメニュー」→「システム設定」→「サーバ設定」→「サービス」をクリックし、
「vsftpd」にチェックを付けます。



 また、サーバー運用時はランレベル3(プロンプト)で起動させようと考えている場合は、
「ランレベルの編集」メニューで「ランレベル 3」を選択し、おなじく「vsftpd」にチェックを付けます。



 最後に保存ボタンか、ファイルメニューより「変更を保存」をクリックして設定を保存し、
PCを再起動させます。

 なお、PCを再起動しなくても、ターミナル(GNOME端末)より以下のコマンドを実行することで、
VSFTPのサービスのみを起動(再起動)することも可能です。



 このコマンドは各種設定変更時に頻繁に利用することがあるので、覚えておくと便利です。

△ Topへ


〇VSFTPの設定

 VSFTPはGUIによる設定画面をもたないので、直截設定ファイルを編集して各種設定を行ないます。
 設定ファイルの場所は「/etc/vsftpd/vsftpd.conf」です。
(設定ファイル自体は通常のテキストファイルですので、付属のGENOMテキスト・エディタ等で開けます)

 以下は最適な設定に編集し終わった「vsftpd.conf」の内容です。

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO  ←アノニマスFTPを許可するか否か。

# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=077  ←ファイルをアップロードした際のアクセス権(パーミッション)の設定
(022:グループ、その他のユーザーもアクセスOK / 077:FTPユーザーのみアクセス可能)

# If you want, you can have your log file in standard ftpd xferlog format
xferlog_std_format=NO  ←ログファイルの出力形式をどうするか?
(YES:xferlog(デフォルト)形式にする / NO:VSFTP形式にする(今回はこちらを採用))

# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_list_enable=YES    ←FTPユーザーのホームディレクトリ以外への移動を禁止する?

userlist_enable=YES       ←"vsftpd.user_list"ファイルの扱いは?
(YES:許可リストとしてあつかう / NO:拒否リストとしてあつかう)

userlist_deny=NO          ←上記1行をYESにした場合、この行を追加するきまり。
(上記行と併せて、"特定のユーザーのみ接続を許可する"という設定にすることができる)
(この場合の特定のユーザーとは「vsftpd.user_list」に記載されているユーザーを指す)

これ以外の行に関しては、デフォルトの設定のままで問題ありません。 「#」からはじまる文章はすべてコメントとしてあつかわれます。 ※各項目を判りやすく説明するため、各行に補足説明を記載していますが、本来このような文章は 「vsftpd.conf」に記載されていません。 よってこの設定のまま「VSFTP」サービスの再起動等を行なうと、エラーが発生してしまいます。 編集が終ったら「vsftpd.conf」を保存します。 その後、以下のコマンドを実行して「VSFTP」のサービスを再起動すれば、新しい設定が反映されます。

△ Topへ

〇接続リストの作成

 続いてFTPで接続するユーザーリスト(/etc/vsftpd.user_list)を作成します。
 デフォルトではこのリストファイルはFTPで接続出来ないユーザーのリストが登録されていますが、
今回は特定のユーザーのみFTP接続を許可する設定でサーバーを構築しますので、
新規にこのリストファイルを作成します。
 ただし、既存のファイルは後々のことも考え、名前を変更する等して残しておいて下さい。

 「vsftpd.user_list」も、通常のテキストファイルで作られていますので、GENOMテキスト・エディタ等で
新規作成したドキュメントを「/etc」以下に「vsftpd.user_list」の名前で保存します。

 以下は新規作成した「vsftpd.user_list」の内容です。

#接続を許可するユーザーの名前を以下に書きこんでいく。
ftptest
admin  ←1行に1ユーザーずつ

このファイルにはFTPユーザーとして接続を許可するLinuxのユーザー名を登録していくだけですので、 内容はいたってシンプルです。 次に「/etc/vsftpd.chroot_list」を作成します。 このファイルはデフォルトでは作成されていませんので、同じくGENOMテキスト・エディタ等で作成した ドキュメントを「/etc」以下に「vsftpd.chroot_list」の名前で保存します。 以下に「vsftpd.chroot_list」の内容を記載します。
#FTPで接続した以下のユーザーは、自身のホームディレクトリから移動できない。
ftptest  ←1行に1ユーザーずつ
#admin   ←ユーザー"admin"に関してはホームディレクトリ以外の移動も許可する

こちらも「vsftpd.user_list」と同じくユーザーの名前を列挙していくだけですので、先ほど作成した 「vsftpd.user_list」ファイルをコピーして名前を変更しても、とくに問題はありません。 ただし、一部のユーザーにだけホームディレクトリからの移動を許可するような設定を行なう場合等は、 そのユーザーの名前はこのリストファイルから除外しておく必要があります。

△ Topへ

〇ログファイルの管理

 最後に、FTPで行なわれたやり取りをログとして残す機能が「VSFTP」にはついていますので、
その設定を行ないます。
 FTPはセキュリティの面で不安が残りますので、ログを管理することによってある程度の安全性を
保とうというわけです。

 「VSFTP」のログはデフォルトでは「/var/log/xferlog」ファイルに記録されていきますが、
このフォーマットでは若干読み難い点があるので、「vsftpd.conf」の「xferlog_std_format=YES」を
「xferlog_std_format=NO」に書き変えて、ログファイルのフォーマットを変更します
(前述した「vsftpd.conf」はすでに変更済です)

 新しいフォーマットのログは「/var/log/vsftpd.log」に記録されます。

 ただし、このファイルはデフォルトではroot権限のみに閲覧がゆるされていますので、会社等から
リモートで一般ユーザーにログインした場合は確認することが出来ません。

 そこで、会社等からでもメンテナンスを行なえるように、リモートでログインする一般ユーザーの
ホームディレクトリ以下に、このファイルのシンボリックリンクを作成し、そのユーザーに対して
「読み込み可」のアクセス権限を与えます。

 まず、リモートログインするユーザーにアクセス権がないとシンボリックリンクを作成できないので、
以下のコマンドを入力して「vsftpd.log」のアクセス権を変更します。



 この状態で以下のコマンドを入力すれば、一般ユーザー(ここでは"admin")のデスクトップに
「vsftpd.log」のシンボリックリンクが作成されます。



 リモートログインしたあと、内容を確認する場合は以下のコマンドを入力します。



 "tail"コマンドに、オプション「-f」を付けることにより、リアルタイムで通信のログを確認することが
出来るので便利です。
 表示を終了する場合は「Ctrl + C」を入力します。

△ Topへ


〇サーバーの管理者

 Windows環境で必要なソフトウェア
TeraTerm Pro SSHで通信を行なうためのリモートログイン用ソフトウェア。
インストール後、UTF-8&SSH2に対応したパッチも適用する必要があります。
FFFTP FTPクライアント。
インストール方法等は作者のページを参照してください。
TeraPad EUCコードで書かれたテキストファイルを表示させることの出来るエディタ。
UTF-8/EUC等が読めるものであれば何でもOK。
以上のファイルがそろっていれば問題ないと思われます。 なお、リモートログインではなく、ローカルファイルからログファイル等を参照する場合は、 Sambaでも代用が可能です。

△ Topへ

〇利用するユーザー

 Windows環境で必要なソフトウェア
FFFTP FTPクライアント。
インストール方法等は作者のページを参照してください。
TeraPad EUCコードで書かれたテキストファイルを表示させることの出来るエディタ。
UTF-8/EUC等が読めるものであれば何でもOK。
以上のファイルがそろっていれば問題ないと思われます。

△ Topへ


<< 物置部屋のトップページへ戻る