位置:海鸟网 > IT > linux/Unix >

Linux系统下SambaServer的配置文件解析

阅读提示:在Linux下可以通过Samba客户端访问局域网内的Windows主机,也可以通过Samba服务器给Windows主机提供文件、打印机等服务。Samba使用/etc/samba/smb.conf作为他的的主配置文件,直接修改并不直接生效,直到你在使用了#servicesmarestart命令重启Samba服务之后才会生效。

Samba使用/etc/samba/smb.conf作为他的的主配置文件,直接修改并不直接生效,直到你在使用了

#servicesmarestart

命令重启Samba服务之后才会生效。下面是smb.conf文件的几个有用参数:

workgroup=WORKGROUP-NAME##############设置加入工作组名称

serverstring=BRIEFCOMMENTABOUTSERVER##############此选项是可选的,主要作用是Samba服务Windows系统注释。

Hostallow=192.168.1.192.168.2.127.##############此项对安全性非常重要。它严格限制了可访问Samba的范围。默认是允许所有IP访问……

Printcapname=/etc/printcap############设置打印机配置文件路径

Loadprinters=yes#########是否将打印机共享

Printing=cups#################打印机的类型。若用的打印机的是linux标准类型的则不要更改

Guestaccount=pcguest##################如果想让用户`pcguest`以匿名用户身份登陆……;就去掉前面的注释。并确保在/etc/passwd中有此用户。这里的pcguest可以根据需要改成用户自己设置的本地用户。

Loginfile=/var/log/samba/%m.log####################log会在此目录中为每个登陆用户(Samba用户)建立不同的日志文件。

PasswdServer=##################密码验证服务器。当用户从Windows通过Samba使用linux时。全自动传送登陆windows时的用户名与密码给Samba.然后Samba向windowsserver验证这两项信息是否正确。若不正确,则会出现对话框要用户重新输入用户名与密码。而这个密码服务器可以是NTSERVER(通常是主域控制器)或是另一个SambaServer.因此若Security=share,则要删除关于密码服务器的那一行。

PasswordLevel-=8##########################密码级别设置

Encryptpassword=yes##############用户密码要加密。由于现在98/NT皆用加密的密码。因此要有这一项,当然也可以要求使用不加密的密码。

SmbPasswdfile=/etc/samba/smbpasswd############将密码验证服务器,设置为Sambaserver时,需要用此行来指定要验证的密码文件,这最重要的是密码文件设置的路径。

Uinpasswdsync=yes

Passwdprogram=/usr/bin/passwd%u##############接下来的两行设置用来容许WIN密码改变后可更新linux系统的密码,确定`encryptpasswords`和`smbpasswdfile`项被启用。

Pampasswordchange=yes##############当用户要求更改密码时,使用PAM.不用本地口令程序/user/bin/passwd

Usernamemap=/etc/samba/smbusers##############在此文件中设置对应的用户名称,例如:root=administratoradmin等,如果每个windows用户在samba服务器中都有账号,则可以不设置,

Include=/etc/samba/smb.conf%m##############此行允许用户自定义每台计算机的基本配置文件,%M代表NETBIOS正在连接的计算机的称。

Obeypamrestrictions=yew##############当用户认证时,服从PAM的管理限制。

Socketoptions=TCP_NODELAYSO_RCVBUF=8192SO_SNDBUF=8192##############设置服务器和客户之间会话的Socket选项,此项设置将优化传输速度。

Interfaces=192.168.12.2/24192.168.13.2/24##############如果用多网络界面须在此列出。

Remotebrowsesync=192.168.3.25192.168.2.255##############本行和下一行是远程浏览设置

Remoteannounce=192.168.1.255192.168.2.44

#BrowserControlOptions浏览控制选项

localmaster=no

oslevel=33

domainmaster=yes

preferredmaster=yes

domainlogons=yes

logonscript=%M.bat##############本行和下一行设置登陆脚本

logonscript=%U.bat

winssupport=yes##############winsserver支持

winsserver=w.x.y.z##############wins客户端设置

winsproxy=yes##############winsproxy设置

dnsproxy=no##############dnsproxy设置,默认是不为客户端做DNS查询的

[homes]##############用户访问自己目录的设置

browseable=no##############用户私人目录,不需要给别人浏览

writeable=yes##############用户写入自己目录的权限

[netlogon]

guestok=yes

sharemodes=no

[profiles]##############默认profiles设置

[printer]##############打印机设置

path=/var/spool/samba##############打印机池(spool)用户须自创建目录

browseable=no##############此行存放打印机的临时文件

setpublic=yestoallowuser`guestprinr##############如果设置,则允许guest用户使用打印机

printable=yes##############用户是否可以打印

[temp]

readonly=no##############是否只读或可写入

public=yes##############是否共享

配置share级别的服务器

workgroup=linux

hostsallow=192.168.1.##############如不想限制可注释掉

printcap=/etc/printcap

loadprinters=yes

printers=lprng

guestaccount=abc##############这需要指定一个用户帐号abc是samba中已存在的一个用户帐号

logfiles=/var/log/samba/%m.log

maxlogsize=50

security=share

socketoptions=TCP_NODELAYSO_RCVBUF=8192SO_SNDBUF=8192

##注:其它可能以按smb.conf默认设置

##重启服务

测试samba命令testparm

======================================================================

配置USER级别的服务器

在share级的基础配置上修改:

security=user

添加:

guestaccount=zjz

encryptpasswords=yes

smbpasswdfile=/etc/samba/smbpasswd##############当配置文件/etc/smb.conf进行user级的设置后需要设置samba密码文件。建立smbpasswd帐号和口令。使其与/etc/passwd的帐号和口令相同。