- PR -

vsftpでログイン不可

1
投稿者投稿内容
chesha
会議室デビュー日: 2004/03/29
投稿数: 3
投稿日時: 2004-03-29 22:39
こんにちわ、初めて投稿します。
Fedora coreにてlinuxの勉強中の超初心者です。
うまくいかずに苦戦中ですが、あちこち調べて分からなかったので
投稿することにしました。vsftpについて聞きたいことがあります。

先日、vsftpd-1.2.1をrpmからではなく、makeしてインストールしました。
/etc/vsftpd.confをある程度設定して、anonymousで接続できるように
なりました。そこで次はvsftpd.confの設定を変えて匿名アカウントだけ
ではなくlinuxに登録してある、別のユーザーアカウントで接続することに
しました。

anonymous_enable=NO
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list

/etc/vsftpd.user_listにはlinuxで普段使っているユーザーアカウントを書きました。
続いて/etc/xinetd.d/vsftpdの内容を以下のように変更しました。

disable = no
socket_type = stream
wait = no
user = root
server = /usr/local/sbin/vsftpd
server_args = /etc/vsftpd.conf
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10

設定を終わったあとに、/etc/init.d/xinetd restartで設定を反映しました。
ftpで繋ぐと/etc/vsftpd.user_listに記載された以外のユーザーアカウントは、
はじかれるのは分かるんですが、なぜか・・・/etc/vsftpd.user_listに記載された
ユーザーまではじかれてしまいます。

# ftp 192.168.1.22
Connected to 192.168.1.22 (192.168.1.22).
220 (vsFTPd 1.2.1)
Name (192.168.1.22:XXXX): XXXX
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.

どうやらパスワードを受け付けてくれません・・・
そこで質問なんですが、ftpで繋ぐアカウントはtelnetなどで繋ぐことのできる
アカウントと一緒ですよね?なぜ"パスワードが違う"と出てくるのか分かりません。
ftp用に特別なアカウントの作り方があるのでしょうか・・・

何か恥ずかしいぐらい基本的な間違いのような気がしますが、どうしても分かりません。
どなたか分かりましたらお願いいたします。
みなやん
会議室デビュー日: 2004/03/30
投稿数: 11
お住まい・勤務地: 東京都中野区
投稿日時: 2004-03-30 09:57
cheshaさん。
はじめまして。
vsftpfdは、私もかなり苦戦した経験があったので。
ご参考になれば・・・

>ftpで繋ぐと/etc/vsftpd.user_listに記載された以外のユーザーアカウントは、
>はじかれるのは分かるんですが、なぜか・・・/etc/vsftpd.user_listに記載された
>ユーザーまではじかれてしまいます。
私もまさにこれではまりました。

さて、私の設定とcheshaさんの設定で異なる点です。
-------------------------------
userlist_deny=YES
-------------------------------
※NO===>YESにすると
/etc/vsftpd.user_listに記載されたユーザーは、FTPを使えなくなります。
実際には、使えないユーザを登録する方が変更が少なくなり、楽だと思います。
ここに記述されていないユーザーは、FTPを使えます。

こんなので、参考になればいいのですが。
試して頂ければ幸いです。
はゆる
ぬし
会議室デビュー日: 2004/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2004-03-30 11:46
こんにちは〜。

vsftpd は、私も苦戦しました(苦笑)。
パラメータの設定によって、動作が全く異なるようです。
下記のページが、パラメータについて詳しく説明していると思いますので、ご覧になってみてくださいね。
(xinetd 経由ではないのですが)
http://www.aritia.org/hizumi/dsl/page_23.htm

その他、「vsftp」 ではなくて 「vsftpd」 でネットを検索すると、よいページが見つけられると思いますよ。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-03-30 13:05
vsftpd は以前ちらっと使ったきりですが...
local_enable=YES
が必要だったかと。
chesha
会議室デビュー日: 2004/03/29
投稿数: 3
投稿日時: 2004-03-31 17:49
皆さんこんにちわ!
初めての投稿と初心者が相手にされるのか心配していたんですが、
めちゃめちゃ早いレスに大変感謝しています!

