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

Samba 4 vs MS Office - Ошибка доступа к файлу для сохранения, открытия и чтения работ

Описание

Я борюсь с довольно старой (хорошо известной) проблемой, используя последний пакет samba 4. Продукты MS Office 2010 отказываются сохранять новый (или измененный) файл в общей папке samba и отображают сообщение вида:

«Произошла ошибка доступа к файлу \ sambashare \ smbtest \ testfile.pptx».

Эта конкретная проблема сохраняется только с файлами MS Office 2010 (docx, pptx, xlsx). Открытие и чтение файлов работают нормально, но когда дело доходит до изменения или сохранения нового файла, это не работает. Обратите внимание, что ВСЕ другие типы файлов, включая старые продукты MS Office (например, MS Office 2003), работают нормально.

Окружающая среда

ОС (сервер): CentOS release 6.2 (Final) - ОС (клиент): Windows 7 - Версия Samba: samba-4.1.11

Другие подобные случаи:

а) Samba Share - MS Excel при сохранении «нет доступа к файлу, есть несколько возможных причин»

б) https://lists.samba.org/archive/samba/2011-De December/165327.html

Я читал множество «разрешенных» случаев с такого рода ошибками, но все они используют старые версии самбы (3. *). Решения, предлагаемые для этих случаев, не работают для новой версии samba, поскольку некоторые параметры устарели. Я надеялся, что эта проблема будет решена в самбе 4, но на самом деле этого не произошло.

Конфигурация

Также я провел серию тестов, изменив файл smb.conf. Вот то, что у меня есть на данный момент.

[smbtest]
comment = samba test workspace
path = /sambashare/smbtest
valid users = @g-staff
force group = g-staff
browseable = yes
writeable = yes
read only = no
guest ok = no
directory mask = 2770
force directory mode = 2770
create mask = 2775
force create mode = 2775

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

Поддержка пришла от одного из разработчиков Samba.

Похоже, эта проблема была вызвана моей текущей конфигурацией IBM GPFS (сетевая файловая система), а не Samba.

Решение проблемы

Доступны следующие 2 обходных пути:

А) Примените «особые» настройки:

Для GPFS 1.3.1.0 или выше -> включить настройку GPFS для переименования файлов с использованием доступа SMB2:

  1. Используя SSH, подключитесь к активному узлу управления как пользователь root.

  2. Выполните следующую команду, чтобы установить флаг cifsBypassShareLocksOnRename:

[root@gpfsmngtserver ~]# mmchconfig cifsBypassShareLocksOnRename=yes -i
mmchconfig: Command successfully completed
mmchconfig: Propagating the cluster configuration data to all affected nodes. This is an asynchronous process.
  1. Проверьте настройки:
[root@gpfsmngtserver ~]# mmfsadm dump config |grep -i cifs
cifsBypassShareLocksOnRename 1    <---- check that this is now set to 1
cifsBypassTraversalChecking 0

Повторное подключение сетевых дисков или перезагрузка клиентов не требуется.

Примечание. Поддержка SMB2 будет автоматически повторно включена после применения обновления. Пожалуйста, проверьте и повторно примените любые обходные пути, которые могут потребоваться для обновленной версии, особенно если обходной путь был применен до обновления.

ИЛИ

Б) Отредактируйте и сохраните файлы локально на клиенте, а затем скопируйте эти файлы в общий сетевой ресурс.


Ссылки Страница поддержки IBM: http://www-01.ibm.com/support/docview.wss?uid=ssg1S1004008

Страница Samba Bugzilla: https://bugzilla.samba.org/show_bug.cgi?id=10774