Memindahkan konfigurasi vsftpd yang terbukti benar ke server baru dengan Fedora 16, saya mengalami masalah. Semua tampaknya berjalan sebagaimana mestinya, tetapi otentikasi pengguna gagal. Saya tidak dapat menemukan entri apa pun di log apa pun yang menunjukkan apa yang terjadi.
Berikut adalah file konfigurasi lengkapnya:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=0
data_connection_timeout=0
nopriv_user=ftpsecure
connect_from_port_20=YES
listen=YES
chroot_local_user=YES
chroot_list_enable=NO
ls_recurse_enable=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
FTP menantang saya untuk nama pengguna dan kata sandi, saya memberikannya, Login Salah. Saya telah memverifikasi, pengguna ini dapat masuk dari ssh. Ada yang kacau dengan pam_service
.
Anonim (jika diubah menjadi diizinkan) tampaknya berfungsi dengan baik.
SELinux dinonaktifkan.
Ftpsecure tampaknya dikonfigurasi dengan baik… Saya benar-benar bingung!
Berikut adalah file log yang saya periksa tanpa hasil:
/var/log/messages
/var/log/xferlog #empty
/var/log/vsftpd.log #empty
/var/log/secure
Menemukan sesuatu di /var/log/audit/audit.log
:
type=USER_AUTH msg=audit(1335632253.332:18486): user pid=19528 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication acct="kate" exe="/usr/sbin/vsftpd" hostname=ip68-5-219-23.oc.oc.cox.net addr=68.5.219.23 terminal=ftp res=failed'
Mungkin saya harus melihat /var/log/wtf-is-wrong.help
Info lebih lanjut:
/etc/pam.d/vsftpd terlihat seperti ini:
#%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 password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
Jawaban yang Diterima:
Wah. Saya memecahkan masalah. Itu sama dengan konfigurasi tetapi di dalam /etc/pam.d/vsftpd
Karena sesi ssh berhasil sementara sesi ftp gagal, saya membuka
/etc/pam.d/vsftpd, menghapus semua yang ada di sana dan sebagai gantinya menempatkan konten ./sshd agar sesuai dengan aturan dengan tepat. Semua berhasil!
Dengan metode eliminasi, saya menemukan bahwa kalimat yang menyinggung adalah:
auth required pam_shells.so
Menghapusnya memungkinkan saya untuk melanjutkan.
Ternyata, “pam_shells adalah modul PAM yang hanya mengizinkan akses ke sistem jika shell pengguna terdaftar di /etc/shells.” Saya melihat ke sana dan tentu saja, tidak ada bash, tidak ada apa-apa. Ini adalah bug dalam konfigurasi vsftpd menurut pendapat saya karena tidak ada tempat dalam dokumentasi yang Anda edit /etc/shells. Dengan demikian, instalasi dan instruksi default tidak berfungsi seperti yang dinyatakan.
Saya akan mencari di mana saya bisa mengirimkan bug sekarang.