如何在 Linux OS 上安装和配置 Samba
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 地址,例如:
如有需要,请进行身份验证
从另一台 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 集成等高级设置的帮助,请随时请求后续指南。


