samba.docx

上传人:b****3 文档编号:27210835 上传时间:2023-06-28 格式:DOCX 页数:11 大小:20.50KB
下载 相关 举报
samba.docx_第1页
第1页 / 共11页
samba.docx_第2页
第2页 / 共11页
samba.docx_第3页
第3页 / 共11页
samba.docx_第4页
第4页 / 共11页
samba.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

samba.docx

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

samba.docx

samba

关键字:

linuxsamba

随着计算机网络的发展,实现不同操作系统的文件和打印共享成为一个必然的趋势。

用过Windows的用户都知道,网上邻居是一个可以方便地访问其他Windows计算机资源的共享方式。

为了使Windows用户以及Linux用户能够互相访问彼此的资源,Linux提供了一套资源共享的软件——Samba服务器。

 

4.1SMB协议和Samba简介 

4.1.1SMB协议 

为了使Windows主机间的资源能够共享,微软于1980年开发了SMB(ServerMessageBlock)通信协议,并通过SMB通信协议,使网络上各台主机之间能够共享文件、打印机等资源。

目前类似这种资源共享的通信协议还有NFS、Appletalk、Netware等。

 

4.1.2Samba简介 

这些年来,Windows和Linux操作系统各自拥有自己的用户群和市场。

然而在一般的公司或学校里,可能同时有Windows和Linux操作系统的主机。

Windows主机彼此间可利用“网上邻居”来访问共享的资源,NFS也能使Linux主机之间实现资源共享。

但如何能使Windows主机和Linux主机之间实现资源共享呢?

 

微软的“网上邻居(就是Windows上利用SMB通信协议实现资源共享的程序)”一经推出,便广受用户的好评,大家突然觉得原来要在网上共享资源尽是那么简单,有鉴于此,便有一些Linux爱好者开始在Linux主机上实现SMB通信协议,后来这个实现了SMB功能的软件既被称为Samba,它使得Windows主机和Linux主机之间实现了资源共享。

 

 4.1.3Samba软件的功能 

由于SMB通信协议采用的是Client/Server架构,所以Samba软件可以分为客户端和服务器端两部分。

通过执行Samba客户端程序,Linux主机便可以使用网络上Windows主机所共享的资源;而在Linux主机上安装Samba服务器,则可以使Windows主机访问Samba服务器共享的资源

Samba提供了以下功能:

 

 

(1)共享Linux的文件系统

(2)共享安装在Samba服务器上的打印机

(3)使用Windows系统共享的文件和打印机 

(4)支持Windows域控制器和Windows成员服务器对使用Samba资源的用户进行认证 

(5)支持WINS名字服务器解析及浏览

   (6)支持SSL安全套接层协议

 

 

4.2安装和启动Samba

Samba软件安装在Linux一端。

目前主要由一个20人左右的Samba团队负责维护及开发,用户可以在http:

//www.samba.org/站点获得Samba的详细信息。

同时,也可以在网页上下载Samba的最新版本 

4.2.1安装Samba服务器 

如果用户在安装Linux时已经安装了Samba,就无需再安装了可以通过下列命令确定是否已经安装了Samba。

 

[root@smb_server root]#rpm –qa|grep samba

samba-commom-2.2.7a-7.9.0

samba-2.2.7a-7.9.0

samba-client-2.2.7a-7.9.0

redhat-config-samba-1.0.4-1

samba-swat-2.2.7a-7.9.0

若出现这5个软件包,则表示已经安装了Samba,否则必须安装Samba。

 

[root@smb_server root]#mount /dev/cdrom /mnt/cdrom  

将光盘挂载到/mnt/cdrom目录]

[root@smb_server root]#cd /mnt/cdrom/RedHat/RPMS 

切换到放置rpm文件的目录 

[root@smb_server root]#rpm -ivhsamba-commom-2.2.7a-7.9.0i386.rpm

这是Samba必备的程序,必须安装 

[root@smb_server root]#rpm -ivhsamba-2.2.7a-7.9.0.i386.rpm

安装Samba服务器程序,可以使我Windows主机访问Samba服务器共享的资源。

 

如果需要使Linux主机访问Windows主机上的共享资源,则还应该安装Samba客户端程序。

 

[root@smb_server root]#rpm -ivhsamba-client-2.2.7a-7.9.0.i386.rpm

4.2.2Samba的全局参数的配置 

Samba最主要的配置文件是/etc/samba/smb.conf,其中有很多选项可以设置,但作为初学者,只需要掌握其中一小部分选项的设置就可以配置所需要的Samba服务器了。

在了解基本配置的基础上,就能很快架设一个基本的Samba服务器。

在基本配置文件中,也只用到其中一小部分命令选项。

全局参数的配置在[global]字段中,没有出现(或被注释)的参数,Samba采用的是默认配置。

