全局参数

全局参数

我对 Ubuntu 还不太熟悉,在 Samba 共享方面遇到了问题。我在服务器上安装了 Ubuntu 20.04,在桌面上安装了 win10。我创建的共享文件夹(smb.conf 或 Nautilus)均未显示。奇怪的是,显示的某些文件夹可以从服务器和 win10(hassio 文件夹)访问。我假设 Samba 正在运行,只是我错过了一些配置或有什么东西在干扰。

jaco@jaco-server:~$ testparm -s

从 /etc/samba/smb.conf 加载 smb 配置文件已加载服务文件 OK。服务器角色:ROLE_STANDALONE

全局参数

[全球的]

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 = %h server (Samba, Ubuntu)
unix password sync = Yes
usershare allow guests = Yes
usershare owner only = No
idmap config * : backend = tdb

[打印机]

browseable = No
comment = All Printers
create mask = 0700
path = /var/spool/samba
printable = Yes

[民众]

force create mode = 0777
force directory mode = 0777
force user = nobody
guest ok = Yes
guest only = Yes
path = /dell
read only = No

jaco@jaco-server:~$ net usershare info --long

[测试] 路径=/测试注释= usershare_acl=Everyone:F,S-1-5-21-3504275779-4099143243-3885546580-1000:F, guest_ok=y

在服务器重启之间,它会交替显示公共和测试文件夹以及显示 ubuntu 上其他位置的其他 5 个 hassio 文件夹。在 win10 计算机上,始终显示 5 个 hassio 文件夹

这已经帮我解决了问题。要从您的计算机启用来宾帐户下的访问,您需要使用组策略编辑器 (gpedit.msc)。转到以下部分:计算机配置 -> 管理模板 -> 网络 -> Lanman 工作站。找到并启用策略启用不安全的来宾登录。这些策略设置确定 SMB 客户端是否允许不安全的来宾登录到 SMB 服务器。

答案1

如果按照 Microsoft 希望您默认配置的方式配置 Windows 10,则它永远无法“发现”您的 Ubuntu samba 共享。

这并不意味着您无法从 Win10 连接到它。您有 2 个选择:

[1] 直接在资源管理器中通过其 IP 地址连接- 例如:

\\192.168.1.100

[2] Win10可以使用mDNS连接服务器- 通过其主机名寻址,并在末尾附加 .local:

\\ubuntu-server-host-name.local

只需确保 avahi 已安装在 Ubuntu 上:

sudo apt install avahi-daemon

如果您确实希望 Win10 能够发现您的服务器,那么您实际上只有 2 个选择:

[A] Win10 使用一种称为 WS-Discovery (WSD) 的东西来发现主机。Samba 不执行 WSD,但通过一些工作你可以使其工作:

下载文件夹:

wget https://github.com/christgau/wsdd/archive/master.zip

解压缩:

unzip master.zip

重命名python脚本:

sudo mv wsdd-master/src/wsdd.py wsdd-master/src/wsdd

将其复制到 bin:

sudo cp wsdd-master/src/wsdd /usr/bin

将 systemd 服务文件复制到 /etc/systemd/system:

sudo cp wsdd-master/etc/systemd/wsdd.service /etc/systemd/system

重新加载服务:

sudo systemctl daemon-reload

启动服务:

sudo systemctl start wsdd

启用该服务,使其在启动时启动:

sudo systemctl enable wsdd

[B] 在 Win10 和 Ubuntu 上启用 NetBIOS- Win10 认为这是一个安全问题,因此试图避免这种情况:

在Win10中:控制面板 > 程序和功能 > 打开或关闭 Windows 功能 > SMB 1.0/CIFS 文件共享支持 > SMB 1.0/CIFS 客户端。

在 Ubuntu 中:编辑 /etc/samba/smb.conf 并在 workgroup = WORKGROUP 行下添加以下内容:

server min protocol = NT1

您可能认为简单地重启服务就足够了 - 并且就您而言可能确实如此:

sudo service smbd restart

但是 NetBIOS 是过去时代的遗物,您可能需要重新启动计算机。

NetBIOS 是一个很难处理的东西,所以您可能需要做一些其他的调整才能让它正常工作。

答案2

这对我有用,它类似于@Morbius1 给出的选项 A,但要容易得多:

$ sudo apt install wsdd

$ sudo systemctl enable wsdd

相关内容