Samba学习笔记Word格式.docx

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

Samba学习笔记Word格式.docx

《Samba学习笔记Word格式.docx》由会员分享,可在线阅读,更多相关《Samba学习笔记Word格式.docx(17页珍藏版)》请在冰点文库上搜索。

Samba学习笔记Word格式.docx

作为Windows环境下的PDC、BDC。

一些基本概念

节点类型----NBT网络中每台机器根据处理名称注册和解析的方式的不同,被指定为以下几种节点类型。

Table 

类型

描述

b-node

只使用广播方式的注册和解析。

p-node

只使用点到点的注册和解析。

m-node

先用广播方式注册,一旦成功,则将结果通知NBNS服务器。

使用广播方式解析,如果不成功,则使用NBNS服务器。

h-node

使用NBNS服务器进行注册和解析,如果NBNS服务器没有响应或不能操作,则使用广播方式。

Windows系统多数使用b-node或h-node节点类型,h-node提供了更强大的容错能力。

用ipconfig/all查询NodeType属性就可知道当前系统的节点类型。

NetBIOS不仅能通告自已的存在,还能告诉其它机器自已能提供的资源类型。

下面是一个资源类型的列表。

资源类型

标准工作站服务

00

消息服务(WinPopup)

03

RAS服务器服务

06

域主浏览器服务

1B

主浏览器名称

1D

NetDDE服务

1F

文件服务器/打印服务器

20

RAS客户机服务

21

网络监视代理

BE

网络监视工具

BF

网上的机器还可以划分成不同的工作组,下面是NetBIOS的组资源类型。

标准工作站组

登录工作站

1C

通用组名称

1E

Internet名称

<

01>

02>

__MSBROUSE__<

01

2. 

安装配置

在Debian中有现成的Samba包,用以命令即可安装,smbclient是客户端软件,用以在Linux下测试和连接samba服务器:

debian:

#~apt-getinstallsambasmbclient

Samba的配置文件是smb.conf,如果是debian系统,则位于/etc/samba目录下,如果从源码编译安装,则位于安装目录的lib目录下。

下面是一个示例:

[global]

workgroup=Sambaserver

serverstring=Sambaserver

netbiosname=t02

;

browsersetup

domainmaster=yes

localmaster=yes

preferredmaster=yes

oslevel=255

sharecharset

unixcharset=GB2312

displaycharset=GB2312

doscharset=GB2312

securitysetup

security=user

encryptpasswords=yes

smbpasswdfile=/usr/local/samba/private/smbpasswd

ldapadmindn="

cn=admin,dc=com"

passdbbackend=ldapsam:

ldapdeletedn=yes

ldapusersuffix=dc=samba,dc=tiger

ldapsuffix=dc=com

logsetup

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

maxlogsize=50

socketoptions=TCP_NODELAYSO_RCVBUF=8192SO_SNDBUF=8192

dnsproxy=no

startwinsserver

winssupport=yes

[homes]

comment=HomeDirectories

vetofiles=/.*/

browseable=no

writable=yes

[linux-app]

comment=sharetheLinuxapplicationsoftware

path=/data/linapp

casesensitive=no

followsymlinks=no

validusers=root+wj

createmask=0660

directorymask=0770

2.1. 

服务器角色

Samba3服务器可担任主域控制器、独立域服务器和域成员服务器等角色。

设置方法如下:

主域控制器:

...

......

domainmaster=yes

preferredmaster=yes

domainlogons=yes

security=user

使用testparm命令测试一下:

~#testparm

Loadsmbconfigfilesfrom/etc/samba/smb.conf

Processingsection\"

[homes]\"

[printers]\"

LoadedservicesfileOK.

Serverrole:

ROLE_DOMAIN_PDC#服务器角色为主域控制器

Pressentertoseeadumpofyourservicedefinitions

备份域控制器:

domainmaster=no

运行testparm测试一下:

testparm

ROLE_DOMAIN_BDC#服务器角色为备份域控制器

独立服务器:

domainlogon=no

再使用testparm命令测试一下。

ROLE_STANDALONE#服务器的角色为独立服务器

域的成员服务器:

security=domain

Loadsmbconfigfilesfrom/etc/samba/smb.conf

ROLE_DOMAIN_MEMBER#服务器的角色为域成员服务器

2.2. 

使用openldap目录服务进行samba用户验证

