Is Filezilla running from a particular user.
How to give this user access to read only directories F:\\data\\public?
As I understand it, in addition to this directory, you will have to give him access to read and traverse F:\\, F:\\data.
But NTFS works inheritance, and other directories will inherit them unnecessary rights.
For example F:\\data\\private inherit from F:\\data the right to read.
Can all the sub-directories also need to disable inheritance and specify the desired rights, but it is inconvenient because (firstly it can be a lot) when you create, for example F:\\data\\foo it is by default will inherit the right to read from F:\\data and need to remember to set right.
It would be optimal for F:\\ and F:\\data to set up their own law and separate law, which will be inherited by nested directories in them. But it seems such a scenario is not provided.