菜鸟科技网

Ubuntu重启Samba服务命令是什么?

核心重启命令

最常用和最直接的重启命令是 systemctl,这是现代 Ubuntu 系统(推荐使用 Ubuntu 16.04 及更高版本)管理服务的标准工具。

Ubuntu重启Samba服务命令是什么?-图1
(图片来源网络,侵删)

使用 systemctl (推荐)

这是目前最主流、最推荐的方法。

sudo systemctl restart smbd

命令解释:

  • sudo: 以管理员权限执行命令,因为修改服务状态需要 root 权限。
  • systemctl: 系统和服务管理器。
  • restart: 重启指令,它会先停止服务,然后立即启动服务。
  • smbd: Samba 的核心守护进程(daemon)名称,负责处理文件和打印共享。

重要提示: Samba 服务通常由两个守护进程组成:

  • smbd: 处理 SMB/CIFS 协议,负责文件和打印机共享。
  • nmbd: 处理 NetBIOS 名称服务,负责在网络上提供“计算机名”解析。

一个更完整的重启命令是同时重启这两个服务:

Ubuntu重启Samba服务命令是什么?-图2
(图片来源网络,侵删)
sudo systemctl restart smbd nmbd

或者,你可以使用 Samba 的“服务单元”名称 smb,它会同时管理 smbdnmbd

# 推荐使用这个,它会同时重启 smbd 和 nmbd
sudo systemctl restart smb

其他常用相关命令

除了 restartsystemctl 还提供了其他非常有用的命令。

停止服务

如果你想在重启前手动停止服务:

sudo systemctl stop smb

启动服务

如果服务未运行,可以手动启动它:

Ubuntu重启Samba服务命令是什么?-图3
(图片来源网络,侵删)
sudo systemctl start smb

重新加载服务(无需重启)

当你只修改了 Samba 的配置文件(通常是 /etc/samba/smb.conf),但不想中断当前已建立的连接时,可以使用 reload 命令,它会读取新的配置文件并应用,而不会重启服务。

sudo systemctl reload smb

reload 失败(因为某些配置更改无法在不重启的情况下应用),系统通常会自动回退到 restart

检查服务状态

为了确认服务是否正在运行,可以查看其状态:

sudo systemctl status smb

如果服务正在运行,输出中会显示 active (running),如果服务已停止,则会显示 inactive (dead)


旧版系统中的命令 (不推荐)

如果你在使用非常古老的 Ubuntu 版本(如 14.04 或更早),系统使用的是 init.d 而不是 systemd,这时你需要使用 service 命令。

# 重启服务
sudo service samba restart
# 停止服务
sudo service samba stop
# 启动服务
sudo service samba start

注意: service 命令在新的 Ubuntu 系统中仍然可用,但它最终会调用 systemctl,所以使用 systemctl 是更现代和标准的方式。


完整操作流程示例

假设你刚刚修改了 /etc/samba/smb.conf 文件,并想让新配置生效,完整的操作流程如下:

  1. 验证配置文件语法 (可选但推荐) 在重启前,先检查配置文件是否有语法错误,可以避免不必要的重启失败。

    testparm -s /etc/samba/smb.conf

    如果没有任何错误输出,说明语法正确。

  2. 重新加载配置 首先尝试重新加载,这不会影响正在使用共享的用户。

    sudo systemctl reload smb
  3. 检查状态 确认服务是否仍在正常运行。

    sudo systemctl status smb
  4. reload 失败,则重启服务 如果在第 2 步中 reload 命令报错,或者你想确保所有设置都从零开始加载,那就使用 restart

    sudo systemctl restart smb

总结表格

命令 功能 推荐场景
sudo systemctl restart smb 重启 Samba 服务 修改了配置文件后,希望新设置完全生效。
sudo systemctl reload smb 重新加载 Samba 配置 仅修改了配置文件,希望在不中断现有连接的情况下应用新配置。
sudo systemctl stop smb 停止 Samba 服务 需要暂时关闭共享服务。
sudo systemctl start smb 启动 Samba 服务 服务未运行,需要手动开启。
sudo systemctl status smb 查看 Samba 服务状态 检查服务是否正在运行,排查问题。

对于绝大多数 Ubuntu 用户,sudo systemctl restart smb 是你需要的核心重启命令。

分享:
扫描分享到社交APP
上一篇
下一篇