Anonymous FTP server - Windows cannot access this folder

I have a USB flash drive mounted

# mount | grep 'sda'
/dev/sda1 on /mnt/sda1 type vfat (rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

vsftpd from repos
/etc/vsftpd.conf

background=YES
anon_root=/mnt/sda1/ftp
listen=YES

anonymous_enable=YES
write_enable=YES
local_umask=022
check_shell=NO

ftp_username=ftp
anon_upload_enable=NO
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
no_anon_password=YES
session_support=NO

local_enable=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.users

syslog_enable=YES

/etc/vsftpd.users

root
ftp
anonymous

OpenWRT 23.05 on ASUS RT-AC51U. When I connect to in from Windows 10 Explorer, I get

I used How to set up an anonymous user without a password in vsftpd - #3 by ali2022 as an example.

Can user "anonymous" connectwith ftp.exe or any visual client?

Which command to use?
If

ftp 192.168.1.1

then enter login anonymous, no, I get
500 OOPS: cannot change directory:/home/ftp

1 Like

how does these two correlate ?

2 Likes

I don't know.
Btw if I enter login "root" and root's password,
230 Login successful.

are you saying you're surprised root can do anything, anywhere ?

3 Likes

Check logread -e ftp
zI think it serks ftp usr homedir relative to anon root?

~# logread -e ftp
Wed Jan 22 17:27:22 2025 authpriv.info useradd[5894]: failed adding user 'ftp', data deleted
Wed Jan 22 17:29:24 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 17:29:55 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 17:30:06 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 17:30:07 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 17:30:08 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 17:30:08 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 17:30:08 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 17:30:10 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 17:30:21 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 17:30:21 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 17:30:27 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 17:46:36 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 18:09:47 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 18:10:37 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 18:11:01 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 18:14:20 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 18:19:21 2025 ftp.info vsftpd[1]: [root] OK LOGIN: Client "192.168.1.130"
Wed Jan 22 18:20:23 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"
Wed Jan 22 18:20:36 2025 ftp.info vsftpd[1]: [root] OK LOGIN: Client "192.168.1.130"
Wed Jan 22 18:29:53 2025 ftp.info vsftpd[1]: [ftp] OK LOGIN: Client "192.168.1.130", anon password "<no_password>"

ftp <> anonymous ?

Didn't understand it. Sorry, I'm not a native speaker.

There are 3 users. Look at my vsftpd.users in the first post.

let's set the ftp user aside for a moment, try the config posted in Anonymous vsftpd uploads not working?, adapted to your local environment, of course.

500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Copy-pasted the config since I have the same mount point.

probably need to add allow_writeable_chroot=YES.

In my original config it seems like wrong root directory is used.

I added. Same error.

O RLY?

I'm getting a deja vu feeling from the 1st reply I posted ...

I'd like to know how to fix it. I've no idea.

That is normal, anonymous eq ftp eq fetch

~# ls -al /mnt/sda1/ftp/
drwxrwxrwx    3 root     root          8192 Jan 22 16:35 .
drwxrwxrwx    4 root     root          8192 Jan  1  1970 ..
drwxrwxrwx    2 root     root          8192 Jan 22 16:35 uploads