【发布时间】:2022-01-31 02:47:55
【问题描述】:
我的目标:我的 windows 10 客户端可以使用访客帐户(无需密码)访问、查看和执行 Ubuntu 服务器共享的 .exe 文件。
预期结果:当我在文件资源管理器中键入 \ubuntu-server-hostname\bakro 时,我可以看到并执行 .exe 文件
实际结果:Windows 无法访问 \ubuntu-server-hostname\bakro 错误代码:0x80004005 未指定错误
其他观察:
- 当我在 Windows 10 客户端上运行
net use \\ubuntu-server-hostname\bakro时,结果为System error 53 has occurred. The network path was not found. - 我可以使用 smbclient 从 ubuntu 服务器访问共享文件。
当我运行smbclient -L \\\\ubuntu-server-hostname时,我可以看到那里列出了 bakro。
当我运行smbclient \\\\ubuntu-server-hostname\\bakro进入smb 命令行并输入ls以列出共享内的文件时,我可以看到.exe 文件。
在这两种情况下,我都被要求提供我当前的用户帐户密码。我按回车键(空白密码)作为回应。
我使用systemctl status smbd检查了日志,结果是多行session closed for user samba-guest。时间似乎与我通过smbclient访问共享的时间一致。 - ubuntu 服务器也在运行 OpenVPN 服务器。 OpenVPN 服务器使用 10.8.0.0/24 子网并分配 10.8.0.1 ip 地址。如果我使用同一台 Windows 10 计算机连接到 OpenVPN 服务器,然后通过在文件资源管理器中键入
\\10.8.0.1来访问 samba 共享,我可以看到列出的文件夹 bakro。我可以浏览文件夹并执行 .exe 文件(这是我想要的和预期的结果)。此访问尝试使用systemctl status smbd记录在 samba 日志中。
我做了什么:
- 根据观察 #1,我将主机名替换为服务器公共 IP 地址。通过
net use和文件资源管理器访问它会产生相同的结果。两次尝试都没有记录在通过systemctl status smbd获得的 samba 日志中。 - 根据观察#1 和#2,我使用
ufw status检查了Ubuntu 服务器防火墙。 Samba 被列为允许通过 ipv4 和 ipv6。我还检查了服务器的安全组。端口 445 TCP 被列为允许。
我已尝试禁用 ufw 并设置安全组以允许从任何地方连接到所有端口,但我仍然无法访问共享。 - 根据观察#3,我使用
ip link show获得了网络接口列表。得到3个接口:lo(环回)、eth0(互联网)、tun0(OpenVPN)。我在 smb.conf 中添加了interfaces = lo eth0。结果:我无法从\\ubuntu-server-hostname\bakro和\\10.8.0.1\bakro访问共享。 - 我尝试将guest 帐户从samba-guest 更改为nobody。除了日志现在显示
session closed for user nobody之外没有任何变化。 - 我尝试将
client min protocol = SMB2和client max protocol = SMB3添加到smb.conf source - 在 Windows 10 客户端的高级共享设置中更改了文件共享连接以启用 40 位和 56 位加密。
小观察:
- 我发誓我在第一次设置 samba 服务时使用同一台 Windows 10 计算机测试了文件共享功能(但我的记忆充其量是不可靠的)
- 我还尝试通过其他 2 台 Windows 7 计算机上的文件资源管理器访问 \ubuntu-server-hostname\bakro,结果相同。
以下是我的smb.conf的内容:
# Global parameters
[global]
disable netbios = Yes
guest account = samba-guest
interfaces = 0.0.0.0/0
log file = /var/log/samba/log.%m
logging = file
map to guest = Bad User
max log size = 1000
obey pam restrictions = Yes
pam password change = Yes
panic action = /usr/share/samba/panic-action %d
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd program = /usr/bin/passwd %u
security = USER
server role = standalone server
server string = ubuntu-samba-server
unix password sync = Yes
usershare allow guests = Yes
idmap config * : backend = tdb
[printers]
browseable = No
comment = All Printers
create mask = 0700
path = /var/spool/samba
printable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[bakro]
guest ok = Yes
path = /srv/files/bakro
【问题讨论】:
-
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。
-
你搞定了吗?看来我有一个非常相似的问题