📅  最后修改于: 2023-12-03 14:55:49.540000             🧑  作者: Mango
SMB(Server Message Block)是一个基于客户端-服务器模型的协议,它用于共享文件和打印机,在Linux中也可以使用SMB来共享文件。在本文中,我们将介绍如何检查SMB状态并对其进行诊断。
在Linux中,我们可以使用以下命令来检查SMB是否已安装:
$ dpkg -l | grep smb
如果SMB已安装,您应该会看到与SMB相关的软件包列表。
要检查SMB服务是否正在运行,请使用以下命令:
$ systemctl status smb
如果SMB服务正在运行,命令的输出应该类似于以下内容:
● smb.service - Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smb.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-05-02 14:38:46 UTC; 20min ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 1080 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 4 (limit: 2333)
Memory: 16.3M
CPU: 318ms
CGroup: /system.slice/smb.service
├─1080 /usr/sbin/smbd --foreground --no-process-group
├─1103 /usr/sbin/smbd --foreground --no-process-group
├─1104 /usr/sbin/smbd --foreground --no-process-group
└─1105 /usr/sbin/smbd --foreground --no-process-group
上述输出中的“Active: active(running)”指示SMB服务正在运行,否则将提供有关服务已停止的信息。
要验证SMB共享是否在Linux上正常运行,请使用以下命令:
$ smbclient -L localhost -U%
如果SMB共享正在运行,则应看到一个类似于下面的列表:
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
public Disk Public Stuff
在Linux中,您可以使用iptables或firewalld等防火墙工具来保护系统,默认情况下,它们会阻止SMB流量,因此必须为SMB添加例外以允许它运行。在使用SMB之前,您可以通过运行以下命令来检查SMB端口是否已添加到防火墙规则中:
$ systemctl status firewalld
如果SMB端口已添加到防火墙规则中,则您应该可以看到包含SMB的输出。
在本文中,我们介绍了如何检查SMB状态并对其进行诊断。如果您有任何疑问或疑虑,请在评论区留言。