このページではLinuxで構築した自宅サーバー上のFTPサーバーvsFTPd起動設定の反映方法についてビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
FTPサーバーの構築

FTPサーバーについて


vsFTPdの基本設定
(WBEL3,4_CentOS3,4)

ローカルユーザー接続の設定
(WBEL3,4_CentOS3,4)

アノニマスFTPの設定
(WBEL3,4_CentOS3,4)

vsFTPdのコントロール
(WBEL3,4_CentOS3,4)

vsFTPdの動作チェック
(WBEL3,4_CentOS3,4)


vsFTPdの基本設定
(CentOS5)

ローカルユーザー接続の設定
(CentOS5)

アノニマスFTPの設定
(CentOS5)

vsFTPdのコントロール
(CentOS5)

vsFTPdの動作チェック
(CentOS5)


ポートフォワーディングの設定


vsFTPdの起動、停止、再起動(CentOS5)

vsFTPd の起動、停止は、予め準備されている シェル スクリプト "/etc/init.d/vsftpd" を利用して行います。

正確なスクリプトの場所は "/etc/rc.d/init.d/vsftpd" ですが、予めディレクトリ "/etc/rc.d/init.d/" シンボリックリンク "/etc/init.d/" で作成されていますので、 "/etc/init.d/vsftpd" でも実行することができます。

このシェルスクリプトが格納されているディレクトリには パス が通っていませんのでパス名付きで実行する必要があります パスが通っていない場所のファイルを実行するには

パス名を付けずに コマンド 名"vsftpd"のみで実行すると、パスが通っているvsFTPdの実体プログラム "/usr/sbin/vsftpd" vsFTPdの構成ファイル(CentOS5) が呼び出されてしまいますので注意してください。

書式は以下のとおりです。作業はすべてroot アカウント から行います。

/etc/init.d/vsftpd start...vsFTPdの起動

/etc/init.d/vsftpd stop...vsFTPdの停止

[tanaka@web1 ~]$ su -Enter
パスワード: "root"のパスワードを入力します。 Enter
[root@web1 ~]# /etc/init.d/vsftpd startEnter
vsftpd用のvsftpdを起動中:                 [ OK ]
[root@web1 ~]# /etc/init.d/vsftpd stopEnter
vsftpdを停止中:                      [ OK ]
[root@web1 ~]#

"/etc/vsftpd.conf"を書き換えた後にその設定を有効にするには、一度vsFTPdを停止して起動しなおすか、以下のコマンドを実行します。

/etc/init.d/vsftpd restart(またはreload)...vsFTPdの再起動

[root@web1 ~]# /etc/init.d/vsftpd restartEnter
vsftpdを停止中:                      [ OK ]
vsftpd用のvsftpdを起動中:                 [ OK ]
[root@web1 ~]# /etc/init.d/vsftpd reloadEnter
vsftpdを停止中:                      [ OK ]
vsftpd用のvsftpdを起動中:                 [ OK ]
[root@web1 ~]#

この実行例のメッセージでもわかるとおり、実は reload オプションは restart オプションと全く同じ 再起動 の動作をします。

従ってvsFTPdに接続中のユーザーは、 reload 操作でも接続が切れてしまいますので注意してください。

また、 アカウント に対するアクセス制御を担うユーザーリストファイル、

"/etc/vsftpd/user_list"

"/etc/vsftpd/ftpusers"

"/etc/vsftpd/chroot_list"

つまり、接続中のアカウントに対して、ユーザーリストで接続拒否を行った場合でも、接続中のアカウントはアクセス拒否されないことに注意してください。ユーザーリストはあくまで「接続開始時」に参照されるからです。

は、vsFTPdの起動時に読み込まれるわけではなく、ユーザーからの FTP 接続要求のたびに参照されます。

従って、これらのファイルを編集してもvsFTPdの再起動は必要ありません。ファイルを保存するとすぐに編集内容が反映されるようになります。

vsFTPdが現在稼動してるかどうかを確認するには、

/etc/init.d/vsftpd status...vsFTPdの状態確認

あるいは、 ps コマンドで起動プロセスを確認します。

[root@web1 ~]# /etc/init.d/vsftpd statusEnter
vsftpd (pid 15255) を実行中...
[root@web1 ~]# ps ax | grep vsftpdEnter パイプ処理の説明 grepコマンドの説明
15255 ?    Ss   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
 ↑vsFTPdが実行中であることを示します。
15267 pts/0  S+   0:00 grep vsftpd
 ↑このgrepコマンドのプロセスです。
[root@web1 ~]# /etc/init.d/vsftpd stopEnter
vsftpdを停止中:                      [ OK ]
[root@web1 ~]# /etc/init.d/vsftpd statusEnter
vsftpdは停止しています
[root@web1 ~]# ps ax | grep vsftpdEnter
15291 pts/0  S+   0:00 grep vsftpd
[root@web1 ~]#

CentOS5 vsFTPdは、"/etc/vsftpd/vsftpd.conf"に書式上の間違いがある場合は、通常起動に失敗してエラーメッセージを表示します。

以下は、"/etc/vsftpd/vsftpd.conf"で"local_enable=YES"と記述すべきところを、 "local_enable=YESS" と間違えて記述し、再起動を行った例です。

[root@web1 ~]# /etc/init.d/vsftpd restartEnter
vsftpdを停止中:                      [ OK ]
vsftpd 用の vsftpd を起動中: 500 OOPS: bad bool value in config file for: local_enable
                              [失敗]
[root@web1 ~]#

ただし、ここでチェック可能なのはあくまで書式上の誤りですから、設定そのものの間違いはチェックできません。

vsFTPdを起動、再起動した後は必ず vsFTPdの動作チェック(CentOS5) を参考に、具体的な動作内容の確認も合わせて行ってください。

このページの先頭へ↑

vsFTPdを自動的に起動する(CentOS5)

vsFTPd は、運用形態によっては常に起動しておく必要はないかもしれません。そういう場合には必要に応じて起動させれば良いのですが、常に動作させておきたい場合には、 構築中のLinuxサーバー が起動したときに自動的に デーモン が起動するように設定しておきましょう。

設定は ntsysv コマンド で設定画面を開き、 "vsftpd" にチェックを入れるだけです。

vsFTPdをntsysvで自動起動登録する
"vsFTPd"を"ntsysv"で自動起動登録する

設定が終わったら念のため一度 構築中のLinuxサーバー reboot コマンドで再起動し、上のパートで説明した動作確認の方法で、きちんと起動しているかどうかをチェックしてみてください。

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System