さっそくレスをいただいたとおりに、/etc/vsftpd.confの内容を


local_enable=YES ←ローカルユーザーを許可(前回書き忘れてました・・・)

userlist_enable=YES ←アクセス制御する
userlist_deny=YES  ←拒否するユーザーを有効
userlist_file=/etc/vsftpd.user_list ←拒否するユーザーを記載


にしました。/etc/vsftpd.user_listからFTPを使用するユーザーを
消して、試しに作ったtestという禁止ユーザーのみにしました。
再度、/etc/init.d/xinetd restartを打ち再起動したのちに、
禁止にしたtestというアカウントで入ろうとすると、ログインする
時点で容赦なく"530 Permission denied."と出てきました。設定ど
おりに禁止ユーザーになってくれたようです!

その次に禁止していないユーザー(いつもtelnetでつないでるアカウント)
で試すと、アカウントを受け付けてパスワードは聞かれるのですが・・・
やはり、

530 Login incorrect.
Login failed.

と出てきてしまいました。なんだか認証に失敗してしまいます。webで
vsftpでanonymous以外のアカウントで認証に失敗したというページを
いくつか発見しましたが、まだまだ解決には至ってません。

でも、userlistの使い方は間違えてないってことですよね。きっとまだ
基本的なところが違ってるかもしれません・・まだまだ調べてみます。
なにか助言があったらお願いします。


みなやん
会議室デビュー日: 2004/03/30
投稿数: 11
お住まい・勤務地: 東京都中野区
投稿日時: 2004-04-02 18:42
pam認証に原因があると考えられます。
ftpの認証方法の設定が必要です。

@まず、ftpの認証設定がされているか確認しましょう。
ftpというファイルがあるでしょうか?

>ls -al /etc/pam.d
drwxr-xr-x 2 root root 4096 Apr 2 18:11 .
drwxr-xr-x 49 root root 4096 Apr 2 17:59 ..
-rw-r--r-- 1 root root 272 Apr 19 2002 authconfig
途中省略
-rw-r--r-- 1 root root 164 Jan 1 2003 ftp <===これです
途中省略

もし無い場合は、作成する必要があります。
ファイルの中身は以下の通りです。
ブランクの部分はTABです。

From-------------------------------------------------------------------
auth required pam_pwdb.so shadow nullok
account required pam_pwdb.so
password required pam_pwdb.so shadow nullok use_authtok
session required pam_pwdb.so
To -------------------------------------------------------------------

ここまで書いておいて何なんですが。
vsftpd-1.2.1をrpmでインストールすると /etc/pam.d/ftp は作成されます。
その方が楽かと思います。
rpmでインストールされるのでしたら、vsftpd.confはバックアップをとる必要があります。
自分の環境で確認したのですが・・・
/etc/pam.d/ftpをファイル名を適当にxxxとかに変更したらやはり

530 Login incorrect.
Login failed.

とでて認証が失敗します。
ファイル名をxxxからftpに戻すと、認証がうまくいきます。
このことから原因は、/etc/pam.d/ftpが無いことは確実と思われます。

確認してみてください。
chesha
会議室デビュー日: 2004/03/29
投稿数: 3
投稿日時: 2004-04-03 13:27
お返事ありがとうございます!

初心者で何も分からずに調べまくってたんですが、なかなか
ヒントがなくて必死になっていました・・・。認証方法の設定が
あるんですね。基本なのかもしれませんが、恥ずかしながら
まったく知りませんでした…。

インストールした時に解凍したディレクトリの中に、vsftpd.pam
というファイルを見つけて中身を見たところ、教えていただいた
内容が書かれていたので、名前をftpに変えてそのまま/etc/pam.d
の中に放り込んでみました。
結果、登録してあったアカウントで無事にログインすることができ
ました!初心者ながらいい勉強になりました。やはり、慣れない
初心者は普通にrpmからインストールした方がいいのかもしれませんね。

つきあってくれた皆様、本当にありがとうございました!僕も人に
教えれるぐらい勉強したいので、また機会があったら付き合ってください。
1

スキルアップ/キャリアアップ(JOB@IT)