从我的 Windows 电脑连接到 Ubuntu 上的 Samba 服务器时出现问题

从我的 Windows 电脑连接到 Ubuntu 上的 Samba 服务器时出现问题

我正在做一个学校项目,我必须在 Linux 上设置一个基本的 Samba 服务器,以便在两台计算机之间共享文件(我只需要展示它的工作情况),其中一台计算机是一台在虚拟控制台上运行 Linux 的笔记本电脑,我在上面设置了服务器,另一台是我的 Windows 台式计算机,我尝试在上面访问 Samba 服务器上的文件,但我无法让它工作!我的服务器正在运行,但我无法将我的台式计算机连接到它。我的 smb.conf 文件如下所示。

[global]
; General server settings
netbios name = YOUR_HOSTNAME
server string =
workgroup = YOUR_WORKGROUP
announce version = 5.0
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 
SO_SNDBUF=8192

passdb backend = tdbsam
security = user
null passwords = true
username map = /etc/samba/smbusers
name resolve order = hosts wins bcast
wins support = yes


printing = CUPS
printcap name = CUPS

syslog = 1
syslog only = yes

[print$]
path = /var/lib/samba/printers
browseable = yes
guest ok = yes
read only = yes
write list = root
create mask = 0664
directory mask = 0775

[printers]
path = /tmp
printable = yes
guest ok = yes
browseable = no

[MyFiles]
path = /home/samba/
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0755
force user = YOUR_USERNAME
force group = YOUR_USERGROUP

我也尝试将安全性更改为 = 共享,这样它就不会要求输入用户或密码,并且任何连接到网络的人都可以访问服务器,但我仍然无法在我的 Windows 计算机上找到服务器

答案1

当我遇到 Samba 问题时,我总是从切换到以太网电缆开始。如果我的共享是通过以太网连接的,我无法通过 wifi 连接到它(尽管我可以毫无问题地使用 ssh)。然后我尽可能地简化共享,不使用花哨的掩码和强制选项,只测试它是否有效。如果不行,那么我会检查日志以查看它是否被任何安全机制阻止(可能是防火墙、iptables、selinux)。对于家庭使用,我会关闭所有安全性并再次测试。然后,如果它有效,我会在 smb.conf 中制定我的共享策略并重置 smb 和 nmb。然后我检查我的共享是否仍然有效。然后我重新打开我的安全性,一个接一个地找出哪一个阻止了我的 smb。这就是你可以学习使用 selinux 的方法。我忘了提到最重要的事情。始终检查权限和 Samba 配置的主机部分。你必须确保你的共享具有 unix 权限。

答案2

您可能需要确保已为 Samba 配置了用户。尝试 smbpasswd -a [user](需要映射到 unix 用户)。还可以尝试将日志级别设置得更高,并在 /var/log/samba/log.smbd 中查找线索,一旦用户可以连接,它也应该创建一个 log.[clientname]。如果仍然有问题,请尝试连接到共享并从交换中发布一些日志。

相关内容