On Linux, you have a choice of several different FTP servers; each of the servers providing its own ways to configure anonymous access to some part of the server's file system. Usually, FTP servers provide access to different directories on server's file system on per-user basis, and the anonymous user can be treated as one of the users. You need to perform the search for Linux or Unix FTP servers and learn about features of each.
Using C# code as a FTP client can be based on the class
System.Net.FtpWebRequest
; you will find some code samples here:
http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx[
^].
One completely different approach could be installing Mono on Linux and developing some custom application with file sharing. Mono is cross-platform implementation if CLR, its compatibility with .NET is wonderful. I use it for solving most tricky problems of cross-platform applications. See
http://en.wikipedia.org/wiki/Mono_%28software%29[
^],
http://www.mono-project.com/[
^]. The code developed on Windows can be run under Mono on Linux and other platforms (even most tricky Mac OS X) without recompilation.
—SA