URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID14
Нить номер: 2615
[ Назад ]

Исходное сообщение
"Samba vs Windows 7 vs Office 2007 2010 excel lock"

Отправлено Anarbor , 10-Фев-14 20:23 
Добрый день,
есть несколько сетевых папок на сервере Debian с samba 3.6.6

Внезапно MS Excel при открытии файлов начал выдавать сообщение "файл открыт пользователем <другой пользователь*>"

*если файл действительно открыт другим пользователем, то отображено имя пользователя - иначе просто "другой пользователь"    

При открытии в режиме "открыть и уведомить о доступности" файл сообщает о доступности через несколько секунд.
smbstatus не отображает блокировок этих файлов.
  
В логах при этом происходит следующее:
Feb 10 15:49:32 file_server smbd[10098]: user_name|user_ip|user_NB_name|share_name|pwrite|ok|path/to/file/~$file_name.xlsx
Feb 10 15:49:32 file_server smbd[10098]: user_name|user_ip|user_NB_name|share_name|unlink|ok|path/to/file/~$file_name.xlsx

Файлы блокируются совершенно случайным образом (если у файла случилась такая блокировка - сама не пропадает).
Рестарт самбы и пользовательских машин не помогает.

Буду пытаться выудить ошибку full_audit'ом на всё, но может кто-то уже сталкивался?

  


Содержание

Сообщения в этом обсуждении
"Samba vs Windows 7 vs Office 2007 2010 excel lock"
Отправлено izyk , 11-Фев-14 00:20 
Is it help?
????
veto oplock files = $file_name.xlsx
????

"Samba vs Windows 7 vs Office 2007 2010 excel lock"
Отправлено Anarbor , 11-Фев-14 00:42 
>  Is it help?
>  ????
> veto oplock files = $file_name.xlsx
>  ????

Thanks for Your answer.
I'll try it but I think it would not help.
Because I've disabled all oplocks for test and still got same situation.

Really weird situation. Looks like MS Excel trying create lock file (~$f_name.xlsx), got timeout (samba is little bit overloaded on that server) when trying find this file and decided that main file is opened by another user.

Отключение oplock files на временные файлы excel не помогает.

Складывается впечатление что:
0. Excel проверяет наличие временного файла.
1. Excel открывает файл и одновременно пытается создать временный ~$f_name.xlsx
2. Пытается найти временный файл и работать с ним.
3. Временного файла не видно (самба немного перегружена) и excel решает что файл кем-то заблокирован
4. Через несколько секунд excel пробует ещё раз и всё хорошо.

Звучит как идиотизм но другого объяснения пока не вижу.


"Samba vs Windows 7 vs Office 2007 2010 excel lock"
Отправлено izyk , 11-Фев-14 01:16 
Не совсем понял, вы вообще отключили oplocks = no,
или только на временные файлы?

Да, перегружать надо всех и сразу.

Если есть возможноть, перенесите "share" на Windows (msdfs for help).


"Samba vs Windows 7 vs Office 2007 2010 excel lock"
Отправлено Anarbor , 11-Фев-14 01:34 
> Не совсем понял, вы вообще отключили oplocks = no,
> или только на временные файлы?
> Да, перегружать надо всех и сразу.
> Если есть возможноть, перенесите "share" на Windows (msdfs for help).

Для тестирования сделал на пару минут oplocks = no.

Перезапустил самбу + и пользователя у которого были проблемы - не помогло.

msdfs попробовать получится не раньше субботы.

Больше всего раздражает отсутствие возможности воспроизвести ошибку.
Пока работает, попробую найти в почтах "оригиналы" тех файлов и провести эксперимент  - после первого такого открытия и получения нормального доступа все пользователи спокойно работают с этими же файлами без проблем.



"Samba vs Windows 7 vs Office 2007 2010 excel lock"
Отправлено izyk , 11-Фев-14 02:03 
blocking locks = no
Судя по описанию, может, подойти.
Все, больше предположений нет.
strict locking = no - Так уж, докучи.
Успехов.



"Samba vs Windows 7 vs Office 2007 2010 excel lock"
Отправлено izyk , 11-Фев-14 02:08 
strict locking = yes
Sorry.

