我在一台 Linux 机器上有一个正常运行的“公共”/“客户” Samba 共享;“/etc/samba/smb.conf”如下所示:
[shared]
comment = Shared Directory
writable = yes
read only = no
create mask = 0644
directory mask = 0755
path= /home/myuser/shared
browseable = yes
guest ok =yes
这相同的smb.conf 文件被复制到另一台 Linux 机器;并且 Samba 重新启动。
原始服务器允许我无需提供用户名或密码即可访问它;新服务器始终要求提供用户名和密码(实际上,我认为应该使用的每种组合在任何情况下都不起作用)。
除了“smb.conf”之外,还有其他设置需要我更改吗?
我希望这个共享是公开的,不需要用户名/密码 - 即,像我从中复制“smb.conf”的原始服务器一样运行。
附加:我刚刚运行“testparm -v”并至少看到以下差异:
原始服务器在 [global] 部分有以下内容:
security = SHARE
而新服务器有这个:
security = USER
但是我在新机器上的‘smb.conf’文件中也设置了‘security = USER’(毕竟我使用的是‘smb.conf’的副本)?
这里是否存在压倒一切的配置?
更新:
啊:看起来我在这里使用‘samba4’——它显然已经弃用了‘安全共享’模式。
http://ubuntuforums.org/showthread.php?t=1962617
.... 有几篇帖子指出这样做:
map to guest = Bad User
应该模拟“共享”功能 - 但它似乎对我不起作用。(我正在连接 Windows7 客户端;并且我添加了“samba”用户)。
(另外:我的配置有‘坏用户’-小写)......
答案1
好的 - 我有一个适合我的解决方案(但仍然不理想,见下文)
我添加了一个“samba”用户,如下所示:
sudo smbpasswd -a arthur
其中“arthur”与我的 Windows 域帐户名匹配(不带“domain\”前缀)。
另外我似乎必须设置它的密码以匹配我的 Windows 域帐户密码。
我(猜测)这样做的原因是:我注意到我的 Windows7 对话框要求输入域用户;似乎使用 Windows 验证我的域用户名/密码;以及然后将相同的凭据传递给 Samba 服务器。
所以:这对我来说有点用;但并不理想 - 因为:
每个用户都需要这样做(我们的想法是分享这个目录一次;但看起来每个用户都需要添加他们自己的用户名 - 因为我不知道他们的密码)。
我的域密码可能在某些时候与 Samba 用户密码不同步。