Samba 服务指南
2025年4月3日大约 2 分钟
Samba 服务指南
Samba 是一个用于在 Linux 系统和 Windows 系统之间实现文件和打印共享的免费软件。它实现了 SMB/CIFS 协议,使得 Linux 系统能够像 Windows 系统一样进行文件共享和打印共享。
注
Samba 是实现跨平台文件共享的最流行解决方案,尤其适用于混合使用 Windows 和 Linux 系统的网络环境。
安装 Samba
在大多数 Linux 发行版中,您可以使用包管理器来安装 Samba:
在 Debian/Ubuntu 上安装
sudo apt update
sudo apt install samba在 CentOS/RHEL 上安装
sudo yum install samba配置 Samba
Samba 的主要配置文件是 /etc/samba/smb.conf。在配置文件中,您可以定义共享目录、用户权限等。
示例配置文件
以下是一个简单的 Samba 配置文件示例:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = ubuntu
security = user
map to guest = bad user
dns proxy = no
[Anonymous]
path = /srv/samba/anonymous
browsable = yes
writable = yes
guest ok = yes
read only = no
[Private]
path = /srv/samba/private
valid users = @smbgroup
guest ok = no
writable = yes
browsable = yes解释
[global]部分包含全局设置,如工作组名称、NetBIOS 名称和安全选项。[Anonymous]部分定义了一个匿名共享,任何人都可以访问和写入。[Private]部分定义了一个私有共享,仅smbgroup组的用户可以访问。
创建共享目录
创建共享目录并设置权限:
sudo mkdir -p /srv/samba/anonymous
sudo mkdir -p /srv/samba/private
sudo chown -R nobody:nogroup /srv/samba/anonymous
sudo chown -R root:smbgroup /srv/samba/private
sudo chmod -R 0775 /srv/samba/private管理 Samba 用户
添加 Samba 用户:
sudo smbpasswd -a username添加 Samba 组:
sudo groupadd smbgroup
sudo usermod -aG smbgroup username启动和管理 Samba 服务
启动 Samba 服务:
sudo systemctl start smbd
sudo systemctl start nmbd设置开机自启动:
sudo systemctl enable smbd
sudo systemctl enable nmbd测试和访问共享
从 Linux 客户端访问
您可以使用 smbclient 工具来访问 Samba 共享:
smbclient //hostname/Anonymous从 Windows 客户端访问
您可以在 Windows 资源管理器中输入 \\hostname\Anonymous 来访问共享。
常见参数
workgroup:指定工作组名称。server string:设置服务器描述。netbios name:设置 NetBIOS 名称。security:定义安全模式,如user、share。path:定义共享目录的路径。browsable:指定共享是否可浏览。writable:指定共享是否可写。guest ok:允许匿名访问。
示例案例
共享公共文件夹
创建一个公共文件夹,允许所有用户读写:
[Public]
path = /srv/samba/public
browsable = yes
writable = yes
guest ok = yes
read only = no共享私有文件夹
创建一个私有文件夹,仅允许特定用户访问:
[Private]
path = /srv/samba/private
valid users = user1 user2
guest ok = no
writable = yes
browsable = yes