VSFTPD 530ログインが正しくありません


12

CentOS 5.3 x64でvsftpdサーバーをセットアップしようとしています。ローカルユーザーのログインを機能させることができません。これが私のvsftpd.confです。

local_enable=YES
write_enable=YES
pam_service_name=vsftpd
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
xferlog_std_format=NO
log_ftp_protocol=YES
chroot_local_user=YES

vsftp.logの出力は次のとおりです。

Mon Sep 13 23:34:44 2010 [pid 19243] CONNECT: Client "10.0.1.138"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP response: Client "10.0.1.138", "220 (vsFTPd 2.0.5)"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP command: Client "10.0.1.138", "USER dwelch"
Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "331 Please specify the password."
Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP command: Client "10.0.1.138", "PASS <password>"
Mon Sep 13 23:34:44 2010 [pid 19242] [dwelch] FAIL LOGIN: Client "10.0.1.138"
Mon Sep 13 23:34:45 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "530 Login incorrect."

セキュアログの出力:

Sep 13 17:40:50 intra vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=dwelch rhost=10.0.1.138  user=dwelch

pamはユーザーを認証していないようです。ここに私の/etc/pam.d/vsftpファイルがあります:

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      system-auth
account    include      system-auth
session    include      system-auth
session    required     pam_loginuid.so

誰も私が見逃しているものを見ることができますか ありがとう。


私は同じ問題に直面し、vsftpdを削除して再度インストールし、正常に動作しました。はい、それは良い解決策ではありませんが、うまくいきました。
usef_ksa

おもしろいことですが、これは今週、まったく同じ問題にぶつかりました。欲求不満から、vsftpdも再インストールし、うまくいったと思います。RPMが壊れていますか?
カイルスミス

回答:


17
 vi /etc/pam.d/vsftp  

コメント#authが必要pam_shells.so

その後

サービスvsftpd再起動
pam_shells.soは、シェルアクセスを持つユーザーのみを許可する必要があるため、コメントする必要があることを意味します。


誰かpam_nologinモジュールの使用を提案しました。代わりになるかもしれません。
ロブシュ

2

私の場合、次の問題を解決しました。

vi /etc/pam.d/vsftpd

コメント行#auth include system-auth

それから

サービスvsftpd再起動


1
答えは正しいかもしれませんが、この行をコメントアウトする必要がある理由について何らかの説明を含めるとより便利です。
ジェニーD 14

0

これは適切な答えではありませんが、私に役立つことがわかった戦略です。

/etc/pam.d/vsftpファイル内の行をコメントアウトし、ログインできるかどうか(およびいつログインできるか)を確認します。PAMは、理由ではなく成功または失敗のみを報告するように意図的に設計されています。


0

システムにFTPサーバーが1つしかありませんか?私は同様の問題を抱えていましたが、その後、問題の詳細を調べたところ、競合する2つのftpサーバーがインストールされていました。私は1つをアンインストールし、問題は修正されました。

「yum install vsftpd」を実行した場合は、PAMファイルを台無しにする必要はありません(PAMを台無しにすると、通常は誤動作します)。

それ以外の場合は、chkconfig --list | grep ftpで何が表示されるかを確認します(vsftpdが表示されるかどうかを確認します。表示されない場合は、インストールに問題がある可能性があります)。

そして、私の最後の提案は、yumアップデートを実行することです。


vsftpdはFTPサーバーであり、SFTPサーバーではありません。それらは異なるプロトコルです。
hellomynameisjoel

0

ユーザーは有効なシェルを持っていますか?/ etc / shellsリストに含まれている必要があると思います。ユーザーは間違いなくファイル/ etc / vsftpd / ftpusersではありませんか?

/etc/vsftpd/vsftpd.confを必ず編集してください。CentOSで/etc/vsftpd.confを編集していたので、それが気になります。

vsftpdは少々面倒なことがあり、エラーの報告には向いていません。それに固執して、私は非常に似た問題で髪を引き裂いていました、それは常に簡単な解決策です。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.