Вечер добрый!
Вкратце обрисую проблему.
С помощью curlftpfs на slackware подмонтирована ftp-шара, расположенная на windows-сервере.
Код: Выделить всё
# curlftpfs -o allow_other root:123456@192.168.10.6 /mnt/smb/* 10 подсеть - просто поднят тоннель.
На slackware крутится firebird, обрабатывающий заявки, поступающие с кпк экспедиторов. Мониторит он папку /mnt/smb (точка монтирования нашей ftp шары). На виндовом сервере (где наша шара) крутится обработка 1С, которая раз в 10 минут вываливает в эту шару десяток файлов. Пока 1С за свой цикл создает эти 10 файлов она кладет перво-наперво в эту папку loc файл пустой, чтобы firebird не начал пережевывать эти файлы до их полной выгрузки в шару. Как только все файлы выгружены, обработка 1С удаляет loc файл и firebird обрабатывает эти файлы, создав перед этим свой loc файл. Обработал - файл удалил и оставил в шаре свой файлик выгрузки (1 шт), который обработка 1С через 10 минут съедает и начинает свою работу, по окончании которой в шаре оказывается десяток ее файлов. Цикл закончен.
Раньше оба эти сервера жили на одном гипервизоре и находились в одной подсети. Шара монтировалась не как удаленный ftp ресурс, а просто по самбе. Сервера сейчас физически разъехались, по самбе шару теперь не поднять из-за слабого канала - она просто отваливается ежеминутно.
Когда я делаю обмен вручную - монтирую шару по фтп, копирую с помощью mc файлы в папку /mnt/smb, firebird их съедает и отдает свой файл, который я закидываю назад в шару.
При копировании этого файла из линукса, mc копирует его, но при этом ругается на
но файл при этом копирует
не могу разобраться - то ли прав доступа не хватает, то ли еще что-то.
Результатом этой несостыковки выходит то, что firebird не может создать свой loc файл в шаре и выполнить свою обработку (под рутом я свободно создаю и удаляю файлы в подмонтированной ftp-шаре)
При подключении шары по самбе такой проблемы не было.
Что я делал:
1. Назначил права 777 на /mnt/smb
2. Назначил в виндовом ftp-сервере для ftp-юзера максимальные права пользователя (user-pass те же, что и рут на линуксе)
3. На виндовой шаре так же доступ дал полный для everyone
Та же ругань.
Лог firebird говорит
Ошибка создания файла блокировки данных.
То есть он не может в примонтированной ftp-шаре создать файл. Хотя я сам под рутом - могу!
***
Насколько я понимаю, нужно понять под каким пользователем firebird (или java, с которой он работает) выполняет свои операции с файлами и монтировать шару с полными правами для этого пользователя?
Как это сделать? =)