- - PR -
vsftpdについて(設定方法)
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-10-02 00:25
RedHat9にてサーバー構築中のlinux経験3ヶ月の物です。
vsftpの設定で下記についてどなたかご存知であればご教授願います。 1.anonymousログインしかできない。 vsftp(1.1.3-7)をインストールしてwindowsよりffftpでlinuxユーザでログインしよう としたのですが、530 This FTP server is anonymous only.のメッセージが出力され、 ログインできません。anonymousでログインするとできました。 一応/etc/vsftpd/vsftpd.confは anonymous_enable=YES local_enable=YES userlist_enable=YES の指定をしています。また、 /etc/vsftpd.ftpusers /etc/vsftpd.user_list はとくにさわっていません。 (どうもvsftpd.confを読み込めていないようです) この事象はxinet経由でvsftpdを起動するよう設定しなおしたところ /etc/xinetd.d/vsftpdの設定を下記に修正 service ftp { socket_type = stream wait = no user = root server = /usr/sbin/vsftpd server_args = /etc/vsftpd/vsftpd.conf nice = 10 disable = no # flags = IPv4 flags = NOLIBWRAP log_on_success += DURATION USERID log_on_failure += USERID } 解消しました。スタンドアロンで起動している時は/etc/vsftpd/vsftpd.confは 読み込んでいないのでしょうか? 2.vsftpdtの停止ができない server vsftpd stop/restart/reload 等の停止を行うコマンドを投入すると、停止時に[失敗]となってしまう。 この2点についてどなたかご教授いただける方いましたらよろしくお願いします。 |
|
投稿日時: 2003-10-02 13:14
私の手元にあったRedHat9には、vsftpd-1.1.3-8が入っていたので
それをインストールしてみました。 デフォルトの設定で、 service vsftpd start として起動し、Windows上のFTPクライアントからアクセスしてみま したが、通常のユーザで接続できました。 1.1.3-7とは異なっているのかもしれませんが、起動スクリプト内 を見ても、 /etc/vsftpd/*.conf というファイルを探してきて、それを引数として起動するようにな っています。(/etc/init.d/vsftpd参照) /etc/vsftpd/ 以下に、vsftpd.confしかなければ、それを利用して 起動されるはずです。 もしかして、confファイルを変更後、vsftpdを再起動しなかったの ではありませんか? serviceコマンドで起動した場合、conf(設定)ファイルは、起動時 に読み込まれますが、ファイルが変更されたからといって自動的に 再読み込みは行われません。 それに対して、xinetd経由での接続の場合は、接続されるたびに新 規に処理を受け付けるためのvsftpdが起動されますので、接続し直 しをすれば有効になったのだと思われます。 > 2.vsftpdtの停止ができない xinetd経由で利用するのであれば、serviceコマンドでのリスター トなどはできません。 というのも、serviceコマンドでリスタートをかけようとしたとき に、vsftpdを起動しようとするので、起動時にftpで利用するポー ト番号を確保しようとします。 しかし、xinetdがそのポート番号を占有した状態になってしまって いますので、vsftpdの起動に失敗(リスタートに失敗)することに なります。 つまり、ftpで利用するポート番号をxinetdが管理するのかvsftpd 自身で管理するのかという違いがあるわけです。 ということで、xinetd経由で管理するのか、serviceコマンドで管 理するのかのどちらかにしてください。 # RedHat9のデフォルトは、serviceコマンドで管理するようになっ # たようですね。 |
|
投稿日時: 2003-10-03 00:18
回答ありがとうございました。
ご指摘の内容をよく考えてみて(とくに2の回答)再設定を行ったところうまく起動しました。 1.の直接原因はxinet起動の設定ミス(server_args=/etc/vsftpd/vsftpd.conf指定の欠落)だと思われます。 2.の原因はlinux自動起動の設定が混在していたためだと思われます。 linux自動起動:chkconfig vsftpd onの状態と、vsftpd.confでlisten=YES,tcp_wrappers=YESの指定。 xinet起動指定:/etc/xinetd.d/vsftpdのdisable=no (というか私自身の頭のなかで混在していた・・・ということですね。) の状態で藍空さんのご指摘どおりの事象で失敗となっていると思われます。 また、1.についてはxinet起動しようとしてるけど、vsftpd.confの場所がわからずにデフォルト状態(anonymous only状態)で起動してしまい通常ユーザのログインを受け付けなかったのではないか?と推測しています。 いずれにしてもご指摘により見事解決してしまいました。感謝感謝です、ありがとうございました!! |
1