Vsftpd.conf doesn't seem to be working


Hi, I have an interesting quandry… I need to make it so all files uploaded by local users have the umask 002, and I’ve specificed that in/etc/vsftpd/vsfptd. conf and restarted vsftpd, but it still seems like all files uploaded by local users retain whatever their original permissions were on the remote system


I have vsftpd running on the system ‘server’ (CentOS 5.4)

On the system ‘server’ I have a user named ‘user1’

I’ve enabled local user login, and I’m able to connect to the server as ‘user1’ via FTP. So far so good.

I have a file named ‘file’ on my home system ‘home-client’ and ‘file’ has permissions 744

On ‘server’ i have ‘local_umask=002’ defined (and I’ve restarted vsftpd)

In theory, at this point, I should be able to connect via FTP using the ‘user1’ login, and I should be able to upload ‘file’ to the server, and the file on the server SHOULD have the permissions 775, but instead it still retains the permissions it had on the ‘home-client’ system (ie, 744)

Why is vsftpd ignoring the directive I’ve specified in /etc/vsftpd/vsftpd.conf ??

How can I smack it upside the head and tell it to follow the rules from now on like a good little daemon should?

Any insight would be great.

In case it matters, the FTP client I’m using is gFTP 2.0.19




Thanks to jMCg from #vsftpd on freenode:

[17:18] l337ingDisorder: I suppose that depends on how your client implements the copy - you’d have to chmod_enable=NO, to see the difference with stubborn clients…

jMCg was in fact correct - I was using gFTP which was being over-zealous and chmodding all the uploads to have the same properties they had on my local system. I can see how that could be handy in some cases but it caused a bunch of frustration here!

So turns out vsftpd was behaving fine all along, the problem was in my client settings.

Setting chmod_enable=no in my /etc/vsftpd/vsftpd.conf file made the server simply reject the CHMOD command from my ftp client (which means that it not only fixes the problem with my client, but also with anyone else’s client that might be trying to propagate properties after the file transfer completes).

Thanks to jMCg and to the creators of #vsftpd on freenode!


I’m having the same issue. When a user uploads files to their folder, the permissions are being set to: rw-r–r--

Using three different ftp clients, the result is the same.

I have edited vsftpd.conf to be:

vsftpd has been restarted.

So, how do you know what configuration it actually loading with? For example, I removed /etc/vsftpd.conf and started and stopped the vsftpd daemon and it made no complaint that the config file was missing.