四、配置文件的结构

1、主配置文件smb.conf。

在配置参数昌有以下几个共性。

(1)参数配置基本采用“参数” = “值”的方式,如果参数有多个值时,多个参数之间用空格分隔。

(2)当使用用户和组作为参数时,值为组时需在组名前加@字符。

(3)以“;”或“#”开始的是注释行。

(4)方括号标识表示为标志,比如[global]为全局配置标识。

(5)一般当全局配置与某个共享资源配置发生冲突时,共享资源配置优先。

(6)关键字对大小写不敏感。

配置文件/usr/local/samba/etc/smb.conf或/etc/samba/smb.conf内容结构

==================== Global Settings ====================

#以[global]开始,该部分主要涉及Samba服务的全局配置。

[global]

-----------Network Related Options----------

workgroup = MYGROUP 设置Samba服务所在工作组或域的名称,默认为MYGROUP。

server string = Samba Server Version %v 设置Samba服务器的描述信息,默认为Samba Server Version %v。可以使用Samba设定的变量。

netbios name = Samba Server 设置Samba服务器NetBIOS名称,默认使用该服务器的DNS名称的第一部分。

interfaces = lo eth0 192.168.10.1/24 设置服务器监听本地网络接口(网卡),使用该参数时,推荐保留lo(本地回环地址),参数设置:网络接口名(eth0/1);IP地址。

hosts allow = 127. 192.168.10. 192.168.10.1 except 192.168.10.100 允许连接到Samba服务器的客户端;对应是hosts deny参数。

use sendfile = no 当设置为yes时,将直接由 kernel 读取数据后发给客户端,大大提高效率;默认no。

getwd cache =yes 是否启用cache功能。默认yes。

max connectons = 0 允许连接到服务器的最大连接数,0表示无限制

max open files = 16404 同一个客户端最多能打开的文件数目。

deadtime = 0 设置断开一个没有打开任何文件的链接的时间,单位是分钟,0表示无限制

keepalive = 60 服务器每隔多少秒向客户端发送keepalive包用于确认客户端是否工作正常。

time server = yes/no 设置让nmbd成为windows客户端的时间服务器

guest account = nobody 

fstype = Samba FileSystem 定义Windows客户端显示的文件系统。

username map = </usr/local/samba/etc/smbusers或/etc/smaba/smbusers> 定义用户映射关系的文件

config file = </usr/local/samba/etc/smb.conf.%m> 使用另外的配置文件来覆盖缺省的配置文件

说明:

host allow = value设置

Example 1: allow all IPs in 150.203.*.*; except one

hosts allow = 150.203. EXCEPT 150.203.6.66

Example 2: allow hosts that match the given network/netmask

hosts allow = 150.203.15.0/255.255.255.0

Example 3: allow a couple of hosts

hosts allow = lapland, arvidsjaur

Example 4: allow only hosts in NIS netgroup "foonet", but deny access from one particular host

hosts allow = @foonet

hosts deny = pirate

Samba设定的变量:

变量名

作    用

变量名

作    用

%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服务器日期及时间

-----------Logging Options----------

log level = 8 设置日志记录等级。值越大越详细。参数设置:0~10。

log file = /var/log/samba/log.%m 定义Samba日志文件的位置及名称。默认为每一个与服务器连接的客户端定义一个单独的日志文件。

max log size =50 设置最大的日志文件大小,单位为KB。

-----------Standalone Server Options----------

#使用独立服务器作为Samba服务器认证用户来源,也就是当访问Samba服务器时输入的用户名和密码的验证工作由Samba服务器本机系统内账户完成。

security = user 设置安全级别,即客户端访问Samba服务器的验证方式。此部分中只能设置以下三种参数,参数设置:share(不推荐)、user、server(不推荐)。

passdb backend = tdbsam 参数设置:smbpasswd、tdbsam、ldapsam、mysql。默认为tdbsam,一般不用修改,除非想使用老版本Samba服务器的smbpasswd文件方式或其它方式。

encrypt passwords = yes/no 认证密码在传输过程中是否加密。

参数说明:

security = share/user/server/domain/ads

以下三种安全级别用在Standalone Server Options部分,其中user级别也用于Domain Controller Options部分。

(1)share:访问Samba服务器共享资源时不需要输入用户名和密码,属于匿名访问。

(2)user:访问Samba服务器共享资源时需要输入用户名和密码,认证用户来源为Samba服务器本机。

(3)server:访问Samba服务器共享资源时需要输入用户名和密码,认证用户来源为另一台Samba服务器或Windows服务器。

以下两种安全级别用在Domain Members Options部分:

(4)domain:Samba服务器在一个基于Windows NT平台的Windows域中,访问共享资源需要输入用户名和密码,认证用户来源为Windows域。

