You can use the System.IO.File
classes static methods to get information you need:
DateTime written = File.GetLastWriteTime(fileName);
DateTime accessed = File.GetLastAccessTime(fileName);
DateTime created = File.GetCreationTime(fileName);
This should work for files shared by your linux server via samba too. Also you can run this .Net code with mono on the linux machine - but it seems that not all linux filesystems support all of the above methods properly.
Update:
You could use a ftp and poll that instead of a network share. To access the date time filed you can send a ftp-webrequest with WebRequestMethods.Ftp.GetDateTimestamp
to the server.
But maybe I've got your requirements wrong: do you need to check files from one machine on 3 machines? Or should those 3 machines check their files independently from each other? Are the results meant to be gathered by one "service"? Or are the results only relevant to the one machine the file belongs to?