我必须将我的 Ubuntu Server 升级到 14.04,它带有 Samba 4.1(我以前使用 Samba 3)。我必须从 security = share 切换到 security = user,因为看起来第一个似乎不再受支持。经过一番努力,我终于让它工作了,但仍然有一个问题。
当我在 Windows 资源管理器中输入我的 \\[服务器 IP] 时,系统会提示我输入网络凭据。我需要输入任何用户名,它就通过了访问。当我直接连接到共享时也会发生同样的情况,输入任何用户名也会有所帮助。
是否可以配置服务器,使其不提示输入凭据?或者这可能是 security = user 的预期行为?或者可能是某些 Widows 问题?
log.smbd 或 log.nmbd 中没有错误。
这是我的测试参数输出:
[global]
netbios name = MY_SERVER
server string = %h server (Samba, Ubuntu)
map to guest = Bad User
dns proxy = No
idmap config * : backend = tdb
[repository]
path = /home/repo/repository
force user = repo
force group = repo
read only = No
create mask = 0644
guest ok = Yes
[tools]
path = /home/repo/tools
force user = repo
force group = repo
read only = No
create mask = 0644
guest ok = Yes
答案1
如果您想使用guest ok
,那么您必须确保 Linux 上的 Samba 客户帐户确实对相应的共享具有完全访问权限。
摘自 Samba 手册guest account
:
这是用于访问指定为 guest ok 的服务的用户名(见下文)。此用户拥有的任何权限都将提供给连接到来宾服务的任何客户端。此用户必须存在于密码文件中,但不需要有效的登录名。
如果您不确定标准的访客账户,请在这里自行定义。
另请查看Samba 维基匿名访问。
答案2
你失踪了
security = user
在[global]
部分中。