全局配置
[global]
workgroup = MYGROUP
#工作组
server string = Samba Server Version %v
#描述信息,%v表示版本号
netbios name = MYSERVER
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
#设置监听那些网卡,可写成网卡名和网卡的ip地址
hosts allow = 127. 192.168.12. 192.168.13
#指定某个网段来访问
PS:
hosts allow = 192.168.12. EXCEPT 192.168.12.50
#表示允许来自192.168.12.0 这个网段的主机连接,但不允许192.168.12.50这台主机连接
hosts allow = @xq
#表示容许来自XQ网域的所有计算机连接
maxconnections = 0
#用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。
[Logging Options]
log file = /var/log/samba/log.%m
#日志文件存放位置,%m表示对每台访问samba服务器的主机都单独记录一个日志文件
max log size = 50
#单个日志文件最大容量,单位围殴KB,0表示不限制
security = user
#设置用户访问Samba Server的验证方式,一共有四种验证方式。
1. share:用户访问SambaServer不需要提供用户名和口令, 安全性能较低。
2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
3. server:依靠其他WindowsNT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
4. domain:域安全级别,使用主域控制器(PDC)来完成认证。
passdb backend = tdbsam
#用来验证samba账号的数据库格式,默认为tdbsam
passdb backend就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。
1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实
用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。
2.tdbsam:该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户。pdbedit命令的参数很多,我们列出几个主要的。
3.ldapsam:该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”
load Printers = yes/no
#是否共享打印机
cups options = raw
#通用打印机选项
标签
【家目录共享】
[homes] #共享名
comment = Home Directories #共享描述
browseable = no #共享是否能被其他用户查看
writable = yes #共享是否被写(要注意共享目录的写权限)
; valid users = %S #允许该访问的用户有那些,%s表示只有自己能访问
; valid users = bob,@bob #多个用户使用逗号隔开,加入一个组使用@表示
【打印资源共享】
[printers]
comment = All Printers #共享描述
path = /var/spool/samba #共享路径
browseable = no #共享是否被查看
guest ok = no #是否可以匿名用户登录
writable = no #是否可写
printable = yes #是否可以打印
【配置参数】
[自定义]
comment = the share is xbz #共享描述(随意定义)
path = /share/zdy #共享路径
pubilc = yes #是否可以匿名访问
broweable = yes #是否可被其他用户查看
writable = yes #是否可写
valid users = "用户" #只允许指定用户登录(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@+组名”表示。)
read only = yes #
write list = "用户" #用来指定可以在该共享下写入文件的用户
available = yes #指定该共享资源是否可用
admin users = "用户" #指定该共享的管理员(对该共享具有完全控制权限),多个用户和逗号隔开
invalid users = "用户" #用来指定不允许访问该共享资源的用户(多个用逗号隔开
create mask = 0644 #指新建文件的属性
directory mask = 0755 #指新建目录的属性
变量
变量名 | 作用 | 变量名 | 作用 |
%S | 当前服务名(如果存在) | %L | Samba服务器的NetBIOS名 |
%P | 当前服务的根目录(如果存在) | %N | NIS服务器主机名 |
%u | 当前服务的用户名(如果存在) | %p | NIS服务器家目录 |
%g | 当前用户的初始组 | %R | 采用协议等级 |
%U | 当前连接的用户名 | %d | Samba服务的进程ID |
%G | 当前连接用户的初始组 | %a | 访问Samba服务器的客户端系统 |
%D | 当前用户所属域或工作组名称 | %I | 访问Samba服务器的客户端IP地址 |
%H | 当前服务用户的家目录 | %M | 访问Samba服务器的客户端主机名 |
%v | Samba服务器的版本 | %m | 访问Samba服务器的客户端NetBIOS名 |
%h | Samba服务器的主机名 | %T | Samba服务器日期及时间 |