samba可把用户信息存放到ldap目录服务器上,使用目录服务器上的用户数据进行用户验证。

这样做的好处是:

集中存放用户信息,多台Samba服务器可共用一套用户数据。

当用户数量多时,采用ldap目录服务器可加快用户验证的速度。

因为ldap目录服务是专门为读操作而优化的,搜索数据的速度是非常快的。

维护方便,可利用ldap客户端进行可视化维护,如phpldapadmin。

用户可自由更改自已的密码,而不用经过系统管理员,可大大减轻系统管理员的工作量。

要使samba能够使用ldap目录服务器作为用户验证的后台数据库,需在编译samba时选择了“--with-ldapsam”选项。

在确保samba服务器和openldap服务器正常运行的前提下,进行以下配置。

要openldap能认识samba的用户信息,我们需在openldap服务器中导入samba.schema。

该文件是不包含在openldap源码中的,我们可在samba源码目录中的/examples/LDAP路径中找到该文件。

把它拷贝到openldap的schema目录。

接着编辑slapd.conf文件,用include指令把samba.schema导入openldap。

如:

#AllowLDAPv2binds

allowbind_v2

#Thisisthemainslapdconfigurationfile.Seeslapd.conf(5)formore

#infoontheconfigurationoptions.

#######################################################################

#GlobalDirectives:

#Featurestopermit

#allowbind_v2

#SchemaandobjectClassdefinitions

include/etc/ldap/schema/core.schema

include/etc/ldap/schema/cosine.schema

include/etc/ldap/schema/nis.schema

include/etc/ldap/schema/inetorgperson.schema

include/etc/ldap/schema/samba.schema#导入samba.schema文件

重启服务器,使配置生效。

下来我们要配置samba服务器了。

打开smb.conf文件,添加以下内容:

#Youmaywishtousepasswordencryption.PleasereadENCRYPTION.txt,

#Win95.txtandWinNT.txtintheSambadocumentation.Donotenablethis

#optionunlessyouhavereadthosedocuments

encryptpasswords=true

passdbbackend=smbpasswdguest#取消smbpasswd验证

#指定管理员

#指定用户验证的ldap目录服务器

ldapusersuffix=dc=samba,dc=it#用户信息存放的目录路径

ldapdeletedn=no#不允许删除dn

ldapsuffix=dc=com#指定搜索后缀

存盘退出,重启samba服务器。

运行以下命令,把cn=admin,dc=com管理员的密码“secret”保存到secrets.tdb文件中,以便samba服务器与openldap服务器进行通信。

~#smbpasswd-wsecret

Settingstoredpasswordfor"

insecrets.tdb#成功保存的提示信息

把Samba用户的验证信息存放到ldap目录服务器的方式有两种。

一种是利用ldap里已有的目录项,不用另外增加一个目录项来专门存放samba用户验证信息,而是把samba用户的验证信息存放到目录服务器中同名的目录项。

采用这种方式,sambaSamAccount对象类型需手工维护,当用户数量大的时候就很难保证sambaSID号码的唯一。

另外一种是直接运行smbpasswd-atest命令,重新创建一个uid=test,dc=samba,dc=it,dc=com的目录项。

sambaSamAccount对象类型会自动创建,sambaSID号会由程序自动维护。

但如果要以uid=test,dc=samba,dc=it,dc=com登录目录服务器维护samba用户信息,则要手工添加一个simpleSecurityObject对象类型,增加userPassword属性才行。

这两种方式各有优缺点,可满足不同场合的需求。

第二种方式相对简单,这里就不具体介绍。

下面详细介绍一下第一种方式的配置步骤。

首先,我们在ldap目录服务器上要有一个叫“cn=test,dc=samba,dc=it,dc=com”的目录项,且使用该dn能正常登录ldap目录服务器。

在cn=test,dc=samba,dc=it,dc=com目录项中还要添加一个sambaSamAccount对象类型,以便smbpasswd程序写入samba帐号信息。

添加该对象类型时需要填两个属性,一个是sambaSID,一个是uid,sambaSID类似WindowsNT中的SID,它是以S开头一串数字,由Samba服务器的SID+UID组成。

当你的samba服务器成功连接到ldap目录服务器时,它已在ldap目录服务器中自动创建一个sambaDomainName=hostname的目录项。

该目录项的sambaSID就是Samba服务器的SID了,类似于S-1-5-21-98-91-96。

