Linux smbd 命令实战示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将探索 Linux 的 smbd 命令,它是 Samba 服务器的关键组件。smbd 守护进程负责为 SMB/CIFS 客户端提供文件和打印服务。我们将学习如何配置 Samba 服务器、管理 Samba 共享以及设置权限。本实验涵盖了 smbd 命令的介绍、Samba 服务器的配置以及 Samba 共享和权限的管理。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicFileOperationsGroup -.-> linux/chown("Ownership Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/SystemInformationandMonitoringGroup -.-> linux/service("Service Managing") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/chown -.-> lab-422923{{"Linux smbd 命令实战示例"}} linux/mkdir -.-> lab-422923{{"Linux smbd 命令实战示例"}} linux/service -.-> lab-422923{{"Linux smbd 命令实战示例"}} linux/apt -.-> lab-422923{{"Linux smbd 命令实战示例"}} linux/nano -.-> lab-422923{{"Linux smbd 命令实战示例"}} end

smbd 命令介绍

在这一步中,我们将探索 smbd 命令,它是 Samba 服务器的关键组件。smbd 守护进程负责为 SMB/CIFS 客户端提供文件和打印服务。

首先,让我们检查 Ubuntu 22.04 Docker 容器中 Samba 服务的状态:

sudo systemctl status smbd

示例输出:

● smbd.service - Samba SMB Daemon
     Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
     Active: inactive (dead)

如你所见,smbd 服务当前处于未激活状态。这是因为我们尚未配置 Samba 服务器。

接下来,让我们启动 smbd 服务:

sudo systemctl start smbd

现在,再次检查状态:

sudo systemctl status smbd

示例输出:

● smbd.service - Samba SMB Daemon
     Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-04-27 12:34:56 UTC; 10s ago
   Main PID: 12345 (smbd)
     Status: "smbd: ready to serve connections..."

smbd 服务现在已启动并准备好处理 Samba 连接。

smbd 命令是主要的 Samba 服务器进程,负责处理文件和打印共享。它可以配置为将本地系统的目录和打印机共享给 Windows、macOS 和其他 SMB/CIFS 客户端。

在接下来的步骤中,我们将学习如何配置 Samba 服务器以及管理 Samba 共享和权限。

配置 Samba 服务器

在这一步中,我们将配置 Samba 服务器以共享 Ubuntu 22.04 Docker 容器中的目录。

首先,安装 Samba 包:

sudo apt-get update
sudo apt-get install -y samba

接下来,我们需要创建一个 Samba 配置文件。我们将使用位于 /etc/samba/smb.conf 的默认配置文件:

sudo nano /etc/samba/smb.conf

在文件中添加以下配置:

[global]
   workgroup = WORKGROUP
   security = user
   passdb backend = tdbsam
   printing = cups
   printcap name = cups
   load printers = yes
   cups options = raw

[share]
   comment = Public Share
   path = /home/labex/project
   browsable = yes
   read only = no
   guest ok = yes

此配置创建了一个名为 share 的 Samba 共享,指向 /home/labex/project 目录。该共享设置为可浏览且所有用户均可写入。

保存并退出文件。

现在,创建 Samba 用户账户:

sudo smbpasswd -a labex

在提示时输入 labex 用户的密码。

最后,重启 Samba 服务以应用更改:

sudo systemctl restart smbd

Samba 服务器现已配置完成,并准备好共享 /home/labex/project 目录。

管理 Samba 共享和权限

在这一步中,我们将学习如何管理 Samba 共享并设置共享目录的权限。

首先,创建一个新的共享目录:

sudo mkdir /home/labex/project/shared
sudo chown -R labex:labex /home/labex/project/shared

这会在 /home/labex/project 目录下创建一个名为 shared 的新目录,并将其所有权设置为 labex 用户。

接下来,将新共享添加到 Samba 配置文件中:

sudo nano /etc/samba/smb.conf

[global] 部分下添加以下配置块:

[shared]
   comment = Shared Directory
   path = /home/labex/project/shared
   browsable = yes
   read only = no
   guest ok = no
   valid users = labex

这将创建一个名为 shared 的 Samba 共享,指向 /home/labex/project/shared 目录。该共享设置为可浏览、可写,并且仅允许 labex 用户访问。

保存并退出文件。

现在,重启 Samba 服务以应用更改:

sudo systemctl restart smbd

要测试新共享,你可以尝试从 Windows 或 macOS 客户端使用 smb://hostname/shared URL 访问它,其中 hostname 是你的 Ubuntu 22.04 Docker 容器的 IP 地址或主机名。

你应该能够看到新的共享目录,并以 labex 用户的身份读写文件。

总结

在本实验中,我们首先探索了 smbd 命令,它是 Samba 服务器的主要进程,负责为 SMB/CIFS 客户端提供文件和打印服务。我们学习了如何检查 Samba 服务的状态、启动 smbd 服务,并理解其在 Samba 服务器中的作用。接下来,我们通过安装 Samba 包并修改默认的 Samba 配置文件 smb.conf 来配置 Samba 服务器,以设置工作组和共享目录。

Linux 命令速查表