Top

samba简单配置

主要学习资料是FreeBSD手册第30章第10节:File and Print Services for Microsoft® Windows® Clients (Samba)

简介

samba软件包使用SMB/CIFS协议提供文件和打印服务,此协议内置于MS Windows系统中。
该协议允许客户端访问共享的数据和打印机。这些共享可以被映射为本地磁盘驱动器,共享的打印机可以像本地打印机一样使用。

在FreeBSD上使用samba413可以使得FreeBSD作为客户端访问网络中的SMB/CIFS共享,也可以使FreeBSD充当samba服务器。

samba的安装与配置

当前samba的可用包有两个samba412和samba413,安装smaba413:
# pkg install smaba413
安装结束时会提示: 然后将其添加进rc.conf:
# sysrc samba_server_enable=yes
smb4.conf文档以[]包围的参数分段,[global]全局参数,手册中示例如下:
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = ExampleMachine
wins support = Yes
security = user
passdb backend = tdbsam
map to guest = Bad User  手册中并无此项,是我自己加的
samba的全局设置有以下几个常用项: 创建/usr/local/etc/smb4.conf后方可启动samba服务:
# service samba_server start
它会启动两个守护进程:nmbd和smbd。

FreeBSD用户账户必须映射到SambaSAMAccount数据库,方可访问。使用pdbedit命令映射现有的FreeBSD用户:
# pdbedit -a username
注意,使用pdbedit映射用户时,需要为该用户另外设置密码。用户在系统中的密码变更不会影响其samba密码。
client max protocol——指定客户端协议版本,可用设置: 通常不应该设置此选项,因为SMB协议中的自动协商阶段负责选择适当的协议。
default指的是SMB3_11。
DCEPRE的IPC$连接(例如winbindd中)由client ipc max protocol选项处理。
默认: client max protocol = default
示例: client max protocol = LANMAN1

共享目录
[vmail]
  path = /var/vmail
不需要重启samba_server,客户端即可访问此共享目录。
但无法对此目录进行修改操作,比如在共享目录中创建文件/文件夹;删除现有文件/文件夹。
且匿名账户无法访问此目录。

共享目录有以下常用参数: 附:man chmod中解释的mode值含义
mode值 含义
4000 setuid位,其他用户运行此文件时使用owner的uid;如果目标是目录,则目录中创建的文件和子目录继承此项。
2000 setgid位,其他组运行此文件时使用owner的gid。
1000 粘滞位,目录不可删除,普通用户不可删除此目录,但可修改删除目录中的文件。
0400 允许拥有者读.
0200 允许拥有者写。
0100 对于文件,允许拥有者运行;对于目录,允许拥有者在目录中搜索。
0040 允许组成员读。
0020 允许组成员写。
0010 对于文件,允许组成员运行;对于目录,允许组成员在目录中搜索。
0004 允许其他用户读。
0002 允许其他用户写。
0001 对于文件,允许其他用户运行;对于目录,允许其他人在目录中搜索。