I have added ssl_enable=YES to vsftpd.conf to enable secure connection as per this tutorial: https://www.digitalocean.com/community/tutorials/how-to-configure-vsftpd-to-use-ssl-tls-on-an-ubuntu-vps

Now, how can create exception for a particular user so that plain FTP connection is allowed for that user only?


The user gets only known and authenticated after the TLS handshake is done - protecting the login is one of the reasons to use TLS in the first place. And because the user is not known before TLS is started it is also not possible to disable TLS for a specific user. One can only make the use of TLS optional, i.e. offer both. To have this force_local_logins_ssl and force_local_data_ssl have to be set to NO.

  • Creating TLS optional does not solve the problem of secure connection. It is same as not having TLS enabled at all. I am using a service which does not support TLS so I only want TLS disable for that user. – user221458 Nov 14 '20 at 9:35
  • @user221458: TLS optional means that a user might use TLS or might not. Thus the specific user which does not support TLS might simply not use it while all other can do it. So it fits the requirement for this specific user. If you want to have the option for user user to use TLS it would fit this requirement too, since they can use TLS if the want. If you instead want to force all other users to use TLS then this requirement is not met since they can still decide to not use TLS. It is unclear what your actual requirements are in this detail though. – Steffen Ullrich Nov 14 '20 at 9:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.