VSFTPD 530 Login salah

12

Saya mencoba untuk mendapatkan pengaturan server vsftpd pada CentOS 5.3 x64. Saya tidak bisa mendapatkan login pengguna lokal untuk berfungsi. Inilah vsftpd.conf saya:

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

Berikut ini adalah output dari 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."

Dan output dari log aman:

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

Sepertinya pam tidak mengautentikasi pengguna. Ini file /etc/pam.d/vsftp saya:

#%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

Adakah yang bisa melihat apa yang saya lewatkan? Terima kasih.

dw.emplod
sumber
Saya menghadapi masalah yang sama, saya menghapus dan menginstal vsftpd lagi dan bekerja dengan baik. Ya itu bukan solusi yang baik tetapi berhasil.
usef_ksa
Lucu Anda memposting ini mengalami masalah yang sama persis minggu ini. Karena frustrasi saya pikir kami menginstal ulang vsftpd juga dan itu berhasil. RPM Rusak?
Kyle Smith

Jawaban:

17
 vi /etc/pam.d/vsftp  

komentar #auth diperlukan pam_shells.so

lalu

layanan vsftpd restart
pam_shells.so berarti hanya pengguna yang memiliki akses shell yang diizinkan sehingga itu sebabnya perlu dikomentari.

themihai
sumber
Seseorang menyarankan untuk menggunakan modul pam_nologin . Bisa jadi alternatif.
robsch
2

Dalam kasus saya, saya menyelesaikan masalah yang sama dengan mengikuti:

vi /etc/pam.d/vsftpd

baris komentar #auth menyertakan auth sistem

kemudian

layanan vsftpd restart

ferbarron
sumber
1
Jawabannya mungkin benar, tetapi akan lebih bermanfaat jika Anda menyertakan beberapa penjelasan mengapa baris ini harus dikomentari.
Jenny D
0

Ini bukan jawaban yang tepat, tetapi strategi yang saya temukan untuk melayani saya dengan baik:

Mulailah mengomentari baris dalam /etc/pam.d/vsftpfile Anda , dan lihat apakah (dan kapan) itu membiarkan Anda masuk. PAM dirancang dengan sengaja untuk melaporkan hanya keberhasilan atau kegagalan, bukan alasan.

Chen Levy
sumber
0

apakah Anda hanya memiliki satu ftp server di sistem Anda? Saya memiliki masalah yang sama, dan kemudian rendah dan lihatlah saya melihat lebih dalam ke masalah ini dan ada dua server ftp diinstal yang bertentangan. Saya mencopot satu dan masalahnya diperbaiki.

Jika Anda melakukan 'yum install vsftpd' Anda tidak perlu mengacaukan file pam (Sesuatu yang biasanya salah ketika Anda mulai mengacaukan PAM).

Jika bukan itu jalankan chkconfig --list | grep ftp dan lihat apa yang muncul (lihat apakah vsftpd muncul di sana - jika tidak ada yang salah dengan instalasi).

Dan saran terakhir saya adalah menjalankan pembaruan yum.

Marm0t
sumber
vsftpd adalah server FTP, bukan server SFTP. Mereka adalah protokol yang berbeda.
hellomynameisjoel
0

Apakah pengguna memiliki shell yang valid? Saya pikir itu harus ada dalam daftar / etc / shells. Apakah pengguna jelas bukan file / etc / vsftpd / ftpusers?

Pastikan Anda benar-benar mengedit /etc/vsftpd/vsftpd.conf, yang menggigit saya di CentOS saya mengedit /etc/vsftpd.conf.

vsftpd bisa sedikit fiddly dan tidak hebat dalam melaporkan kesalahan. Tetap dengan itu saya mencabut rambut saya dengan masalah yang sangat mirip, selalu merupakan solusi sederhana.

hellomynameisjoel
sumber
-3

vi / etc / passwd / bin / bash untuk pengguna Anda

Nick
sumber