我有两台 Ubuntu 机器,我可以通过 Windows 机器上的终端(通过 PuTTY)访问它们。
我在一台 Ubuntu 机器上使用脚本创建网络共享(以及访问它们的用户),并在另一台 Ubuntu 机器上使用脚本挂载这些共享。共享创建脚本对要创建的每个共享使用以下代码行:
chmod -R 777 /media/hdd/shares/$Username
useradd $Username
(echo $Password; echo $password) | smbpasswd -a -s $Username
echo >> /etc/samba/smb.conf
echo [$Username] >> /etc/samba/smb.conf
echo path = /media/hdd/shares/$Username >> /etc/samba/smb.conf
echo browsable = yes >> /etc/samba
echo read only = no >> /etc/samba/smb.conf
echo writable = yes >> /etc/samba/smb.conf
echo valid users = $Username >> /etc/samba/smb.conf
(在发生任何操作之前,脚本会将 smb.conf 文件恢复为其默认的无共享状态)
此代码迭代两次,每次使用不同的 $Username 和 $Password。$Username 和 $Password 值存储在两台 Ubuntu 计算机都可以访问的文件中,以便另一台计算机可以使用相同的值并安装共享。这很顺利;两个共享都安装在另一台计算机上。
但是,在 Windows 上,我只能挂载两个共享中的一个。我完全不知道如何解决此问题。我怀疑两个用户帐户之间可能存在差异,但我不知道在哪里检查。
我需要在 Windows 上安装这两个共享。我该如何解决这个问题?
编辑:已解决。通过将“有效用户”切换为“强制用户”,现在其行为已符合预期。不知道这会带来什么不同。
编辑 2:实际上并未解决。切换到“强制用户”允许任何有效凭据集访问任何共享。我已重新使用“有效用户”。一位朋友使用另一台 Windows PC(我们都是 Win10 1709)尝试连接共享,但他只能连接到我无法访问的共享,这个问题变得更加有趣。