Windows 7 - Samba 共享 - 多个凭证

Windows 7 - Samba 共享 - 多个凭证

我的家庭设置有一个 Linux 服务器,它提供多个共享服务,每个共享都有不同的用户和密码。

即:public,user1,user2

\\server\public我可以通过用户和密码单独连接到我的共享。

但是,一旦我输入了其中一个共享的凭据,似乎我就无法访问同一台机器上的任何其他共享。

有没有解决的办法?

答案1

按照这里的答案Samba+Windows:允许不同用户的多个连接?,我认为 Windows 客户端没有解决方案。

所以我给我的 Linux 服务器添加了几个别名:/etc/samba/smb.conf

[global]
    unix extensions = no
    netbios aliases = ALIAS1 ALIAS2 ALIAS3
    wide links = yes
    workgroup = WORKGROUP
    os level = 20
    follow symlinks = yes
    wins support = true

然后我使用不同的网络用户和密码连接到每个别名。

答案2

我知道这已经过时了,但我也遇到过类似的问题。我发现可以通过将文件夹设置为公共共享来解决此问题,同时还为已设置其他文件夹的用户添加访问权限。

我的设置(用于 /etc/samba/smb.conf 中的公共共享):

[Share]
    comment = Public Share
    path = /path/to/target/folder
    available = yes
    browsable = yes
    writeable = no
    public = yes
    valid users = user1 user2 user3 # These users are set up with their own shares

这样,授权用户可以使用他们的凭据访问公共文件夹。

编辑:所以我正在学习如何浏览这个网站,当然仍然围绕 Linux,显然还有 Windows!

按照上述方法设置后,一切似乎都正常了,我岳父母带了他们的笔记本电脑过来,我用它做了一些工作,然后检查了我的网络共享设置。我的判断有点正确。所以从那时起,我又做了一些测试。

我对公开分享的最终设置是:

[share]
comment = Public Share
path = /path/to/public/share
guest ok = yes
guest account = nobody
browsable = yes
writeable = no
public = yes

当然,Ubuntu(20.04)允许我独立挂载我的私有和公共共享,除了私有共享的密码外无需回答任何问题。

Windows 7 似乎允许我按该顺序或反向安装公共和私有。(先公用,然后私有,或私有,然后公用。)似乎如果我的 Win7 帐户的用户名和密码与 SAMBA 共享帐户的用户名和密码相同,它将直接登录到匹配的私有共享。(通过尝试打开不属于我的共享进行确认,并要求提供凭据。)

另一方面,Windows 10 仅在私有共享先挂载时才允许挂载两个共享。至少在第一次挂载时,或者随机挂载时。如果保存了私有共享的密码,并且两个共享都设置为“登录时挂载”,则似乎可以顺利运行。

答案3

具有多个 netbios 别名的解决方案非常棒,因为它是在服务器上完成的,并且可以从网络上的任何设备访问。但是有些设备在设置中没有此选项,也不允许您直接编辑配置文件。

我找到了一个适用于 Windows 的简单解决方法:

您可以在 C:\Windows\System32\drivers\etc 中编辑 localhost 文件

您必须首先获得保存对 hosts 文件的更改的权限。您可以以管理员身份运行纯文本编辑器(notepad、notepad++)并导航到应用程序内的文件,或者您可以授予自己永久权限:

  1. 用鼠标右键单击它并选择“属性”。
  2. 进入“安全”选项卡并点击“编辑”。“主机权限”窗口将打开。
  3. 单击“添加”并输入您的 Windows 帐户名,然后单击“确定”。
  4. 您回到“主机权限”窗口。确保在“组或用户名”框中选择了您的用户名,然后在下面的框中勾选“允许”列中的“完全控制”复选框。
  5. 在弹出的窗口中单击“应用”,然后单击“是”。然后再次单击“确定”和“确定”。

您现在可以在任何纯文本编辑器(如记事本、notepad++)中打开您的 hosts 文件,并将您的别名添加到文件末尾。

写下服务器的 IP,后面跟着空格,后面跟着别名。例如:

192.168.1.126 用户.服务器
192.168.1.126 用户2.服务器
192.168.1.126 用户3.服务器

然后您可以简单地通过 \\User2.Server 访问您的共享或将其映射为网络驱动器。

相关内容