(5)ads:Samba服务器在一个基于Windows 200X平台的Windows活动目录中,访问共享资源需要输入用户名和密码,认证用户来源为Windows活动目录。

passdb backend = tdbsam/smbpasswd/ldapsam/mysql

(1)tdbsam:该方式使用一个数据库文件来建立用户数据库,数据库文件名为passdb.tdb。可以使用#smbpasswd -a [用户名]来建立Samba用户。也可以使用pdbedit命令来建立用户。

(2)smbpasswd:该方式使用Samba提供的工具smbpasswd来给系统用户设置一个用于访问Samba服务的密码,客户端就用这个密码访问Samba共享资源。此方式还要使用一个 smb passwd file = /usr/local/samba/etc/smbpasswd(或/etc/samba/smbpasswd) 参数来指定保存用户名和密码的文件,该文件需要手动建立。不推荐使用此方法。

(3)ldapsam:该方式基于LADP的账户管理方式来验证用户,先要建立LDAP服务。

(4)mysql:该方式是将Samba服务器的用户名和密码存储到MySQL数据库中。

pdbedit命令常用参数:

pdbedit –a username:新建Samba账户。
pdbedit –x username:删除Samba账户。
pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。
pdbedit –Lv:列出Samba用户列表的详细信息。
pdbedit –c “[D]” –u username:暂停该Samba用户的账号。
pdbedit –c “[]” –u username:恢复该Samba用户的账号。

注意:

Standalone Server Options、Domain Members Options、Domain Controller Options三部分均与Samba的认证方式及工作角色有关,三部分均需要配置合适的security(安全级别,用于配置Samba的认证方式),此三部分为服务器的三种角色。

-----------Domain Members Options----------

#该部分将Samba服务器加入Windows NT平台域或Windows 2000 Server/2003/2008活动目录中。也就是当访问Samba服务器时输入的用户名和密码的验证工作由域控制器完成。

security = domain 在此部分中该参数只能设置为domain、ads。

passdb backend = tdbsam 默认为tdbsam,不用修改。

realm = MY_REALM

password server = <NT-Server-Name> 指定进行身份验证的域控制器IP地址或主机名。

参数说明:

-----------Domain Controller Options----------

#该部分将Samba服务器配置为一台域控制器。

security = user 在此部分中该参数只能设置为user。

passdb backend = tdbsam 默认为tdbsam,一般不用修改。

domain master = yes 让Samba成为主域控制器(PDC),在此部分中此参数必须为yes。

domain logons = yes 允许旧的Windows客户端提交验证信息。

logon script = %m.bat/%u.bat 当用户登录到域时执行的启动脚本,依据机器名或用户名加载脚本(相当于Windows组策略中用户开机脚本)。

logon path = \\%L\Profiles\%u 当用户登录到域后的配置文件存放的位置,用来初始化工作环境(相当于Windows中的漫游配置文件)。

add user script = /usr/sbin/useradd "%u" -n -g users 指定Windows与Linux中用户信息同步脚本,当Windows域中新建用户后指定脚本会将该用户的信息复制到Linux中。

add group script = /usr/sbin/groupadd "%g" 指定Windows与Linux中组信息同步脚本,当Windows域中新建组后指定脚本会将该组信息复制到Linux中。

add machine script = /usr/sbin/useradd -n -c "Workstation (%u)" -M -d /nohome -s /bin/false "%u" 指定Windows与Linux中计算机信息同步脚本,当Windows域中加入新的计算机后指定脚本会将计算机信息复制到Linux中。

delete user script = /usr/sbin/userdel "%u" 指定Windows与Linux中用户信息同步脚本,当Windows域中删除用户后指定脚本会将该用户信息复制到Linux中。

delete user from group script = /usr/sbin/userdel "%u" "%g" 指定Windows与Linux中用户信息同步脚本,当Windows域中将用户从组中删除后指定脚本会将信息复制到Linux中。

delete group script = /usr/sbin/groupdel "%g" 指定Windows与Linux中组信息同步脚本,当Windows域中删除组后指定脚本会将该组的信息复制到Linux中。

-----------Browser Control Options----------

#配置浏览服务器

local master = yes/no 是否允许Samba服务器作为主浏览服务器。

os level = 33 该数字越大被选举为主浏览服务器的可能性越高。

preferred master = yes 当为yes时被选为主浏览服务器的可能性越高。

注:

主浏览服务器的功能主要是实现Windows中的网上邻居。计算机浏览服务是一系分部式的含有可用的网络资源列表,这些列表分布在一些计算机上,提出浏览请求的计算机充当浏览工作站,面提供浏览列表的计算机充当浏览服务器。该操作通过计算机从同一个子网中的主浏览服务器获得浏览列表副本完成。

