@TOC从网上找到描述比较详细的smb.conf中文解释:

服务名:smb
配置目录:/etc/sabma/
主配置文件:/etc/sabma/smb.conf
#============================== Global Settings =============================

[global]
samba服务器的全局设置,对整个服务器有效。

workgroup
语法:workgtoup = <工作组群>;
预设:workgroup = MYGROUP
说明:设定 Samba Server 的工作组
例:workgroup = workgroup 和WIN2000S设为一个组,可在网上邻居可中看到共享。

server string
语法:server string = <说明>;
预设:sarver string = Samba Server
说明:设定 Samba Server 的注释
其他:支持变量 t%-访问时间 I%-客户端IP m%-客户端主机名 M%-客户端域名 S%-客户端用户名
例:server string = this is a Samba Server 设定出现在Windows网上邻居的 Samba Server 注释为 this is a Samba Server

hosts allow
语法:hosts aoolw = <IP地址>; …
预设:; host allow = 192.168.1. 192.168.2. 127.
说明:限制允许连接到 Samba Server 的机器,多个参数以空格隔开。表示方法可以为完整的IP地址,如 192.168.0.1 网段,如 192.168.0.
例:hosts allow = 192.168.1. 192.168.0.1 表示允许 192.168.1 网段的机器网址为 192.168.0.1 的机器连接到自己的 samba server

printcap name
语法:printcap name = <打印机配置文件>;
预设:printcap name = /etc/printcap
说明:设定 samba srever 打印机的配置文件
例:printcap name = /etc/printcap 设定 samba srever 参考 /etc/printcap 档的打印机设定。

load printers
语法:load printers = <yes/no>;
预设:load printers = yes
说明:是否在开启 samba server 时即共享打印机。

printing
语法:printing = <打印机类型>;
预设:printing = lprng
说明:设定 samba server 打印机所使用的类型,为目前所支持的类型。

guest account
语法:guert account = <帐户名称>;
预设:guert account = pcguest
说明:设定访问 samba server 的来宾帐户(即访问时不用输入用户名和密码的帐户),若设为pcguest的话则为默认为"nobody"用户。
例:guert account = andy 设定设定访问 samba server 的来宾帐户以andy用户登陆,则此登陆帐户享有andy用户的所有权限。

log file
语法:log file = <日志文件>;
预设:log file = /var/log/samba/%m.log
说明:设定 samba server 日志文件的储存位置和文件名(%m代表客户端主机名)

max log size
语法:max log size = <??KB>;
预设:max log size = 0
说明:设定日子文件的最大容量,单位KB 这里的预设值0代表不做限制。

security
语法:security = <等级>;
预设:security = user
说明:设定访问 samba server 的安全级别共有四种:
share—不需要提供用户名和密码。
user----需要提供用户名和密码,而且身份验证由 samba server 负责。
server–需要提供用户名和密码,可指定其他机器(winNT/2000/XP)或另一台 samba server作身份验证。
domain–需要提供用户名和密码,指定winNT/2000/XP域服务器作身份验证。

password server
语法:password server = <IP地址/主机名>;
预设:password server = ;
说明:指定某台服务器(包括windows 和 linux)的密码,作为用户登入时验证的密码。
其他:此项需配合 security = server时,才可设定本参数。

password level
语法:password level = <位数>;
username level = <位数>;
预设:password level = 8

username level
username level = 8
说明:设定用户名和密码的位数,预设为8位字符。

encrypt passwords
语法:encrypt passwords = <yes/no>;
预设:encrypt passwords = yse
说明:设定是否对samba的密码加密。

smb passwd file
语法:smb passwd file = <密码文件>;
预设:smb passwd file = /etc/samba/smbpasswd
说明:设定samba的密码文件。

local master
语法:local master = <yes/no>;
预设:local master = no
说明:设定 samba server 是否要担当LMB角色(LMB负责收集本地网络的Browse List资源),通常无特殊原因设为no

os level
语法:os level = <数字>;
预设:os level = 33
说明:设定 samba server的os level. os level从 0 到 255 . winNT的os level为33, win95/98的os level 是 1 .若要拿samba server 当LMB或DMB则它的os level至少要大于NT的33以上。

domain master
语法:domain master = <yes/no>;
预设:domain master = yes
说明:设定 samba server 是否要担当DMB角色(DMB会负责收集其他子网的Browse List资源),通常无特殊原因设为no

preferred master
语法:preferred master = <yes/no>;
预设:preferred master = yes
说明:设定 samba server 是否要担当PDC角色(PDC会负责追踪网络帐户进行的一切变更),通常无特殊原因设为no,(同一网段内不可有两个PDC,他们会每5分钟抢主控权一次)

