web-dev-qa-db-ja.com

VSFTPD 530ログインが正しくない

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

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

13
dw.emplod
 vi /etc/pam.d/vsftp 

コメント#auth必須pam_shells.so

その後

 service vsftpd restart 
17
themihai

私の場合、私は次の同じ問題を解決しました:

vi /etc/pam.d/vsftpd

コマンドライン#auth include system-auth

その後

サービスvsftpd再起動

2
ferbarron

これは適切な答えではありませんが、うまく機能することがわかった戦略です。

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

0
Chen Levy

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

「yum install vsftpd」を実行した場合は、pamファイルをいじる必要はありません(通常、PAMをいじり始めると、何かがおかしくなります)。

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

そして、私の最後の提案は、yum更新を実行することです。

0
Marm0t

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

/etc/vsftpd/vsftpd.confを確実に編集していることを確認してください。CentOSでは、/ etc/vsftpd.confを編集していました。

vsftpdは少し手間がかかる可能性があり、エラーの報告には向いていません。それと固執する私は非常に類似した問題で髪を引き裂いていた、それは常にシンプルな解決策でした。

0