阅读提示:在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的帐号和口令相同。