wins support
语法:wins support = <yes/no>;
预设:wins support = yes
说明:设定samba server 是否想网络提供WINS服务,通常无特殊原因设为no。除非所处网络上没有主机提供WINS服务且需要此台samba server提供WINS服务是才设yes,其他 wins support 和 wins server 只能选择一个

wins server
语法:wins server = <IP地址>;
预设:wins server = w.x.y.z
说明:设定samba server 是否要使用别台主机提供的WINS服务,通常无特殊原因设为no。除非所处网络上有一台主机提供WINS服务才要设yes,其他 wins support 和 wins server
例:wins server = 192.168.0.1 表示samba server要使用192.168.0.1提供的WINS服务

#============================== Share Definitions =============================

[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S

使用者本身的"家"目录,当使用者以samba使用者身份登入samba server 后,samba server 底下会看到自己的家目录,目录名称是使用者自己的帐号。

[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes

设置了samba服务器中打印共享资源的属性,samba服务器除了可以提供文件共享,还可以提供打印共享。

[分享的资源名称]
<指令1>; = (参数)
<指令2>; = (参数)

要提供分享资源时,须先把欲分享的资源以 [ ] 符号括住,底下通常会带指令和参数来表示此资源的设定和存取权限等,详情如下:

comment---------注释说明
path------------分享资源的完整路径名称,除了路径要正确外,目录的权限也要设对
browseable------是yes/否no在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取
printable-------是yes/否no允许打印
hide dot ftles–是yes/否no隐藏隐藏文件
public----------是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)
guest ok--------是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)
read only-------是yes/否no以只读方式共享当与writable发生冲突时也writable为准
writable--------是yes/否no不以只读方式共享当与read only发生冲突时,无视read only
vaild users-----设定只有此名单内的用户才能访问共享资源(拒绝优先)(用户名/@组名)
invalid users—设定只有此名单内的用户不能访问共享资源(拒绝优先)(用户名/@组名)
read list-------设定此名单内的成员为只读(用户名/@组名)
write list------若设定为只读时,则只有此设定的名单内的成员才可作写入动作(用户名/@组名)
create mask-----建立文件时所给的权限
directory mask–建立目录时所给的权限
force group-----指定存取资源时须以此设定的群组使用者进入才能存取(用户名/@组名)
force user------指定存取资源时须以此设定的使用者进入才能存取(用户名/@组名)
allow hosts-----设定只有此网段/IP的用户才能访问共享资源
allwo hosts = 网段 except IP
deny hosts------设定只有此网段/IP的用户不能访问共享资源
allow hosts=本网段指定IP指定IP
deny hosts=指定IP本网段指定IP

在使用Samba进行建立Window与Linux共享时,要是不能访问,出现“您可能没有权限使用网络资源”,
解决samba和SELINUX 冲突
那就是SELinux在作怪了
要是想让共享目录能访问,可以使用命令
#setenforce 0
暂时停掉SELinux
使用
#setenforce 1
启用SELinux

有关SELinux 在系统中的作用就不讲了,另外一种方法可以不用关闭SELinux.以下命令将允许这个权限:
setsebool -P samba_enable_home_dirs=1

————————————————————————————————————————————————
若SElinux啟用中,在Windows檔案總管無法連到 Samba 所分享出來的目錄時,

在Linux 中,可執行下列指令:

setsebool -P samba_enable_home_dirs on

參考文件: /etc/samba/smb.conf

#---------------

SELINUX NOTES:

分享群組

If you want to use the useradd/groupadd family of binaries please run:

setsebool -P samba_domain_controller on

分享home目錄

If you want to share home directories via samba please run:

setsebool -P samba_enable_home_dirs on

If you create a new directory you want to share you should mark it as

“samba-share_t” so that selinux will let you write into it.

Make sure not to do that on system directories as they may already have

been marked with othe SELinux labels.

Use ls -ldZ /path to see which context a directory has

Set labels only on directories you created!

To set a label use the following: chcon -t samba_share_t /path

If you need to share a system created directory you can use one of the

following (read-only/read-write):

setsebool -P samba_export_all_ro on

or

setsebool -P samba_export_all_rw on

If you want to run scripts (preexec/root prexec/print command/…) please

put them into the /var/lib/samba/scripts directory so that smbd will be

allowed to run them.

Make sure you COPY them and not MOVE them so that the right SELinux context

is applied, to check all is ok use restorecon -R -v /var/lib/samba/scripts

#--------------