How to configure vsftpd to allow root logins?

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.


Solution 1:

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:

userlist_deny=YES

Edit user_list and ftpusers and comment out "root".

Solution 2:

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:

sudo nano /etc/ftpusers

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.

Solution 3:

vi /etc/pam.d/vsftpd -> if you use vsftpd

find

auth blablabla sense=deny file=/etc/ftpusers 

Make it to be sense= allow or you can uncomment script above it, or modify the file:ftpusers or add another ftpusers files