UID手动填一个即可,如3001。

每个用户的UID都是不同的。

最后的sambaSID是S-1-5-21-98-91-96-3001。

配置完成,使用smbpasswd命令就可把用户信息保存到ldap目录服务器上了。

~#smbpasswd-atest

NewSMBpassword:

RetypenewSMBpassword:

Addedusertest.#成功添加用户

用phpldapadmin以cn=test,dc=samba,dc=it,dc=com登录进ldapserver服务器,你会发现该用户添加了samba用户的验证信息。

其中,uid属性记录的是samba的用户名,sambaLMPassword和sambaNTPassword两个属性分别记录了用户的加密密码资料,分别对应windows98和NT两种加密方式。

到此为止,使用ldap目录服务器进行Samba用户验证已配置完成。

但现在还是要管理员在samba服务器上使用smbpasswd命令为用户维护密码。

从维护工作量和保密的角度出发,由用户自已维护自已的密码是一种最好的方法。

我们借助phpldapadmin这个工具可帮我们实现该功能。

具体设置方法是这样的:

首先,在设置前,需先把phpldapadmin安装好,具体的安装步骤请参考我网站上的openldap学习笔记。

安装好phpldapadmin后,我们已可正常使用该工具维护目录项了。

同时,通过目录服务器的权限管理,我们也可把test用户密码属性设置成只有dn是cn=test,dc=samba,dc=it,dc=com的用户和目录服务器管理员才能修改。

要达到该项果,请把以下ACL加入到slapd.conf中。

accesstoattrs=sambaLMPassword

bydn="

write

byanonymousauth

byselfwrite

by*none

accesstoattrs=sambaNTPassword

重启openldap服务器使配置生效。

要修改samba用户的密码,我们只要修改smbaLMPassword和sambaNTPassword两个属性值即可,但会出错,提示修改失败,要我们去修改phpldapadmin的template_config.php文件。

这是因为phpldapadmin使用了一个叫mkntpwd的程序来生成samba的加密密码。

在template_config.php文件中设置了mkntpwd程序的执行路径。

mkntpwd程序默认是没有安装在系统中的,我们需安装它,并把它放到在template_config.php文件里指定的执行位置(/usr/bin/)。

mkntpwd的源码包含在samba的源码中,我们可进入samba的源码目下的examples/LDAP/smbldap-tools/mkntpwd目录,mkntpwd的源码全部在这里了,运行make命令,就可生成mkntpwd程序。

最后把mkntpwd拷贝到/usr/bin目录下即可。

如果是debian系统,template_config.php文件就位于/etc/phpldapadmin/templates目录下。

节选有关定义mkntpwd程序路径的内容如下:

...

##SAMBATEMPLATECONFIGURATION##

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

####

##Inordertousethesambatemplates,youmighteditthefollowingproperties:

##

##1-$mkntpwdCommand:

thepathtothemkntpwdutilityprovidedwith/bySamba.##

##2-$samba3_domains:

thedomainnameandthedomainsid.##

######################################################################################*/

//path2themkntpwdutility(Customize)

$mkntpwdCommand="

/usr/bin/mkntpwd"

以cn=test,dc=samba,dc=it,dc=com登录进入ldap服务器,我们就可修改smbaLMPassword和sambaNTP\assword两个属性值了。

其它用户的这两个属性test用户是看不到的。

其实,不使用phpldapadmin来维护samba用户密码也可以,我们完全可以用python-ldap配合mkntpwd程序自已DIY一个用户密码管理程序。

2.3. 

回收站功能

samba也有回收站功能,它能把你在samba服务器中删除的文件移到回收站中,而不是真正的从磁盘删除掉。

这大大提高了数据的安全性,更人性化一些。

下面介绍如何设置。

comment=HomeDirectories

browseable=no

#Bydefault,thehomedirectoriesareexportedread-only.Changenext

#parameterto'

yes'

ifyouwanttobeabletowritetothem.

writable=yes

#Filecreationmaskissetto0700forsecurityreasons.Ifyouwantto

#createfileswithgroup=rwpermissions,setnextparameterto0775.

createmask=0700

#Directorycreationmaskissetto0700forsecurityreasons.Ifyouwantto

#createdirs.withgroup=rwpermissions,setnextparameterto0775.

directorymask=0700

vfsobject=recycle#启用回收站功能

recycle:

keeptree=yes#保

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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