浏览服务器有域主浏览服务器、主浏览服务器、备份浏览服务器、潜在浏览服务器,非浏览服务器之分。

-----------Name Resolution----------

#该部分包括Samba服务器名称解析方法相关配置。

wins support = yes 设置nmbd进程支持WINS服务器。

wins server = w.x.y.z 设置WINS服务器IP地址。

wins proxy = yes 设置Samba服务器是否可作为WINS代理。

dns proxy = yes 设置Samba服务器是否在无法联系WINS服务器时通过DNS去解析主机的NetBIOS名。

name cache timeout = 660 设置Samba服务器解析主机名缓存的保存时间,单位是秒;默认660。

name resolve order = lmhosts host wins bcast 设置Samba服务器名称解析的方法及顺序。可指定一个或多个值。

参数说明:

name resolve order = lmhosts host wins bcast

(1)lmhosts:使用 /etc/samba/lmhosts文件对NetBIOS名称与IP地址对应关系进行解析,此方式用于解析NetBIOS名。

(2)host:使用主机名方式解析IP地址,该方式可以使用NIS、DNS及/etc/hosts文件三种方法完成解析,这三种方式的使用顺序是在/etc/nsswitch.conf文件中hosts参数定义的。

(3)wins:使用WINS服务器进行名称解析,使用此方式时wins server参数必须指明WINS服务器的IP地址。

(4)bcast:使用广播的方式进行名称解析。

注:

WINS代理:是为了解决跨网段的非WINS客户端与WINS客户端的NetBIOS名称解析的问题。

-----------Printing Options----------

#该部分包括Samba服务器打印机相关设置。

load printers = yes 是否自动共享打印机,而不根据[printer]标签内的配置。

cups options = raw 

printcap name = /etc/printcap 设置获取打印机描述信息的文件位置。默认为/etc/printcap。

printing = cups 定义打印机的系统类型,可选项有:bsd、sysv、plp、lprng、aix、hpux、qnx、cups

-----------Filesystem Options----------

#该部分包括Samba服务器如何保留从Windows客户端复制或移动到Samba服务器共享目录文件的Windows文件属性的相关配置。

map archive = no 当Windows客户端将文件复制或移动到Samba服务器共享目录时,是否保留文件在Windows中的存档属性。默认yes。

map hidden = no 当Windows客户端将文件复制或移动到Samba服务器共享目录时,是否保留文件在Windows中的隐藏文件属性。默认yes。

map read only = no 当Windows客户端将文件复制或移动到Samba服务器共享目录时,是否保留文件在Windows中的只读属性。默认为yes。

map system = no 当Windows客户端将文件复制或移动到Samba服务器共享目录时,是否保留文件在Windows中的系统文件属性。默认为no。

store dos attributes = yes 当Windows客户端将文件复制或移动到Samba服务器共享目录时,是否保留文件在Windows中的相关属性(只读、系统、隐藏、存档属性)。默认为no。

unix charset = utf8

display charset = utf8

dos charset = utf8

注意:

设置与系统所使用的字符集相同。

-----------Performance Options----------

#服务器性能调优

read raw = yes
write raw = yes
aio read size = 16384
aio write size = 16384
write cache size = 262144
max xmit = 65536
getwd cache = yes

strict locking = no

注:

此部分本人加入,待继续整理……

==================== Share Definitions ====================

#该部分主要涉及Samba服务器需要共享的资源。默认已设置用户家目录(从[home]标识开始)、打印机共享(从[printers]标识开始)、登录脚本及登录域中有关用户家目录的配置,用户自定义配置信息也在此处定义。

[homes] 

comment = Home Directories 

browseable = no

writable = yes

;       valid users = %S

;       valid users = MYDOMAIN\%S

[printers]  共享名,即客户端访问Samba服务器时浏览到的目录名,该名称不要求与本地目录名相同,但在当前Samba服务器必须唯一。

comment = All Printers 共享目录的描述信息,该参数不是必须的。

path = /var/spool/samba 需要共享的本地目录路径,必须使用绝对路径。

browseable = no

guest ok = no

writable = no

printable = yes

[print$] 打印机驱动

comment = Printer drivers

path = /etc/samba/drivers

browseable = yes

readonly = yes

write list = gongxiaoli

[cdrom]  共享光驱

commnet = this is cdrom

path = /mnt/cdrom

root preexec = /bin/mount -t iso9660 /dev/cdrom /mnt/cdrom 连接时用root用户运行mount命令。

root postexec = /bin/umount /mnt/cdrom 断开时用root用户运行umount命令。

……