"Samba vs Windows 7 vs Office 2007 2010 excel lock"
Отправлено Anarbor , 11-Фев-14 02:21 
>  blocking locks = no
>  Судя по описанию, может, подойти.
>  Все, больше предположений нет.
>  strict locking = no - Так уж, докучи.
>  Успехов.

strict же кажется по умолчанию выключен,  а blocking по умолчанию и даруют свободу приложениям работать с блокировками так как им нравится?
Впрочем попробую и отпишусь.


"Samba vs Windows 7 vs Office 2007 2010 excel lock"
Отправлено name , 11-Фев-14 17:57 
не совсем по теме, но похожая комбинация Samba vs Windows 7 vs Office
сервер самбы и клиенты входят в один домен, так же есть клиенты вне домена.
на определенных каталогах включены через acl права rwx для всех.
Если в таком каталоге клиент вне домена создаст файл, то пользователь домена не может его отредактировать.
Включить на весь сетевой каталог маску на файлы нельзя, тк есть куча подкаталогов, в которых наследуются разные права доступа.
В гугле искал, но все время попадаются стандартные статьи и советы, непонятно по каким ключевым словам искать.

вот конфиг http://pastebin.com/q1XHtb70


"Samba vs Windows 7 vs Office 2007 2010 excel lock"
Отправлено Anarbor , 11-Фев-14 18:29 
>[оверквотинг удален]
> сервер самбы и клиенты входят в один домен, так же есть клиенты
> вне домена.
> на определенных каталогах включены через acl права rwx для всех.
> Если в таком каталоге клиент вне домена создаст файл, то пользователь домена
> не может его отредактировать.
> Включить на весь сетевой каталог маску на файлы нельзя, тк есть куча
> подкаталогов, в которых наследуются разные права доступа.
> В гугле искал, но все время попадаются стандартные статьи и советы, непонятно
> по каким ключевым словам искать.
> вот конфиг http://pastebin.com/q1XHtb70

Стоит попробовать inherit owner = yes
И посмотреть с какими атрибутами создается файл НЕ_ДОМЕННЫМ пользователем при force unknown acl user = yes (аудиту дописать логирование acl)


"Samba vs Windows 7 vs Office 2007 2010 excel lock"
Отправлено name , 11-Фев-14 21:15 
каталог и файл создаются не_доменным пользователем, нужно чтобы доменный пользователь мог изменить полученный файл
=======конфиг==========
inherit owner = YES
#force unknown acl user = yes
=======результат=======
getfacl 1
# file: 1
# owner: root
# group: SRV\134none
user::rwx
group::rwx
group:пользователи\040домена:rwx
group:оит:rwx
group:администраторы\040домена:rwx
mask::rwx
other::rwx
default:user::rwx
default:group::rwx
default:group:пользователи\040домена:rwx
default:group:оит:rwx
default:group:администраторы\040домена:rwx
default:mask::rwx
default:other::rwx

getfacl 1/тестовый2.xls
# file: 1/тестовый2.xls
# owner: root
# group: MEDIALOG-SRV\134none
user::rwx
group::rwx                      #effective:r--
group:пользователи\040домена:r#effective:r--
group:оит:rwx           #effective:r--
group:администраторы\040домена:r#effective:r--
mask::r--
other::r--
=======конфиг==========
#inherit owner = YES
force unknown acl user = yes
=======результат=======
getfacl 2
# file: 2
# owner: nobody
# group: SRV\134none
user::rwx
group::rwx
group:пользователи\040домена:rwx
group:оит:rwx
group:администраторы\040домена:rwx
mask::rwx
other::rwx
default:user::rwx
default:group::rwx
default:group:пользователи\040домена:rwx
default:group:оит:rwx
default:group:администраторы\040домена:rwx
default:mask::rwx
default:other::rwx

getfacl 2/тестовый2.xls
# file: 2/тестовый2.xls
# owner: nobody
# group: MEDIALOG-SRV\134none
user::rwx
group::rwx
group:пользователи\040домена:rwx
group:оит:rwx
group:администраторы\040домена:rwx
mask::rwx
other::r--
=======конфиг==========
inherit owner = YES
force unknown acl user = yes
=======результат=======
getfacl 3/
# file: 3/
# owner: root
# group: SRV\134none
user::rwx
group::rwx
group:пользователи\040домена:rwx
group:оит:rwx
group:администраторы\040домена:rwx
mask::rwx
other::rwx
default:user::rwx
default:group::rwx
default:group:пользователи\040домена:rwx
default:group:оит:rwx
default:group:администраторы\040домена:rwx
default:mask::rwx
default:other::rwx

