Samba CATIA 文件名映射

Samba CATIA 文件名映射

我正在使用 dovecot 和 postfix 运行 Ubuntu Server 12.04.2 LTS 作为 ActiveDirectory 连接的邮件服务器。这部分一切正常。

现在我们要导出邮件存储以进行备份。我安装了 Samba 并将其加入到域中。我的 Samba 共享如下所示:

[全球的]
        名称混乱 = 否

[邮件商店]
        评论 = 邮件存储
        路径 = /srv/vmail
        有效用户 = 管理员
        强制用户=vmail
        强制组=vmail

我现在可以使用管理员帐户(备份应用程序使用的帐户)访问邮件存储。

浏览邮件存储时,我看到文件名包含“:”,这对于 Windows 来说是无效的。Dovecot 使用它来向邮件目录中的文件名添加某种状态信息。我想保留它。但 Windows 无法读取这些文件。

因此,经过一些谷歌搜索后,我发现以下解决方案可以解决此问题:

[邮件商店]
        vfs 对象 = catia
        catia:映射 = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6,0x20:0xb1

但是,尽管“:”(0x3a)被映射,但在使用 Windows 资源管理器浏览共享时,它对文件名没有影响。文件名没有改变。

我试过了mangled names = Yes,但这只会破坏文件名,直到无法使用。它会将所有包含非法字符的文件名转换为 8.3 格式 - 我们不能使用它进行恢复。而且我认为它无论如何都不会对 VFS 设置产生影响。

那么为什么 samba 不使用 VFS 模块呢?我在日志中看不到有关它的错误。并且“locate”显示了安装的相应库 vfs_catia.so。根据文档,samba 版本应该支持此配置:

# smbd -V
版本 3.6.3

答案1

我在 12.04 和 dovecot 上遇到了同样的问题,去 Google 上搜索并找到了解决方案。

在其中找到一个补丁邮政

下载补丁(作为附件.bin),然后按照以下(旧)说明进行操作: http://www.cmiss.org/cmgui/wiki/BuildingUbuntuPackagesFromSource 从源代码构建 Ubuntu 软件包。您需要“samba”软件包......

(在某处创建一个有 23MB 空间的文件夹...)

apt-get source samba
apt-get build-dep samba

现在您要将下载的补丁应用到source3/modules/vfs_catia.csamba-3.6.3 文件夹中的文件:。我不知道如何使用“补丁”应用差异,因此手动应用它 - 它只有 3 行。在 samba-3.6.3/ 文件夹中重建 samba 包:

dpkg-buildpackage -rfakeroot -b

我的构建失败了,但是它确实创建了:

samba-3.6.3/source3/bin/catia.so

当复制到

/usr/lib/samba/vfs/catia.so

重新启动 Samba 即可提供正确的 vfs catia 字符映射 :-)

感谢 Günter Kukkukk 提供的补丁!!!

相关内容