我试图设置vsftpd使用我们的域login。 我希望ftp用户能够使用他们的活动目录用户名/密码login,并且能够完全访问/ media / storage / ftp / username。 我使用winbind安装pptp并且工作正常,所以我相信这个问题是vsftpd和pam。 ftp服务器运行并为login提供530。 我打开了对pam模块的debugging,但在syslog中什么也看不到。 Vsftp只在其日志中logging错误的login信息。
/etc/pam.d/vsftpd
auth required pam_winbind.so debug
/etc/vsftpd.conf文件
listen=YES listen_ipv6=NO connect_from_port_20=YES anonymous_enable=NO local_enable=YES write_enable=YES xferlog_enable=YES idle_session_timeout=600 data_connection_timeout=120 nopriv_user=ftp ftpd_banner=Welcome to Scantiva! Authorized access only! local_umask=022 local_root=/media/storage/ftp/$USER user_sub_token=$USER chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd guest_enable=YES guest_username=ftp ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=NO force_local_logins_ssl=NO ssl_tlsv1=YES ssl_sslv2=YES ssl_sslv3=YES rsa_cert_file=/etc/ssl/private/vsftpd.pem
(我不确定这是否适用于您的情况,但解决了我拒绝的vsftpdlogin)
在/etc/pam.d/vsftpd (因为你包含pam_service_name=vsftpd ),有一行代码如下:
auth required pam_shells.so
如果没有评论,那么即使给出的用户名和密码是正确的,也不会接受没有有效的loginshell(例如/bin/false )的用户。 您可能想要注释掉该行:
# auth required pam_shells.so
然后再试一次。