Я использую Ubuntu Server 12.04.2 LTS в качестве почтового сервера, подключенного к ActiveDirectory, используя dovecot и postfix. Все отлично работает в этой части.
Теперь мы хотим экспортировать почтовое хранилище для целей резервного копирования. Я установил samba и подключил его к домену. Вот так выглядит мой общий ресурс samba:
[global] mangled names = No [MailStore] comment = Mail Storage path = /srv/vmail valid users = Administrator force user = vmail force group = vmail
Теперь я могу получить доступ к почтовому хранилищу с помощью учетной записи администратора (которая используется приложением резервного копирования).
При просмотре почтового хранилища я вижу имена файлов, содержащие «:», что недопустимо для Windows. Dovecot использует его для добавления некоторой информации о состоянии к именам файлов в maildirs. Я хочу оставить это так. Но Windows не может прочитать эти файлы.
Итак, после некоторого поиска в Google я нашел следующее решение, которое должно это исправить:
[MailStore] vfs objects = catia catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6,0x20:0xb1
Но хотя «:» (0x3a) отображается, оно не влияет на имена файлов при просмотре общего ресурса с Проводник Виндоус. Имена файлов не изменены.
Я пытался mangled names = Yes
, но это только сжимает имена файлов до непригодности. Он преобразует все имена файлов с недопустимыми символами в формат 8.3 - мы не можем использовать это для восстановления. И я не думаю, что это все равно повлияет на настройки VFS.
Так почему же Samba не использует модуль VFS? Я не вижу ошибок об этом в журналах. И "locate" показывает соответствующую установленную библиотеку vfs_catia.so. Версия samba должна поддерживать эту конфигурацию в соответствии с документами:
# smbd -V Version 3.6.3
У меня была такая же проблема с 12.04 и dovecot, я поехал в Google и у меня есть решение.
Скачали патч (как attachment.bin) и следовали этим (старым) инструкциям: http: //www.cmiss .org / cmgui / wiki / BuildingUbuntuPackagesFromSource о сборке пакета Ubuntu из исходного кода. Вы хотите пакет 'samba' .....
(создайте папку где-нибудь с местом для загрузки 23 МБ ....)
apt-get source samba
apt-get build-dep samba
Теперь вы хотите применить загруженный патч к файлу: source3/modules/vfs_catia.c
в папке samba-3.6.3 , Я не мог понять, как применить diff, используя 'patch', поэтому применил его вручную - это всего 3 строки. Перестройте пакет samba в папке samba-3.6.3 /:
dpkg-buildpackage -rfakeroot -b
Моя сборка сорвана, но она создала:
samba-3.6.3/source3/bin/catia.so
, которая при копировании в
[ 113]и перезапуск Samba дает правильное сопоставление символов vfs catia: -)
Спасибо Гюнтеру Куккукку за патч !!!