Samba:从 Windows 访问问题

ars*_*anb 3 samba

我正在尝试通过 Debian 上的 Samba 3 从 Windows 机器访问 NTFS (ntfs-3g) 共享。

当我尝试net use命令时,我在 Windows 上收到此错误:

发生系统错误 5。

访问被拒绝。

,我确定这不是由于密码错误,因为那将是

发生系统错误 86。

指定的网络密码不正确。

我在全局下有这样的 /etc/samba/smb.conf 设置:

   security = user
Run Code Online (Sandbox Code Playgroud)

和分享:

  valid users = @users
  force group = users
  create mask = 0777
  directory mask = 0777
  writeable = Yes
  browseable = yes
  guest ok = no
Run Code Online (Sandbox Code Playgroud)

“$ sudo testparm -s”命令的输出包含在特定共享下:

valid users = %S
force group = users
create mask = 0700
directory mask = 0700
Run Code Online (Sandbox Code Playgroud)

任何可能出错的线索/提示?如果需要更多信息来解决问题,请告诉我。谢谢。

JKi*_*Kim 7

该错误似乎表明 Samba 服务器上不存在用户帐户。

一个常见的疏忽是忘记除了 unix 用户帐户之外,您还需要添加一个 Samba 用户。因此,在您创建了 unix 用户帐户之后,您需要通过发出以下命令来添加 Samba 帐户:

sudo smbpasswd -a <username>
Run Code Online (Sandbox Code Playgroud)

您可以列出您现有的 Samba 帐户:

sudo pdbedit -L
Run Code Online (Sandbox Code Playgroud)

对于 security = user 和 Windows 客户端,如果 Windows 用户帐户和密码与 Samba 用户帐户和密码不同,我发现预测 Windows 将发送到服务器的凭据有点棘手。为了尽量减少混淆,我倾向于设置帐户,以便这些凭据匹配。

此外,为了尽量减少变量,您可能希望在 Debian 机器上开始故障排除并在那里运行 smbclient:

smbclient \\\\<server>\\share --user <username>
Run Code Online (Sandbox Code Playgroud)

系统将提示您输入用户密码。如果成功,您将收到 smb 客户端提示。发出“ls”命令以获取共享内容的列表。如果您能看到这一点,那么我会说 Samba 很好,并且是 Windows 发送了意外的凭据,在这种情况下,您可以尝试在 net use 命令中指定要显式使用的凭据。