我的一个朋友正在使用 Ubuntu 14.4,在阅读了有关 smb1 的问题后,她想知道它是否在她的系统上运行,如果是,如何禁用它。因为我使用 Windows,所以我不知道。浏览世界时,我看到了一些关于 Samba 服务器的信息,但这对我来说没什么帮助。所以如果有人能告诉我在哪里查找(请给出合适的命令)并将其删除,那就太好了。
谢谢!
答案1
这取决于她是否在服务器模式下运行 Samba。
在大多数情况下,Samba 实际上并未设置为在服务器模式下运行。尽管 Samba 可能存在于计算机上,但它可能配置为客户桌面上。Samba 通常也不会设置为服务器模式,除非您实际上尝试将其配置为服务器。
如果她没有在服务器模式下运行 Samba...
... 那么她真的不必担心任何事情,除非她在计算机上安装 Samba 共享。如果她这样做了,那么当她通过命令行在计算机上安装 CIFS / Samba 共享时,她可以指定最低版本作为安装选项(vers=2.0
或更高版本,如 2.1 或 3.0)。
但是,强制使用 SMBv2+ 进行挂载取决于服务器 - 并非所有服务器(尤其是较旧的 Windows 服务器)都支持 SMBv2 或更高版本。
标准 CIFS / Samba 安装由 GUI 完成,您无法强制使用特定协议,这些协议通常在某处硬编码并且无法编辑。
如果她在服务器模式下运行 Samba……
...然后她需要强制使用最低版本 SMBv2,就像这样(感谢 cyberciti.biz 常见问题解答):
# Edit Samba Server configuration
sudo vi /etc/samba/smb.conf
# Add this line under the [global] section in the above file, and save it
min protocol = SMB2
# Close the text editor, and restart the Samba server.
sudo systemctl restart smbd.service
这将强制 SMB2 作为支持的最低协议。
也就是说,如果她以服务器模式运行 Samba,她真的还应该在系统本地运行防火墙并过滤对 Samba 端口的访问,以便只有受信任的主机才能访问她。
无论她是否在服务器模式下运行......
...她应该运行防火墙ufw
来过滤进入她电脑的流量 - 这样,没有人可以在没有被添加到允许列表中的情况下通过 SMB 端口访问她的电脑,并且只有受信任的系统才应该被允许通过此类端口访问系统。