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

我在Samba和Active Directory组中遇到了问题,这些组包含特殊字符(如'@'''(空格)')。

例如,我有一个名为“ name.surname [email protected] ”的组,我在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 

所以如果我testing系统访问所有的工作和ACLinheritance工程也

而在同一个活动目录中不包含字符的组都可以正常工作。

我正试图做甚至可能吗?

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

领先的空间; 尾随空间 和任何以下字符:

 # , + " \ < > ; 

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

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

请注意,在实践中,AD将允许您使用散列符号(#)创build组。 另外请注意,“samAccountName”属性是“Pre-Windows 2000”的名称,所以大多数人会坚持不允许的字符列表。

更多信息:

活动目录对象名称
http://technet.microsoft.com/en-us/library/cc776019%28WS.10%29.aspx