samba.docx

上传人:b****0 文档编号:9615889 上传时间:2023-05-20 格式:DOCX 页数:20 大小:21.51KB
下载 相关 举报
samba.docx_第1页
第1页 / 共20页
samba.docx_第2页
第2页 / 共20页
samba.docx_第3页
第3页 / 共20页
samba.docx_第4页
第4页 / 共20页
samba.docx_第5页
第5页 / 共20页
samba.docx_第6页
第6页 / 共20页
samba.docx_第7页
第7页 / 共20页
samba.docx_第8页
第8页 / 共20页
samba.docx_第9页
第9页 / 共20页
samba.docx_第10页
第10页 / 共20页
samba.docx_第11页
第11页 / 共20页
samba.docx_第12页
第12页 / 共20页
samba.docx_第13页
第13页 / 共20页
samba.docx_第14页
第14页 / 共20页
samba.docx_第15页
第15页 / 共20页
samba.docx_第16页
第16页 / 共20页
samba.docx_第17页
第17页 / 共20页
samba.docx_第18页
第18页 / 共20页
samba.docx_第19页
第19页 / 共20页
samba.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

samba.docx

《samba.docx》由会员分享,可在线阅读,更多相关《samba.docx(20页珍藏版)》请在冰点文库上搜索。

samba.docx

samba

帮助|留言交流|

首页我的图书馆主题阅读精彩目录精品文苑Tags会员浏览好书推荐samba服务器的架设_刘永宏的技术论坛_XX空间(转载)jan_hf收录于2010-02-21阅读数:

公众公开原文来源 

samba服务器的架设

一.samba的基本概念

1.samba的功能

samba是一种基于linux/unix平台中利用于smb(服务信息块)协议,实现以下功能的软件包:

?

Linux/UNIX与MS系统主机之间的文件及打印共享

?

支持wins服务器解析和浏览

?

支持Windows域控制器和成员服务器的身份验证

?

可以模拟windows的域控制器

?

支持SSL

2.samba的工作原理

samba利用smbd程序来监听139号端口实现主机之间文件及打印共享,利用nmbd监听137,138端口实现主机之间可以利用netbios名称相互访问

二.samba的配置

1.安装samba的软件包.

#mount/dev/cdrom(插入第一张安装光盘)

#cd/mnt/cdrom/RedHat/RPMS

#rpm–ivhsamba-common-2.2.7a-7.9.0.i386.rpm

#rpm–ivhsamba-2.2.7a-7.9.0.i386.rpm

#rpm–ivhsamba-client-2.2.7a-7.9.0.i386.rpm

相关文件:

/etc/samba/smb.confsamba的核心配置文件

/etc/rc.d/init.d/smbsamba的启动脚本

/usr/sbin/smbdsamba的守护进程

/usr/sbin/nmbdnetbois的守护进程

/etc/samba/smdpasswd存放samba用户口令

/etc/samba/smbusers存放samba用户与系统用户的映射情况

/usr/sbin/swatsamba的web配置工具

/usr/bin/smbadduser加samba用户

/usr/bin/smbpasswd设置samba用户的口令

/usr/bin/smbclientsamba的客户访问工具

/usr/bin/smbprintsamba的打印工具

/usr/bin/smbmountsamba客户加载工具

/usr/bin/smbumountsamba客户卸载工具

2.修改/etc/samba/smb.conf

作用:

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

内容:

#说明语句

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

…………

…………

全局参数=值

…………

…………

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

…………

…………

资源共享参数=值

…………

…………

[printers]//打印机共享

…………

…………

资源共享参数=值

…………

…………

[public]//共享目录设置

…………

…………

资源共享参数=值

…………

…………

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

[自定义]自定义的共享

…………

…………

资源共享参数=值

…………

…………

说明:

(1)全局参数

基本设置参数:

Workgroup=域名/工作组名

功能:

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

实例:

workgroup=linux

Netbiosname=主机名称

功能:

设置samba服务器的netbios名称

实例:

netbiosname=smbserver

Serverstring=字符串

功能:

设置samba服务器的描述

实例:

serverstring=sambaserver

interfaces=接口名/ip地址

功能:

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

实例:

interfaces=eth0192.168.1.1/255.255.255.0

netbiosaliases=主机名称

功能:

设置netbios的别名

实例:

netbiosaliases=smb1smb2

bindinterfacesonly=true/false

功能:

设置主机配置多块网卡时,是否区分开不同网卡的数据报,默认为false

实例:

bindinterfacesonly=false

安全设置参数:

adminusers=用户名

功能:

设置管理员账号,该用户拥有所有文件的存取权限

实例:

adminusers=smbadmin

socketaddress=ip地址

功能:

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

实例:

