I'm on SLES 10.1, and trying to configure vsftpd to allow root logins. Does anyone know how to do this?
So far, I have this:
local_enable=YES
chroot_local_user=NO
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.users
And I've added root to /etc/vsftpd.users. When I try to log in, here's what I get:
$ ftp susebox Connected to susebox.example.com. 220-FTP Server (user '[email protected]') 220 User (susebox.example.com:(none)): root 331-Password: 331 Password: Connection closed by remote host. C:\>
BTW, if you don't know the answer, please don't bother lecturing me about how I shouldn't allow root logins. I know what I'm doing, and I accept full responsibility for any ruptures in the space-time continuum that may result.
DISCLAIMER: Enabling root login for FTP is a Very Bad Idea for many, many reasons.
Edit your
vsftpd.conf
file, and add the following line:Edit
user_list
andftpusers
and comment out "root".For those (like me) using VSFTPD on Ubuntu server in mid-2013, it appears that root is allowed to login via secure SFTP by default, no special changes necessary.
However, if you really need plain old FTP access, all I had to do was:
And comment out the line with
root
on it by placing a#
at the start. Save the file, and reloading the server is not even necessary.BEWARE: This potentially allows the root password to be transmitted over the network, completely unencrypted, in PLAIN TEXT. It's a very bad idea unless you're working on a local virtual machine.
vi /etc/pam.d/vsftpd
-> if you use vsftpdfind
Make it to be
sense= allow
or you can uncommentscript
above it, or modify the file:ftpusers or add another ftpusers filesfor Debian 8 Jessie, you just need to edit
/etc/ftpusers
and comment out or delete root. nothing else needed, just restart vsftpdVsftpd can use pam for authentication, so I suggest you check /etc/pam.d/vsftpd. You will probably find it is pam that has been configured to prevent root from logging in.
In newer versions, you may need to change
pam_service_name=vsftpd
topam_service_name=ftp
near the end of your/etc/vsftpd.conf
file. Otherwise, you may get a login authentication error for root (or any user) even though permissions are otherwise correct.As 2020, after a fresh install of vsftpd, the only step required is changing /etc/ftpusers from:
To
The ftpuserlist file explicitly lists users that are disallowed FTP access.
Also,
If you're using software controlled firewall(Like UFW or IPTables), make sure to open the FTP ports and also configure VSFTPD passive mode:
pasv_enable=Yes
pasv_max_port=10100
pasv_min_port=1009
pasv_address=xxx.xxx.xxx.xxx
You should select a port range that fits your network/needs, then, afterwards allow this port range on your firewall, otherwise you'll keep getting a constant '227 Entering Passive Mode' followed by a disconnection.
If you're using Amazon EC2, Google Cloud, Azure or any other solution, make sure to also allow those ports on the Security Groups/Firewall Rules on the console.