Назад | Перейти на главную страницу

Блокировка файлов Samba

Я хочу настроить свой самба-сервер следующим образом:

  1. Клиент 1 открывает файл A
  2. Клиент 2 пытается открыть файл A, пока он открыт на Клиенте 1
  3. Клиенту 2 предоставляется доступ к файлу только для чтения.

Изменить: все клиенты будут компьютерами с Windows XP или Windows 7.

Согласно эта страница, то, что я хочу, было бы ближе всего к режиму запрета DENY_DOS, но я не могу заставить этот параметр вступить в силу.

Любая помощь будет принята с благодарностью.

Вы не можете заставить все программы использовать механизм блокировки файлов, предоставляемый samba. Многие «простые» приложения просто открывают файл, делают локальную копию (в памяти или на локальном диске), а затем закрывают исходный файл, поэтому блокировка длится только до тех пор, пока выполняется действие открытия и копирования. Блокнот - один из примеров этого. Тем более, что это особенность большинства программ, а не недостаток.

Подумайте, что произойдет, если приложение выйдет из строя, но блокировка все еще на месте. Программы, использующие блокировку файловой системы, должны знать об этом и его последствиях и иметь механизм восстановления и снятия блокировки. Вот почему «простые» приложения избегают блокировки файловой системы.

Если вы действительно хотите использовать какие-то сообщения об использовании для всех приложений, вам следует использовать систему управления версиями. Как уже упоминалось в другом месте о serverfault, это не обязательно техническая проблема, скорее социальная: вам будет сложно убедить нетехнических людей на самом деле ее использовать.