getfacl 3/тестовый.xls
# file: 3/тестовый.xls
# owner: root
# group: SRV\134none
user::rwx
group::rwx                      #effective:r--
group:пользователи\040домена:r#effective:r--
group:оит:rwx           #effective:r--
group:администраторы\040домена:r#effective:r--
mask::r--
other::r--
=======конфиг==========
#inherit owner = YES
#force unknown acl user = yes
=======результат=======
getfacl 4/
# file: 4/
# owner: nobody
# group: SRV\134none
user::rwx
group::rwx
group:пользователи\040домена:rwx
group:оит:rwx
group:администраторы\040домена:rwx
mask::rwx
other::rwx
default:user::rwx
default:group::rwx
default:group:пользователи\040домена:rwx
default:group:оит:rwx
default:group:администраторы\040домена:rwx
default:mask::rwx
default:other::rwx

getfacl 4/тестовый.xls
# file: 4/тестовый.xls
# owner: nobody
# group: SRV\134none
user::rwx
group::rwx
group:пользователи\040домена:rwx
group:оит:rwx
group:администраторы\040домена:rwx
mask::rwx
other::r--
===========================
я уже окончательно запутался... теперь как будто все работает
редактирую доменным - нормально
потом редактирую гостем - нормально
снова доменным и опять работает
Excel 2003


"Samba vs Windows 7 vs Office 2007 2010 excel lock"
Отправлено Anarbor , 11-Фев-14 21:41 
>[оверквотинг удален]
> group:оит:rwx
> group:администраторы\040домена:rwx
> mask::rwx
> other::r--
> ===========================
> я уже окончательно запутался... теперь как будто все работает
> редактирую доменным - нормально
> потом редактирую гостем - нормально
> снова доменным и опять работает
> Excel 2003

Я правильно понял, что в итоге заработало с вариантом force unknown acl user = yes (как и было в конфиге) и с вариантом вообще без него?


"Samba vs Windows 7 vs Office 2007 2010 excel lock"
Отправлено name , 12-Фев-14 16:09 
> Я правильно понял, что в итоге заработало с вариантом force unknown acl
> user = yes (как и было в конфиге) и с вариантом
> вообще без него?

вроде как да, но есть проблема в другом месте с таким конфигом
в каталоге пользователь домена редактирует файл, и у файла слетают права

getfacl КМ-6/
# file: КМ-6/
# owner: root
# group: пользователи\040домена
user::rwx
group::r--
group:пользователи\040бухгалтерии:rwx
group:оит:rwx
group:администраторы\040домена:rwx
group:бухгалтерия:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:пользователи\040домена:r--
default:group:пользователи\040бухгалтерии:rwx
default:group:оит:rwx
default:group:администраторы\040домена:rwx
default:group:бухгалтерия:rwx
default:mask::rwx
default:other::r-x

getfacl КМ-6/КМ-6-1_ФЕВРАЛЬ-2014г..xls
# file: КМ-6/КМ-6-1_ФЕВРАЛЬ-2014г..xls
# owner: sobolevaln
# group: пользователи\040домена
user::rwx
group::r--
group:пользователи\040бухгалтерии:r--
group:оит:r--
group:администраторы\040домена:r--
group:бухгалтерия:r--
mask::rwx
other::r--

getfacl КМ-6/test.xls
# file: КМ-6/test.xls
# owner: novoselovaa
# group: пользователи\040домена
*** glibc detected *** getfacl: realloc(): invalid next size: 0x00000000012eaed0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x76d76)[0x7fc9554a0d76]
/lib/x86_64-linux-gnu/libc.so.6(+0x7c94c)[0x7fc9554a694c]
/lib/x86_64-linux-gnu/libc.so.6(realloc+0xf0)[0x7fc9554a6c60]
/lib/x86_64-linux-gnu/libacl.so.1(+0x430c)[0x7fc9559bd30c]
getfacl[0x4028cf]
getfacl[0x403243]
getfacl(walk_tree+0x8c)[0x40378c]
getfacl[0x401c06]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7fc955448ead]
getfacl[0x401d55]

oh sh...