我有 Windows Server 2012,上面有 AD 和其他角色。我有一个在 HyperV 中运行的 Ubuntu VM。其他一切都运行良好。Apache 等。我设置了 Samba 和共享。共享显示正常。在 Windows 客户端上,我打开它们,即使我已禁用来宾访问,也不会提示我输入凭据。我尝试将其映射到网络驱动器,并选择用户另一个用户选项,但仍然不行。我有对共享的读取权限。在 CHMOD 777 共享文件夹后,它会让我写入,但我不想要那样。此外,我还检查并删除了与 Ubuntu 服务器相关的 Windows 凭据管理器中所有已保存的凭据。
我创建了一个名为“eg”的 samba 用户,如下面的配置所示。这也是我用来管理 Ubuntu 服务器的 unix 用户的名称。我检查了 /var/log/samba 文件夹,但今天的所有日志都是 0 字节。
以下是我的共享配置:
[EG Home]
comment = EG User Home Share
path = /home/eg
valid users = eg
browsable = yes
guest ok = no
read only = no
create mask = 0775
writeable = Yes
write list = eg
[EG Web]
comment = Web Files
path = /www/
valid users = eg
browsable = yes
guest ok = no
read only = no
create mask = 0775
writeable = Yes
write list = eg
答案1
我在网上搜索了一下,发现这个方法对我有用。只需在 smb.conf 中的任何位置添加此行即可。我把它放在我的共享前面。我认为这没关系,然后我重新启动了整个服务器,很可能只需要执行 Samba,但我想确保设置生效:
[global]
admin users = root, smbadmin, [continue to list your Samba users you want to add to admins]
security = user
答案2
我也遇到了同样的问题。我不得不删除
map to guest = Bad User
从配置文件来看,原因是 Windows 尝试使用您的 Windows 用户名/密码登录服务器。当此方法无效时,服务器会将您映射为访客,然后 Windows 会出于安全原因拒绝连接。
答案3
您可以将 Samba 共享的凭据添加到 Windows 凭据管理器。您不会看到弹出窗口,但您可以访问共享,因为 Windows 将使用凭据管理器的凭据。
转到 Windows 凭据管理器
选择 Windows 凭据
单击“添加 Windows 凭据”
输入主机名或 IP 地址以及您的用户名和密码。