在安装了带有较新版本 Samba 的新操作系统后,我无法访问我的共享。我可以浏览到特定共享,但只能浏览到顶层。从日志中我可以看出,Samba 配置中的“强制用户”似乎在初始连接后不再有效。详情如下。
我在存储服务器上安装了新版本的 CentOS。我安装的旧 CentOS (4?) 有 samba 版本 3.0.33,新 CentOS 使用 3.5.10。不涉及域/AD... 只是家庭工作组。没有真正的安全性... 只是一些共享被隐藏,一些共享被定义为只读。这是我的配置:
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = luna
security = share
# logs split per machine
log file = /var/log/samba/log.%m
log level = 2
# max 50KB per log file, then rotate
max log size = 50
winbind use default domain = Yes
[strge]
comment = please
path = /storage
browseable = yes
read only = no
force user = windowsguest
force group = users
guest ok = yes
所以……我遇到的问题是“强制用户”似乎只适用于初始连接,我可以看到所有顶级文件夹。当我深入到某个文件夹时,我被拒绝访问 - 这似乎是由于我的 Windows 用户信息被发送(尝试验证 xuser - 一个不存在的 samba 用户,因此映射到任何人并失败)。以下是 smb 错误消息:
[2012/11/29 14:30:27.326195, 2] auth/auth.c:314(check_ntlm_password)
check_ntlm_password: Authentication for user [xuser] -> [xuser] FAILED with error NT_STATUS_NO_SUCH_USER
[2012/11/29 14:30:27.326251, 2] auth/auth.c:314(check_ntlm_password)
check_ntlm_password: Authentication for user [nobody] -> [nobody] FAILED with error NT_STATUS_NO_SUCH_USER
大多数顶级目录的权限是 755,有些是 777。无论如何,都无法访问它们。如果我执行 chown -R windowsguest.users ... 没有变化... 但是如果我执行 chmod -R 到 777 或 755,它们就会变得可浏览... 但仍然无法创建文件(即使是 777 的文件)。
不确定它扮演什么角色(如果有的话)...但必须在新操作系统安装下重新创建用户 windowsguest,uid 和 gid 与旧用户匹配。
据我所知,主要问题似乎是 samba 没有维护“强制用户” - 但我可能完全错了。
客户端操作系统是 win7 pro x64。
谢谢您的任何建议或忠告!