尝试从 Windows 客户端连接时出现 Samba 身份验证问题

尝试从 Windows 客户端连接时出现 Samba 身份验证问题

我有一台运行 Ubuntu 和 Samba 的 Linux 服务器。我在 Samba 中创建了两个共享,它们指向用户“cameron”拥有的目录。

当我尝试在 Windows 7 上连接这些共享时,它会连接并允许我查看文件,但它们是只读的。这是访客用户所需的操作,但不是经过身份验证的用户所需的操作。

我在 Windows 客户端上的用户是“Cameron”,并且密码与 Linux 用户“cameron”相同。

我认为我的 Windows 用户没有对 Linux 用户进行身份验证。我甚至创建了一个 users.map 文件来将用户 cameron (linux) 映射到 Cameron (windows),但仍然不起作用。

这是我的 Samba 配置文件(更新)

[global]
    server string = %h server (Samba, Ubuntu)
    map to guest = Bad User
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    username map = /etc/samba/users.map
    syslog = 0
    log file = /var/log/samba/log.%m
    max log size = 1000
    os level = 65
    preferred master = Yes
    dns proxy = No
    wins support = Yes
    usershare allow guests = Yes
    panic action = /usr/share/samba/panic-action %d
    valid users = cameron
    write list = cameron

[www]
    path = /usr/local/apache2/htdocs
    write list = @www-data
    force group = www-data
    guest ok = Yes

[cameron]
    path = /home/cameron
    write list = @www-data
    force group = www-data
    guest ok = Yes

答案1

  • Samba 日志中是否有身份验证错误?
  • 磁盘上的文件是否具有适当的权限?如果文件在磁盘上是只读的,则无论您告诉 samba 什么都没有关系。

附注:如果您在 Windows 和 Linux 中的用户名相同,则无需将用户添加到用户映射文件中。

答案2

我通过记录共享文件夹的属性解决了服务器上的问题。我的组为 admin,用户为 Bj。

因此,我在想要分享的部分配置文件中输入了以下内容:强制组 = admin 强制用户 = Bj

现在,我网络上的所有计算机都可以读取和写入该文件夹。

答案3

您还没有告诉 Samba 如何进行身份验证。如果这是您自己的一个小型服务器,您可以使用用户安全性。

security = user和添加encrypt passwords = yes到全局部分,然后运行“smbpasswd cameron”来设置 Samba 的密码。密码不必与您的 unix 或 windows 密码匹配,但匹配您的 windows 密码会让事情变得更轻松。

然后重新启动 samba 并且您就能登录。

答案4

对我来说,有帮助的是使用命令设置与 Samba 相关的密码: sudo smbpasswd -a username其中“用户名”必须是来自 Linux 机器的登录名。然后在 Windows 机器上使用此登录名和此命令设置的密码,它就可以正常工作了。

相关文档:https://ubuntu.com/tutorials/install-and-configure-samba#4-setting-up-user-accounts-and-connecting-to-share

相关内容