📜  检查状态 smb linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:55:49.540000             🧑  作者: Mango

检查状态 SMB Linux - Shell/Bash

SMB(Server Message Block)是一个基于客户端-服务器模型的协议,它用于共享文件和打印机,在Linux中也可以使用SMB来共享文件。在本文中,我们将介绍如何检查SMB状态并对其进行诊断。

检查SMB是否已安装

在Linux中,我们可以使用以下命令来检查SMB是否已安装:

$ dpkg -l | grep smb

如果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状态并对其进行诊断。如果您有任何疑问或疑虑,请在评论区留言。