在编辑Samba主配置文件时,smb.conf文件中并不要求参数缩进。但推荐在编写时对参数进行缩进,以便以后阅读。对用户自定义的共享资源配置内容放在smb.conf文件的末尾,也是为了便于以后阅读。

转载于:https://blog.51cto.com/seanbook/775283

Samba服务器配置(2)--认识smb.conf配置文件相关推荐

  1. Centos7下Samba服务器配置

    环境 vm下centos7.6,IP地址:192.168.139.200 Samba概述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Ser ...

  2. centOS7+Samba服务器配置

    centOS7+Samba服务器配置 实例 公司现有多个部门,因工作需要,将销售部的资料存放在Samba服务器的/sales目录下集中管理,以便销售人员浏览,并且该目录只允许销售部门工访问.我们需要把 ...

  3. linux的samba服务实验报告,Linux Samba服务器配置实验报告.doc

    湖北理工学院 实验报告 课程名称: Linux 网络环境 实验项目:Samba服务器配置 专 业: 班 级: 学 号: 学生姓名: 实验报告 实验项目名称: Samba服务器配置 同组人:无 实验时间 ...

  4. Linux系统了解 Samba服务器配置的工作流程

    了解 Samba服务器配置的工作流程 当Samba 服务安装完毕,并不是直接可以使用 Windows 或 Linux的客户端访问Samba服务器,还必须对服务器进行设置:告诉 Samba 服务器将哪些 ...

  5. RHCE课程-RH253Linux服务器架设笔记三-Samba服务器配置(1)

    今天我们要架设的samba服务器,功能主要就是类unix机器与windows机器的文件共享,也可以是共享打印机,samba软件整合了SMB协议及Netbios协议,使其运行在TCP/IP上 SMB协议 ...

  6. smb.conf - Samba组件的配置文件

    http://manpages.ubuntu.com/manpages/lucid/zh_CN/man5/smb.conf.5.html lucid (5) smb.conf.5.gz Provide ...

  7. CentOS开启samba服(附smb.conf手册)

    CentOS开启samba服务 有错误请告诉我,我不想误人子弟! 熟悉Linux的用户可能常常在Linux上安装Samba服务来实现与Windows系统的文件共享和打印机共享,他们之间的数据传输使用S ...

  8. CentOS下Samba服务器配置

    CentOS下Samba服务器配置 感谢http://www.linuxsir.org/main/?q=node/158#4提供参考 第一节.samba是干什么的?它有什么用? Samba(SMB是其 ...

  9. [学习笔记]CentOS7.6的Samba服务器配置

    工具:CentOS7.6.VMware WorkStation16 虚拟机网络模式:NAT 大体步骤: 1.安装Samba软件 2.配置Samba服务端 3.添加Samba用户 4.启动Samba服务 ...

  10. Samba服务器配置详解

    目录 简介 Samba 常规服务器配置 Samba安装与启动 Samba服务配置 配置文件 [global]全局配置 [Share]共享资源设置 pdbedit使用 设置防火墙放行 关闭防火墙 端口放 ...

最新文章

  1. virtual hust 2013.6.20 数论基础题目 D - Just the Facts
  2. Python之pandas数据加载、存储
  3. 【Linux独家秘方】Linux 定时备份oracle库的数据
  4. 给Vista系统加入一键还原功能
  5. ARC106——E - Medals
  6. 服务器补丁 系统,操作系统补丁服务器
  7. C语言 fwirte 函数 - C语言零基础入门教程
  8. CSS中的URL_CSS中的URI
  9. Redis 基本数据类型和使用
  10. 安卓应用安全指南 5.6.1 密码学 示例代码
  11. 简单python脚本实例-python脚本例子
  12. 线性规划图解法求最优解_线性规划的图解法6.ppt
  13. linux查看u盘的分区格式化,linux U盘格式化ext3
  14. 计算机文档排版的心得体会,排版工作心得体会(共6篇) .docx
  15. alter table添加表约束
  16. Theos-tweak工程
  17. VTCP QIO技术解析
  18. 安卓手机分辨率修改工具的使用方法
  19. iOS MP3流媒体播放 边缓冲边播放 FreeStreamer框架
  20. centos tcpdump

热门文章

  1. Numpy快速入门教程
  2. VMWARE:NAT模式连接外网
  3. python setup.py install 和python setup.py develop的区别
  4. jenkins shell 权限_Jenkins+gitee+nuxt自动化部署
  5. 7 ida pro 网盘_7月上市新车汇总 日产轩逸领衔 自主高端红旗HS7最具潜力
  6. vc mysql 连接_vc连接mysql数据库的方法
  7. PHP获取真实客户端的真实IP REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
  8. Mysql事务,并发问题,锁机制
  9. 获取OlapConnection连接
  10. Leetcode: 3Sum