socketaddress=192.168.0.1

security=user/share/domain/server

功能:

设置samba的共享安全级别

注意:

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

user表示用户级访问,被访问的samba服务器要对客户机进行身份验证

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

domain表示域级访问,被访问的samba服务器请求另一台winNT域控制器对客户机进行身份验证

实例:

security=share

encryptpasswords=yes/no

功能:

指定是否使用加密口令

注意:

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

实例:

encryptpasswords=yes

restrictanonymous=true/false

功能:

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

实例:

restrictanonymous=false

securitymask=权限值

功能:

设置windows客户机改变samba服务器文件权限时所能更改的最大文件权限

 实例:

securitymask=0744

smbpasswdfile=文件路径

功能:

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

实例:

smbpasswdfile=/etc/samba/smbpasswd

maptoguest=never/baduser/badpassword

功能:

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

注意:

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

never表示拒绝使用任何资源

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

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

minpasswdlength=数字

功能:

指定密码的最小长度,默认值为5位

实例:

minpasswdlength=5

nullpasswords=yes/no

功能:

设置是否允许用户密码为空

实例:

nullpasswords=yes

passwordlevel=数字

功能:

设置用户设置密码时,最多允许几个字符大小写不同

实例:

passwdlevel=8

usernamelevel=数字

功能:

当验证账号时,设定最多允许几个字符大小写不同

实例:

usernamelevel=8

usernamemap=文件路径

功能:

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

实例:

usernamemap=/etc/samba/smbusers

unixpasswdsync=false/true

功能:

设置服务器是否允许samba用户口令与linux系统用户密码同步,当改变samba用户口令同时更新linux系统用户的口令

实例:

unixpasswdsync=false

passwordserver=ip址址/主机名

功能:

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

实例:

passwordserver=192.168.3.1

updateencryptd=yes/no

功能:

设置客户在samba用户登录时,是否需要修改密码

实例:

updateencryptd=yes

guestaccount=用户名

功能:

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

实例:

guestaccount=guest

rootdirectory=目录名

功能:

指定samba服务器工作主目录,任何不在此目录下的资源则拒绝访问

实例:

rootdirectory=/etc/samba/

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

功能:

设置允许访问的客户机

实例:

hostsallow=192.168.1.1

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

功能:

设置禁止访问的客户机

实例:

hostsdeny=192.168.0.2

打印机设置参数:

printcapname=路径

功能:

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

实例:

printcapname=/etc/printcap

loadprinters=yes/no

功能:

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

实例:

loadprinters=yes

printing=bsd/lprng/aix/hpux/qnx/sysv/plp

功能:

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

实例:

printing=lprng

printername=名称

功能:

设置打印机的名称

实例:

printername=hpprint

printerdriverfile=路径

功能:

设置打印机驱动文件的位置

实例:

printerdriverfile=/etc/samba/driver

日志设置参数:

logfile=路径

功能:

定义日志文件的位置

实例:

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

maxlogsize=数字

功能:

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

实例:

maxlogsize=5000

运行效率参数:

changenotifytimeout=数字

功能:

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

实例:

changenotifytimeout=90

deadtime=数字

功能:

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

实例:

deadtime=10

getwdcache=yes/no

功能:

是否启用cache功能

实例:

getwdcache=yes

keepalive=数字

功能:

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

实例:

keepalive=30

maxopenfiles=数字

功能:

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

实例:

maxopenfiles=1000

maxttl=数字

功能:

设定nmbd程序采用wins方式解析时,最大存活时间

实例:

maxttl=259200

clientcodepage=850/936

功能:

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

实例:

clientcodepage=936

wins设置参数:

winssupport=yes/no

功能:

是否支持wins解析

实例:

winssupport=yes

winsserver=服务器

功能:

指定wins服务器的位置

实例:

winsserver=192.168.0.2

winsproxy=yes/no

功能:

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

实例:

winsproxy=yes

(2)资源共享的选项

基本选项:

comment=说明语句

功能:

对共享资源的说明

实例:

comment=fileshared

path=路径

功能:

共享资源的路径

实例:

path=/soft

访问控制选项:

browseable=yes/no

功能:

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

实例:

browseable=no

printable=yes/no

功能:

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

实例:

printable=yes

available=yes/no

功能:

设置共享资源是否可用

实例:

avalidable=yes

public=yes/no

功能:

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

实例:

public=yes

guestok=yes/no

功能:

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

实例:

guestok=yes

guestonly=yes/no

功能:

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

实例:

guestonly=yes

readonly=yes/no

功能:

访问用户对共享资源只读

功能:

readonly=yes

validusers=用户名/@组名

功能:

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

实例:

valideusers=u1,u2,@g1

invalidusers=用户名/@组名

功能:

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