#ThisisthemainSambaconfigurationfile.Youshouldreadthe

#smb.conf(5)manualpageinordertounderstandtheoptionslisted

#here.Sambahasahugenumberofconfigurableoptions(perhapstoo

#many!

)mostofwhicharenotshowninthisexample

#==================GlobalSettings============================

[global]

#这是配置文件中关于全局参数的设置部分。

 

…………

  workgroup=SMBGROUP

#这是设置服务器所要加入的工作组的名称,会在Windows的“网上邻居”中能看到MYGROUP工作组,可以在此设置所需要的工作组的名称。

 

netbiosname=smb-server

#设置出现在“网上邻居”中的主机名。

默认情况下,则使用真正的主机名。

 

  serverstring=SambaServer

#这是设置服务器主机的说明信息,当在Windows的“网上邻居”中打开Samba上设置的工作组时,在Windows的资源管理器窗口,会列出“名称”和“备注”栏,其中“名称”栏会显示出Samba服务器的NetBios名称,而“备注”栏则显示出此处设置的“SambaServer”。

当然,可以修改默认的“SambeServer”,使用自己的描述信息。

 

 hostsallow=192.168.1.127

#这里是设置允许什么样的IP地址的主机访问Samba服务器。

默认的情况下,hostsallow选项被注释,表示允许所有IP地址的主机访问。

 

 guestaccount=pcguest

#设置当访问那些被设置了“guestok=yes”参数的资源时所要使用的帐号名。

默认的帐号为”nobody”,如果不想用默认的值,则应该去掉注释用的分号,用你想要的帐号(如pcguest、zhangsan等 ),然后,你必需将这一新帐号加入到/etc/passwd文件中去。

 

client code page=950

设置客户端访问Samba服务器时所使用的字符编码表(codepage),默认值为850,如果Samba服务器要使用年中文名称来来命名共享的资源,要将此值改为950 

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

#这一选项要求Samba服务器为每一个连接的机器使用一个单独的日志文件,指定文件的位置,名称。

Samba会自动将%m转换成连接主机的NetBios名。

 

  maxlogsize=0

指定日志文件的最大容量(以KB为单位),设置为0,表示没有限制。

默认值为5000。

 

maxdisksize=1000

#设置能够共享的最大磁盘空间,单位为MB,默认值为0,表示不作任何限制。

 

maxopenfile=100

#设置同一客户端最多能打开文件的数目,默认值为10000个。

 

  security=user

#设置Samba服务器的安全等级。

默认情况下,使用user等级。

 

#Samba服务器一共有四种安全等级。

 

share:

使用此等级,用户不需要帐号及密码可以登陆Samba服务器。

 

user:

 使用此等级,由提供服务的Samba服务器检查用户帐号及密码。

 

server:

使用此等级,检查帐号及密码的工作可指定另一台Samba服务器负责。

domain:

使用此等级,需要指定一台WindowsNT/2000/XP服务器(通常为域控制器),以验证用户输入的帐号及密码。

 

;  passwordserver=

#如果安全等级为“server”或“domain”,则使用此选项指定要验证密码的主机名。

 

 passwordlevel=8

 usernamelevel=8

#设置当验证用户口令和帐号时最多允许几个大小写字不同。

默认值为0。

 

  encryptpasswords=yes

#设置当Samba客户端将帐号及密码传送到服务器端时,是否采取密码加密的方式。

客户的操作系统如果是Windows95OSR2及NTSP3以后的版本,应该将此选项的值设为yes,默认值为no。

 

  smbpasswdfile=/etc/samba/smbpasswd

#设置在Samba服务器上存放加密的密码文件的位置(注意:

Samba服务器与Linux采用不同的密码文件)。

 

 

4.2.3设置Samba密码文件 

smb.conf文件中有“smbpasswordfile=/ect/samba/smbpassword”一行设置项,现在就要创建该设置项所指定的/ect/samba/smbpassword密码文件(若是用WindowsNT/2000Server来验证密码,则可以跳过此段内容)。

以root帐号登录,然后按下列步骤进行:

 

[root@smb_server root]#cat/etc/passwd|mksmbpasswd.sh > /etc/samba/smbpasswd

[root@smb_server root]#chmod 500 /etc/samba

[root@smb_server root]#chmod 600 /etc/samba/smbpasswd

 

此步骤是将未加密的/etc/passwd文件转换成加密的smbpasswd文件。

基于保密的原则,将/etc/samba目录的权限设为500,该文件的权限设为600,以避免他人取得密码文件。

 

完成之后再利用smbpasswd命令,设置/ect/samba/smbpassword文件中每个帐号所使用的密码。

(下面以fred为例。

注意:

此处设置的密码是fred要访问Samba服务器的密码,并非登录Linux主机的密码,默认设置”UNIXpassword sync=YES”,则登录Linux主机的密码将改变,与Samba服务器的密码一致,如果希望这两个密码不一致,则设置”UNIXpassword sync=NO”) 

