LINUX.ORG.RU

Проблема с пересохранением файла в MS Excel через cifs

 , , ,


1

1

Проблема. Имеется MS Excel 2010, установленный при помощи PlayOnLinux (wine 1.8 и 4.3 - проверял эти версии), lubuntu 18.04.2. Имеется сетевой диск. Создаю новый файл на сетевом диске - сохраняется. При попытке внести изменения в этот файл при сохранении выдается ошибка - «Невозможно сохранить изменения в 'Книга2.xlsx' из-за конфликта доступа. Попробуйте сохранить данные в другом файле». Аналогичная проблема с MS Excel 2013. При этом с другого компьютера на Windows такой проблемы нет. Также, такой проблемы нет, если файл пересохранять на локальном диске. Что делать, куда копать?

Рабочее окружение и настройки: 1. Конфиг smb.conf на файловом сервере:

[global]
workgroup = FAETON
netbios name = faetonfs
server string = %h server (Samba, Ubuntu)
dns proxy = yes
log file = /var/log/samba/log.%m
max log size = 1000
map to guest = bad user
usershare allow guests = yes

[documents]
comment = documents on faetonfs
path = /home/sambafolders/documents
guest ok = yes
browsable = yes
writable = yes
read only = no
create mask = 0777
directory mask = 0777
2. На клиентской машине подключается следующим образом в fstab:
//192.168.88.5/documents /home/documents\040on\040faetonfs cifs guest,rw,nofail,x-gvfs-show,iocharset=utf8,file_mode=0777,dir_mode=0777,uid=<пользовательxxx>,gid=<группаxxx>,vers=2.0
3. Папка на клиентской машине, на которую маунтится:
drwxrwxrwx  2 <пользовательxxx> <группаxxx>      0 мар  3 23:13 documents on faetonfs/
Прочитал про алгоритм пересохранения в офисе: https://support.microsoft.com/ru-ru/help/271513

В целевой папке, указанной в диалоговом окне Сохранить как, Excel создает временный файл со случайным именем (например, Cedd4100@@@[,] без расширения имени файла). В этот временный файл записывается вся книга. Если сохраняются изменения существующего файла, Excel удаляет исходный файл. Excel изменяет имя временного файла, присваивая ему имя, указанное в диалоговом окне Сохранить как (например, Book1.xls).

Было предположение, что каким-то образом у процесса офиса отсутствуют права на удаление файла. Но не подтвердилось: написал макрос удаления файла, запустил - файл удалился.

Упростил ситуацию. На windows машине сделал расшаренную папку, дал все права, на клиентской linux машине подмаунтил ее. Результат тот же. И на MS Excel 2010 и на 2013. Я, получается, пришел к выводу, что под wine нельзя в Excel пересохранять документы через cifs? Быть такого не может... Большая просьба откликнуться тем, у кого работает. Может папку маунтить каким-то особенным образом надо?

mike_mm ()
Ответ на: комментарий от mike_mm

Я, получается, пришел к выводу, что под wine нельзя в Excel пересохранять документы через cifs?

Дай больше инфы по файлу. Как его видит линь?

$ ls -l file.xls
$ stat file.xls
Deleted ()
Ответ на: комментарий от Deleted
-rwxrwxrwx 1 <юзер> <группа>   8436 мар  8 19:43  Книга2.xlsx*

  Файл: Книга2.xlsx
  Размер: 8436      	Блоков: 2048       Блок В/В: 16384  обычный файл
Устройство: 32h/50d	Inode: 8010154     Ссылки: 1
Доступ: (0777/-rwxrwxrwx)  Uid: ( 1000/<юзер>)   Gid: ( 1000/<группа>)
Доступ: 2019-03-08 19:43:54.228284600 +0300
Модифицирован: 2019-03-08 19:43:54.132871900 +0300
Изменён: 2019-0

Я решил проблему!! Была в версии, которая указывается при монтировании. Было vers=2.0, а нужно было 1.0

Но вообще странно конечно.

mike_mm ()
Ответ на: комментарий от mike_mm

Я решил проблему!! Была в версии, которая указывается при монтировании. Было vers=2.0, а нужно было 1.0

А что дока по cifs говорит об этом?

Deleted ()
Ответ на: комментарий от mike_mm

По доке, 2.0 был введен, начиная с Vista SP1

С Vista говоришь. Это случайно не начало махинаций MS с так называемой «безопасностью»? Помнится была там лажа с «закаченными» файлами. Так называемые «файлы из ненадёжного источника». Не оно?

Deleted ()
Последнее исправление: Deleted (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.