Public Folder (Read only)

By Public folder i mean one that does not require a Login when accessing it from the web.

Basically i want a folder that only a user can write to but anyone who types in the ftp address can access. Basically i want to be automatically able to generate a link to a file and have it able for anyone i share that link with be able to download it.

I was thinking about making a Flask web server to handle the login information and generate all the links but this may open up some security issues. Rather than having an accessible user/pass combo. id rather just configure a public area.

Has anyone else tried this before who can give me pointers. The FTP server is already configured for TLS/SSL connections

I thought there’s already share link by email function from those WD pc/mobile apps so you can send it to anyone? Sorry I don’t use them as much.

Your idea of Flask web server I haven’t seen them for MyCloud so far, best 3rd party I could recommend is OwnCloud. Look for my recent post on WebHosting-Mods.

Making a public area can be accomplished in several ways:

  1. From the MyCloud DashBoard, create a new user and share with or without password and share them with the public. WARNING with this means anyone who’s using this public account will also be able to access your main Public share via FTP! Use with care!

  2. Allow anonymous FTP logins to only one predefined new public folder. Warning, changes might void your warranty:-

Create a new read-only chroot path under /nfs e.g. mkdir -pm0555 /nfs/anonymous;.

Create a new public writeable path under /nfs e.g. mkdir -pm0777 /nfs/anonymous/public;.

Edit the conf:

nano /etc/vsftpd.conf;

Change below (you can change several *anon* settings to suit your needs but below are required):
anonymous_enable=YES
anon_root=/nfs/anonymous

CTRL+[x] to exit, [y] to save.

Add anonymous to the user list: (note this might reset if you administer users via MyCloud DashBoard. Remember to re-add if you do)

echo anonymous>>/etc/user_list;

Restart the daemon:

service vsftpd restart;

Thanks for the instructions. I went with option 2 manually editing the file

managed to get it all working :slight_smile: