Я пытаюсь настроить vsftp на использование PAM для аутентификации виртуальных пользователей на моем сервере Arch. Кажется, так прямо, я должен пропустить что-то простое.
/etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd_login crypt=hash account required pam_userdb.so db=/etc/vsftpd_login crypt=hash session required pam_loginuid.so
/etc/vsftp.conf
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES ftpd_banner=Welcome to MCID's FTP server. chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list listen=YES # nopriv_user=virtualftp # SSL Configuration # ssl_enable=YES # allow_anon_ssl=NO # force_local_data_ssl=NO # force_local_logins_ssl=YES # ssl_tlsv1=YES # ssl_sslv2=YES # ssl_sslv3=YES # rsa_cert_file=/etc/ssl/certs/vsftpd.pem # rsa_private_key_file=/etc/ssl/certs/vsftpd.pem # Passive Port Range pasv_min_port=49152 pasv_max_port=65534 # Added settings for PAM virtualftp logins pam_service_name=vsftpd guest_enable=YES guest_username=virtualftp virtual_use_local_privs=YES # Private folders for virtual users local_root=/srv/ftp/$USER user_sub_token=$USER
иanonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES ftpd_banner=Welcome to MCID's FTP server. chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list listen=YES # nopriv_user=virtualftp # SSL Configuration # ssl_enable=YES # allow_anon_ssl=NO # force_local_data_ssl=NO # force_local_logins_ssl=YES # ssl_tlsv1=YES # ssl_sslv2=YES # ssl_sslv3=YES # rsa_cert_file=/etc/ssl/certs/vsftpd.pem # rsa_private_key_file=/etc/ssl/certs/vsftpd.pem # Passive Port Range pasv_min_port=49152 pasv_max_port=65534 # Added settings for PAM virtualftp logins pam_service_name=vsftpd guest_enable=YES guest_username=virtualftp virtual_use_local_privs=YES # Private folders for virtual users local_root=/srv/ftp/$USER user_sub_token=$USER
В настоящее время я могу войти в систему с sftp://theherk@sftp.example.com
, мой местный пользователь просто в порядке. Однако, если я попытаюсь войти в систему с test1, я получаю разрешение на отказ. Что мне не хватает или смущает?
Попробуйте это для виртуальных пользователей, чтобы разрешить доступ к записи:
virtual_use_local_privs=YES