实例:

invalidusers=@g2

createmode=权限值

功能:

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

实例:

createmode=755

directorymode=0775

功能:

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

实例:

directorymode=755

writable=yes/no

功能:

指定共享的路径是否可写

实例:

writable=yes

writelist=用户名/@组名

功能:

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

实例:

writelist=abc,@g2

readlist=用户名/@组名

功能:

设定只读访问用户列表

实例:

readlist=abc,@cuo

preexec=路径

功能:

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

实例:

preexec=/bin/mount/dev/cdrom

postexec=路径

功能:

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

实例:

postexec=/bin/umount/dev/cdrom

rootpreexec=路径

功能:

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

实例:

rootpreexec=/bin/mount/dev/cdrom

rootpostexec=路径

功能:

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

实例:

rootpostexec=/bin/umount/dev/cdrom

(3)特殊变量

%S:

当前服务名

%P:

当前服务的根目录

%u:

当前服务的用户名

%h:

samba服务器的主机名

%m:

客户机的NETBIOS名

%Lsamba服务器的netbios名

%vsamba版本号

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

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

%T当前日期和时间

文件实例:

根据以下要求/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

3.启动samba服务

#servicesmbstart

4.samba用户的建立

samba用户其实是系统用户的映射,所以建立samba用户先必须在系统中建立相应的用户,再通过特定方式映射为samba用户

方法一:

smbadduser用户名:

用户名

实例:

建立samba用户u1

#useraddu1

#passwdu1

#smbadduseru1:

u1

方法二:

#smbpasswd–a用户名

实例:

#useraddu2

#passwdu2

#smbpasswd–au2

三.Samba的客户工具的使用

1.Smbclient

功能:

 (1)查看其他主机上共享资源

 (2)连接其他主机的共享目录

格式:

#smbclient[参数]主机ip或netbios名称

参数:

-N不提示输入用户口令

-L主机IP地址/netbios名称查看指定主机上的共享目录

-U用户名指定连接其它主机的用户名

    实例:

#smbclient-L192.168.0.1-Uadministrator

#smbclient//192.168.0.1/c-Uadministrator

2.smbmount

  功能:

 加载smb文件系统

  格式:

smbmount//主机IP地址或netbios名/共享名装载点-ousername=用户名,password=密码

实例:

#smbmount//192.168.0.1/c/h2-ousername=administrator

四.配置案例

配置要求:

设某公司有财务,技术,领导3个部门,我们分别为3个部门建立3个用户组为caiwu,network,lingdao;三个部门里各有2个用户,我们建用户分别为caiwu01,caiwu02,network01,network02,lingdao01,lingdao02,具体如下:

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

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

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

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

5.建立一个公共的只读文件夹public,所有人只读这个文件夹的内容

配置过程:

1.建立相应的用户和用户组

#groupaddcaiwu

#groupaddnetwork

#groupaddlingdao

#useraddcaiwu01-gcaiwu

#useraddcaiwu02-gcaiwu

#useraddnetwork01-gnetwork

#useraddnetwork02-gnetwork

#useraddlingdao01-glingdao

#useraddlingdao02-glingdao

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

2.建立相应的目录

#mkdir/home/samba

#mkdir/home/samba/caiwu

#mkdir/home/samba/lingdao

#mkdir/home/samba/exchange

#mkdir/home/samba/public

3.改变目录的权限

我们为了避免麻烦可以在这里把上面所有的目录的权限都设置成777:

#chmod777/home/samba

#chmod777/home/samba/caiwu

#chmod777/home/samba/lingdao

#chmod777/home/samba/exchange

#chmod777/home/samba/public

4.修改/etc/samba/smb.conf

#vi/etc/samba/smb.conf

修改内容如下:

[global]

workgroup=linux

netbiosname=smbser

serverstring=xhnet’sSambaFileServer

security=user

encryptpasswords=yes

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

[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

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

[lingdao]

comment=lingdao

path=/home/samba/lingdao

browseable=yes

validusers=@lingdao,network02

writelist=@lingdao

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

[exchage]

comment=ExchangeFileDirectory

path=/home/samba/exchange

public=yes

gusetok=yes

writable=yes

#exchange段基本能满足我们的第4要求,但不能满足每个人不能删除别人的文件这个条件,即使设置了mask也是没用,其实这个条件只要linux设置一个粘着位就行

chmod-R1777/home/samba/exchange

注意这里权限是1777,类似的系统目录/tmp也具有相同的权限,这个权限能实现每个人能自由写文件,但不能删除别人的文件这个要求

[public]

comment=ReadOnlyPublic

path=/home/samba/public

public=yes

readonly=yes

#这个public段能满足我们的第5要求。

4.启动服务

#/

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2