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.
Jawaban:
komentar #auth diperlukan pam_shells.so
lalu
pam_shells.so berarti hanya pengguna yang memiliki akses shell yang diizinkan sehingga itu sebabnya perlu dikomentari.sumber
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
sumber
Ini bukan jawaban yang tepat, tetapi strategi yang saya temukan untuk melayani saya dengan baik:
Mulailah mengomentari baris dalam
/etc/pam.d/vsftp
file Anda , dan lihat apakah (dan kapan) itu membiarkan Anda masuk. PAM dirancang dengan sengaja untuk melaporkan hanya keberhasilan atau kegagalan, bukan alasan.sumber
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.
sumber
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.
sumber
vi / etc / passwd / bin / bash untuk pengguna Anda
sumber