Вы можете использовать статические методы классов System.IO.File
для получения необходимой информации:
DateTime written = File.GetLastWriteTime(fileName);
DateTime accessed = File.GetLastAccessTime(fileName);
DateTime created = File.GetCreationTime(fileName);
Это должно работать и для файлов, которыми ваш Linux-сервер поделился через samba. Также вы можете запустить этот .Net-код с помощью mono на компьютере с Linux, но, похоже, не все файловые системы Linux правильно поддерживают все перечисленные выше методы .
Обновление:
Вы можете использовать ftp и опросить его вместо общего сетевого ресурса. Чтобы получить доступ к дате и времени, вы можете отправить ftp-веб-запрос с WebRequestMethods.Ftp.GetDateTimestamp
на сервер.
Но, возможно, я неправильно понял ваши требования: вам нужно проверять файлы с одного компьютера на 3? Или эти 3 машины должны проверять свои файлы независимо друг от друга? Результаты должны быть собраны одной "службой"? Или результаты относятся только к одной машине, к которой принадлежит файл?