如何在 Linux OS 上安装和配置 Samba

热门:
升级您的服务器配置! 申请 AVA 并使用 立减 15%
使用优惠码:

Samba 是一款功能强大的开源软件套件,可实现 Linux/Unix 系统与 Windows 客户端之间无缝的文件和打印机共享。它允许 Linux systems 伪装成 Windows 文件服务器,使其成为企业网络或家庭环境等混合 OS 环境中的重要工具。

本指南将带您在 Linux 系统上安装和配置 Samba,轻松共享目录并管理访问权限。

什么是 Samba?

Samba 实现了 Windows 用于文件和打印机共享的 SMB (Server Message Block)CIFS (Common Internet File System) 协议。它允许:

  • Linux systems 与 Windows 机器共享文件

  • Linux systems 访问 Windows 共享文件夹

  • 异构网络中对共享资源的集中访问

步骤 1:安装 Samba

安装过程可能会因您的 Linux 发行版而略有不同。

对于 Debian/Ubuntu:

sudo apt update
sudo apt install samba

对于 CentOS/RHEL (7/8+):

sudo yum install samba samba-client samba-common

对于 Fedora:

sudo dnf install samba

要验证安装:

smbd --version

步骤 2:创建共享目录

创建您想与网络用户共享的目录。

sudo mkdir -p /srv/samba/shared
sudo chown -R nobody:nogroup /srv/samba/shared
sudo chmod -R 0775 /srv/samba/shared

这些权限允许来宾用户进行读/写访问(可针对已认证用户进行调整)。

步骤 3:配置 Samba Server

打开 Samba 配置文件:

sudo nano /etc/samba/smb.conf

在文件底部添加以下块:

[Shared]
path = /srv/samba/shared
browsable = yes
read only = no
guest ok = yes

这定义了一个名为 “Shared” 的共享文件夹,可在无需密码的情况下访问(来宾访问)。为了更安全,请禁用

guest ok

并配置用户级访问。

编辑后,保存并关闭文件。

步骤 4:设置 Samba 用户

如果您更倾向于使用用户身份验证而不是来宾访问,请创建一个 Samba 用户:

sudo useradd sambauser
sudo passwd sambauser
sudo smbpasswd -a sambauser

然后在

smb.conf

中调整共享块:

[Shared]
path = /srv/samba/shared
valid users = sambauser
read only = no

步骤 5:重启 Samba 服务

通过重启 Samba 服务来应用新配置:

sudo systemctl restart smbd
sudo systemctl enable smbd

要检查状态:

sudo systemctl status smbd

步骤 6:调整防火墙

如果您使用防火墙,请允许 Samba 流量:

对于 UFW (Ubuntu):

sudo ufw allow 'Samba'

对于 firewalld (CentOS, Fedora):

sudo firewall-cmd --permanent --zone=public --add-service=samba
sudo firewall-cmd --reload

步骤 7:访问共享文件夹

从 Windows:

  • 打开 File Explorer

  • 在地址栏中输入您的 Linux 系统的 IP 地址,例如:

    \192.168.1.100Shared
  • 如有需要,请进行身份验证

从另一台 Linux 系统:

使用

smbclient

工具:

smbclient //192.168.1.100/Shared -U sambauser

或者挂载共享:

sudo mount -t cifs //192.168.1.100/Shared /mnt/samba -o username=sambauser

结论

Samba 是一款功能强大的工具,可弥合 Linux 与 Windows 文件共享之间的鸿沟。无论您是在搭建家庭媒体服务器,还是在企业网络中管理资源,Samba 都能提供所需的灵活性和兼容性,以确保顺畅互操作。正确的配置、用户访问控制和防火墙规则将有助于确保安全高效的文件共享。

如果您需要有关打印机共享、将 Samba 作为域控制器,或 Active Directory 集成等高级设置的帮助,请随时请求后续指南。