[root@smb_server root]#smbpasswdfred

NewSMBpassword:

此处输入密码 

RetypeSMBpassword:

重新输入密码 

Password changed foruser fred 看到这一句表示密码设置成功。

 

 

4.2.4启动Samba服务器 

可以执行下面的命令来启动Samba服务器:

 

[root@smb_server Root]#  servicesmbstart

当能看到下面的显示,就表示启动成功。

 

Starting SMB service         [确定]

Starting NMB service         [确定]

 

如果要暂停或重新启动Samba服务器,只要将上面命令中的start改为stop或restat就可以了。

 

也可以让系统在每次开机时就启动Samba服务器。

执行ntsysv命令,进入Service设置画面,选择smb选项,单击确定即可。

 

4.2.5测试Samba配置文件 

设置好smb.conf文件之后,执行下面的命令测试smb.conf的设置语法是否正确。

 

[root@smb_server root]# testparm

Loadsmbconfigfilesfrom/etc/samba/smb.conf

Processingsection"[homes]"

Processingsection"[printers]"

Processingsection"[tmp]"

Processingsection"[public]"

Processingsection"[fredsdir]"

LoadedservicesfileOK.

Pressentertoseeadumpofyourservicedefinitions

表示正确。

 

检查正常后,一定要记得执行 

[root@smb_server root]#  servicesmb restart

命令,重新启动Samba服务器。

4.3配置Samba文件共享 

完成了全局环境的设置之后,可以设置共享的资源(包括共享的文件和打印机)了。

先来介绍如何配置Smb.conf,实现文件的共享。

4.3.1设置共享资源参数 

  comment

#针对共享资源所作的说明、注释部分

 browseable

#设置用户是否可以看到此共享资源。

默认值为yes,若将此参数设置为no,用户虽然看不到此资源,但是拥有权限的用户仍可直接输入该资源的网址来访问该资源。

  writable

#设置共享的资源是否可以写入。

若共享资源是打印机,则不需设置此参数

 

#设置可访问的用户。

系统会自动将%S转换成登录帐号。

  createmode

#设置文件的访问权限,默认值为0744。

  directorymode

设置目录的访问权限,默认值为0755。

path

#若共享资源是目录,则指定目录的位置;若为打印机,则指定打印机队列的位置。

readonly

#设置共享资源是否只读或可以写入,默认值为yes。

若共享资源为打印机时,此参数无任何意义。

这一项与writable相反。

Public

#等同于guestok选项,表示是否允许用户不使用帐号和密码便能访问此资源。

如果起用此功能,当用户没有帐号和密码时,则会利用“guestaccount=”所设置的帐号名登录。

该选项默认值为no,即不允许没有帐号即密码的用户使用此资源。

avalible

#设置是否启用此共享资源。

默认值为yes。

若将此参数设置为no,则不管其他参数设置为什么,所有人均不得使用此资源。

 

 validusers

 

4.3.2配置Samba文件共享举例 

以下通过配置3个不同的共享目录为例,可以知道配置Samba文件共享的一般方法。

 

[global]

………… 

#采用前面的[global]配置

[homes]

#用来配置用户访问自己的目录

  comment=HomeDirectories

#注释

  browseable=no

#用户私人目录,不给别人浏览(并不是不允许别人访问)

  writable=yes

#允许用户写入自己的目录

  validusers=%S

#可访问的用户局限于用户自己。

%s会被自动转换为登录帐号。

 createmode=0664

#文件的访问权限

  directorymode=0775

#目录的访问权限

#Thisoneisusefulforpeopletosharefiles

[tmp]

#这个部分为所有用户提供临时共享的方式

  comment=Temporaryfilespace

#注释文字

 path=/tmp

#指定位置 

readonly=no

#可以读写 

public=yes

#允许用户不用帐号和密码访问

 [public]

# 这个部分为所有用户提供可以共同访问的目录。

允许staff组用户写入,但其他用户只可访问,不能写入。

 comment=PublicStuff

  path=/home/samba

  public=yes

  writable=yes

  printable=no

  writelist=@staff

#writelist参数是用来设置具有写权限的用户列表。

这里只允许staff组的成员有写的权限

 [fredsdir]

#这个部分用来设置某一用户fred的访问权限。

 comment=Fred’sService

 path=/usr/fred/private

 validusers=fred

#只有fred可以访问(注意:

即使security=share,也不代表用户登录Linux主机后可以访问任意资源。

)该共享目录

 public=no

 writable=yes

 printable=no

 

说明:

配置文件修改后,要重新用testparm测试配置文件,重新启动Samba服务器程序。

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

当前位置:首页 > 工作范文 > 演讲主持

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

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