Samba 与具有特殊字符的活动目录组

Samba 与具有特殊字符的活动目录组

我在使用 Samba 和 Active Directory 组时遇到了问题,其中包含特殊字符,例如“@”(空格)。

例如,我有一个名为“名字姓[电子邮件保护]',我在 Samba 中分享:

[share_city]
    path = /data/share_city
    create mask = 0660
    directory mask = 2771
    force create mode = 0660
    create mode = 0660
    browseable = Yes
    browsable = Yes
    recycle:repository = .RecycleBin$/%U
    vfs object = recycle:repository recycle:keeptree
    write list = @"name.surname [email protected]"
    recycle:keeptree = yes
    recycle:versions = yes
    recycle:touch = no
    recycle:exclude = *.tmp|*.temp|*.obj|~$*
    recycle:exclude_dir = /tmp|/temp|/cache
    recycle:maxsize = 1073741824
    recycle:noversions = *.mdb
    admin users = adminad

使用 smbclient 我可以连接共享:=> ls 没问题

smb: \> ls
.                                   D        0  Fri Nov 25 18:55:31 2011
..                                  D        0  Fri Nov 25 17:34:39 2011
test3                               D        0  Fri Nov 25 18:55:31 2011
    56569 blocks of size 8388608. 52263 blocks available

=> mkdir 不起作用

smb: \> mkdir test4
NT_STATUS_MEDIA_WRITE_PROTECTED making remote directory \test4

因此,如果我使用系统访问进行测试,则一切都正常,并且 acl 继承也能正常工作

并且对于同一活动目录中不包含字符的组,一切运行良好。

我所尝试做的事情有可能实现吗?

答案1

从 AD 的角度来看,组/安全主体名称中禁止使用的字符非常少。特别是 @ 符号是允许的。禁止使用的字符包括:

前导空格;尾随空格;以及以下任意字符:

# , + " \ < > ;  

但是,如果您希望“Pre-Windows 2000”名称与 CN 匹配,则您可能不会使用:

/ \ [ ] : ; | = , + * ? < > "  

请注意,实际上,AD 允许您使用井号 (#) 创建组。还请注意,“samAccountName”属性是“Windows 2000 之前”的名称,因此大多数人会坚持使用该不允许的字符列表。

更多信息:

Active Directory 对象名称
http://technet.microsoft.com/en-us/library/cc776019%28WS.10%29.aspx

相关内容