I have set up vsftpd for private FTP. Only authenticated users in the ftp group can login. Also, every user is chrooted to its home directory (/home/username)

chroot_local_user=YES

I can log in, browse, download, but I'm not allowed to upload files. I get 550 Access is denied message from Windows Explorer

In order to tweak I did the following:

I made sure that the directory is user-writable (chmod g-rwx o-rwx u+w -R /home/username), I chose to do g-rwx otherwise it could be accessible via SSH by people in the users group that don't get chrooted. I made sure that directory and children elements are owned by user (forced chown -R as root) but they didn't help.

I found no useful thing in /var/log/messages file. I believed that vsftpd runs as the logged in user and I found confirmation running htop.

What kind of permission problem could cause this behaviour? If I go with SFTP with the same user I can do everything I want!

Thank you

link|improve this question

73% accept rate
feedback

1 Answer

There should be an option named write_enable in the configuration file.

As stated in the manpage:

write_enable
   This controls whether any FTP commands which change the filesystem are allowed or not. These commands    
   are: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE and SITE.

   Default: NO

it defaults to NO, so that might be the cause.

link|improve this answer
Already active... – djechelon Jan 24 at 13:26
@djechelon Are you using virtual users? – MrShunz Jan 24 at 15:46
No they are all local UNIX users with each its own home directory. I have set up one so far... – djechelon Jan 24 at 16:12
@djechelon Aa side note, try looking also into /var/log/syslog and /var/log/daemon[.log] for errors – MrShunz Jan 24 at 16:33
feedback

Your Answer

 
or
required, but never shown

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