1、第第8章章 文件共享服务文件共享服务8.1NFS服务器8.2Samba服务器及其配置8.2 NFS服务器服务器8.1.1 NFS概述概述NFS的全称是的全称是Network Files System,网络文件系统。,网络文件系统。NSF是一是一种在网络上的机器间共享文件的方法,文件就如同位于客种在网络上的机器间共享文件的方法,文件就如同位于客户的本地硬盘驱动器上一样。户的本地硬盘驱动器上一样。Red Hat Linux 既可以是既可以是 NFS 服务器也可以是服务器也可以是 NFS 客户,这意味着它可以把文件系统导客户,这意味着它可以把文件系统导出给其它系统,也可以挂载从其它机器上导入的文件系
2、统。出给其它系统,也可以挂载从其它机器上导入的文件系统。8.1.2 NFS服务的启动和停止服务的启动和停止要把自己的文件系统共享出去,首先保证自己的机器上启要把自己的文件系统共享出去,首先保证自己的机器上启动了动了NFS服务。启动了服务。启动了NFS服务就是需要启动一组程序,包服务就是需要启动一组程序,包括装配服务器和括装配服务器和NFS协议服务器。可以使用以下命令来启动协议服务器。可以使用以下命令来启动 NFS 守护进程:守护进程:#service nfs start 可使用以下命令来查看可使用以下命令来查看 NFS 守护进程的当前状态:守护进程的当前状态:#service nfs stat
3、us可使用以下命令来停止可使用以下命令来停止 NFS 守护进程:守护进程:#service nfs stop如果修改了如果修改了NFS的配置,可使用以下命令来重新启的配置,可使用以下命令来重新启动国动国NFS的守护进程:的守护进程:#service nfs restart该命令在终端上的显示结果如图该命令在终端上的显示结果如图5-14所示。所示。要在引导时启动要在引导时启动 nfs 服务,使用以下命令:服务,使用以下命令:#chkconfig-level 345 nfs on8.1.3 NFS服务器的配置服务器的配置使从使从 NFS 服务器中共享文件又称导出目录。在服务器中共享文件又称导出目录
4、。在Linux系统中可使用系统中可使用NFS 服务器配置工具来配置服务器配置工具来配置 NFS 服务器。要使用服务器。要使用 NFS 服务器配置工具,必须服务器配置工具,必须运行运行 X 窗口系统,并要具备根特权,且安装了窗口系统,并要具备根特权,且安装了 redhat-config-nfs RPM 软件包。要启动服务器配置软件包。要启动服务器配置工具,可以有以下两种方式:工具,可以有以下两种方式:(1)依次单击面板上的)依次单击面板上的“主菜单系统设置服务器主菜单系统设置服务器设置设置NFS 服务器服务器”打开如图所示的对话框。打开如图所示的对话框。(2)在终端提示符下键入)在终端提示符下键
5、入 redhat-config-nfs 命令,命令,也可打开如图所示的对话框。也可打开如图所示的对话框。NFS 服务器配置工具服务器配置工具另外,还要建立一个共享目录,本书中的例子在另外,还要建立一个共享目录,本书中的例子在“/home”目录下建立了一个目录下建立了一个PUB子目录,如图所示。子目录,如图所示。下面来说明通过下面来说明通过NFS 服务器配置工具来共享文件的方法,步服务器配置工具来共享文件的方法,步骤如下骤如下:(1)要添加)要添加 NFS 共享,单击图中的共享,单击图中的“添加添加”按钮,打开如图按钮,打开如图所示的对话框。所示的对话框。添加添加 NFS 共享共享在图中,在图中
6、,“基本基本”活页标签所输入的信息说明:活页标签所输入的信息说明:目录:指定要共享的目录,如目录:指定要共享的目录,如/tmp。主机:。主机:指定要共享指定要共享目录的主机。主机所输入的信息可以使用以下格式:目录的主机。主机所输入的信息可以使用以下格式:n n 单个机器:一个全限定域名(能够被服务器解析单个机器:一个全限定域名(能够被服务器解析的),主机名(能够被服务器解析的),或的),主机名(能够被服务器解析的),或 IP 地址。地址。n n 使用通配符指定的一系列机器:使用使用通配符指定的一系列机器:使用“*”或或“?”字字符来指定字符串匹配。通配符不能被用在符来指定字符串匹配。通配符不能
7、被用在 IP 地址中;如地址中;如果逆向果逆向 DNS 查寻失败了,通配符可能碰巧会奏效。当你查寻失败了,通配符可能碰巧会奏效。当你在全限定域名中指定通配符时,点(在全限定域名中指定通配符时,点(.)不包括在)不包括在 通配通配符的匹配项目内。例如:符的匹配项目内。例如:* 包括包括 ,但不包括,但不包括 .n n IP 网络:网络:使用使用 a.b.c.d/z,这里的,这里的 a.b.c.d 是网络,是网络,z 是子网掩码中的位数(如是子网掩码中的位数(如 192.168.0.0/24)。另一种可以)。另一种可以接受的格式是接受的格式是 a.b.c.d/netmask,这里的,这里的 a.b
8、.c.d 是网络,是网络,netmask 是子网掩码(如是子网掩码(如 192.168.100.8/255.255.255.0)。)。n n NetgroupsNetgroups:格式为:格式为 group-namegroup-name,这里的,这里的 group-group-name name 是是 NIS netgroupNIS netgroup 的名称。的名称。基本权限:指定目录应该有只读权限还是读写权限。基本权限:指定目录应该有只读权限还是读写权限。(2 2)单击)单击“常规选项常规选项”活页标签,打开如图所示的对话框。活页标签,打开如图所示的对话框。“常规选项常规选项”活页标签活页标
9、签“常规选项常规选项”活页标签允许配置以下选项:活页标签允许配置以下选项:允许来自高于允许来自高于 1024 1024 的端口的连接:的端口的连接:在号码小于在号码小于 1024 1024 的端口上启动的服务必须以根用户身份启动。选的端口上启动的服务必须以根用户身份启动。选择这个选项来允许根用户以外的用户来启动择这个选项来允许根用户以外的用户来启动 NFS NFS 服务。服务。允许不安全的文件锁定:允许不安全的文件锁定:不需要锁定请求。不需要锁定请求。禁用子树检查:禁用子树检查:如果某文件系统的子目录被导出,如果某文件系统的子目录被导出,但是整个文件系统没有被导出,服务器会检查所请求的但是整个
10、文件系统没有被导出,服务器会检查所请求的文件是否在导出的子目录中。这种检查叫做子树检查文件是否在导出的子目录中。这种检查叫做子树检查(subtreesubtree checking checking)。选择这个选项来禁用子树检)。选择这个选项来禁用子树检查。如果整个文件系统被导出,选择禁用子树检查可以查。如果整个文件系统被导出,选择禁用子树检查可以提高传输率提高传输率 按要求同步写操作:按要求同步写操作:默认被启用,该选项不允许服默认被启用,该选项不允许服务器在请求被写入磁盘前回复这些请求。务器在请求被写入磁盘前回复这些请求。立即强制同步写操作:立即强制同步写操作:不推迟写入磁盘的操作。不推迟
11、写入磁盘的操作。该选项和该选项和 no_delay 相对应。相对应。(3 3)单击)单击“用户访问用户访问”活页标签,打开如图所示的对话框。活页标签,打开如图所示的对话框。“用户访问用户访问”活页标签活页标签 把远程根用户当作本地根用户:把远程根用户当作本地根用户:按照默认设置,按照默认设置,根用户的用户根用户的用户 ID ID 和组群和组群 ID ID 都是都是 0 0。根权限压缩根权限压缩(Root_ squashRoot_ squash)把用户把用户 ID 0 ID 0 和组群和组群 ID 0 ID 0 映射为匿名映射为匿名的用户和组群的用户和组群 IDID,因此客户上的根用户就不会在,
12、因此客户上的根用户就不会在 NFS NFS 服服务器上具备根特权。如果这个选项被选,根用户就不会被务器上具备根特权。如果这个选项被选,根用户就不会被映射为匿名用户,客户上的根用户就会对导出的目录拥有映射为匿名用户,客户上的根用户就会对导出的目录拥有根特权。选择这个选项会大大降低系统的安全性。除非绝根特权。选择这个选项会大大降低系统的安全性。除非绝对必要,请不要选择它。对必要,请不要选择它。把所有客户用户当作匿名用户:把所有客户用户当作匿名用户:如果该选项被选,如果该选项被选,所有用户和组群所有用户和组群 ID ID 都会被映射为匿名用户。都会被映射为匿名用户。n n 为匿名用户指定本地用户为匿
13、名用户指定本地用户 IDID:如果如果“把所有客户把所有客户用户当作匿名用户用户当作匿名用户”被选,这个选项会让为匿名用户指定被选,这个选项会让为匿名用户指定一个用户一个用户 IDID。n n 为匿名用户指定本地组群为匿名用户指定本地组群 IDID:如果如果“把所有客户把所有客户用户当作匿名用户用户当作匿名用户”被选,这个选项会让被选,这个选项会让 你为匿名用户你为匿名用户指定一个组群指定一个组群 IDID。共享文件添加后的共享文件添加后的NFSNFS服务器配置工具服务器配置工具(4)当确认以上各项都正确输入之后,单击)当确认以上各项都正确输入之后,单击“确定确定”按钮。共享添加成功,如图所示
14、。按钮。共享添加成功,如图所示。NFS服务器的状态查询服务器的状态查询showmountshowmount命令可用来显示连接到指定命令可用来显示连接到指定NFSNFS服务器的服务器的所有主机,如不指定所有主机,如不指定NFSNFS服务器,默认设置为显示服务器,默认设置为显示当前主机中当前主机中NFSNFS服务器的信息。命令格式如下:服务器的信息。命令格式如下:showmountshowmountNFSNFS服务器主机地址服务器主机地址 另外,还使用该命令来显示另外,还使用该命令来显示NFSNFS服务器的输出列表,服务器的输出列表,命令格式如下:命令格式如下:showmountshowmount
15、 e NFS e NFS服务器主机地址服务器主机地址 还可以使用还可以使用-d-d参数来不指定参数来不指定NFSNFS服务器中已被客户服务器中已被客户端连接的所有输出目录,以及用端连接的所有输出目录,以及用-a a参数显示指定参数显示指定NFSNFS服务器的所有客户端主机及其所连接的目录。服务器的所有客户端主机及其所连接的目录。其命令格式如下:其命令格式如下:showmountshowmount d NFS d NFS服务器主机地址服务器主机地址 showmountshowmount a NFS a NFS服务器主机地址服务器主机地址 8.1.4 NFS的客户端配置的客户端配置在在Red Ha
16、t Linux 9Red Hat Linux 9中使用中使用mountmount命令可以把网络中命令可以把网络中NFSNFS服务器的共享目录挂载到主机的文件系统中,就象使用服务器的共享目录挂载到主机的文件系统中,就象使用本地文件系统中的目录一样使用本地文件系统中的目录一样使用NFSNFS挂载目录,用户不挂载目录,用户不会感觉到有什么不同之处。方法如下:会感觉到有什么不同之处。方法如下:(1 1)显示显示NFSNFS服务器的输出共享目录:服务器的输出共享目录:在使用在使用mountmount命命令挂载令挂载NFSNFS服务器的共享目录之前,使用下面的命令先服务器的共享目录之前,使用下面的命令先来
17、查询来查询NFSNFS服务器中是否允许本机连接相应的共享目录。服务器中是否允许本机连接相应的共享目录。#showmoutn#showmoutn e 211.85.203.22 e 211.85.203.22(2 2)挂载挂载NFSNFS服务器中的共享目录:服务器中的共享目录:在确认在确认NFSNFS服务器服务器设置正确后,在客户端主机使用设置正确后,在客户端主机使用mountmount命令来挂载命令来挂载NFSNFS服务器的共享目录到本地目录。服务器的共享目录到本地目录。mountmount命令的格式如下:命令的格式如下:#mount NFS#mount NFS服务器地址服务器地址:共享目录共
18、享目录 本地挂载点目录本地挂载点目录特别说明,在特别说明,在NFSNFS服务器地址与共享目录之间用服务器地址与共享目录之间用“:”隔开,隔开,挂载点为本地空目录。本例中采用在挂载点为本地空目录。本例中采用在“/mnt/mnt”目录下建立目录下建立一个一个nfsnfs子目录,然后把用户在子目录,然后把用户在NFSNFS服务器上的共享目录挂服务器上的共享目录挂载到本地的空目录载到本地的空目录/mnt/nfs/mnt/nfs上。使用命令如下:上。使用命令如下:#mount :/home/public/mnt/nfs#mount :/home/public/mnt/nfs用户使用用户使用NFSNFS服
19、务器的共享目录服务器的共享目录(3 3)当把某个)当把某个NFSNFS服务器的共享目录正确的挂载服务器的共享目录正确的挂载在本地之后,可使用如下的命令来查询该目录的在本地之后,可使用如下的命令来查询该目录的挂载状态。挂载状态。#mount|grep nfs#mount|grep nfs(4 4)当用户不需要在使用某个)当用户不需要在使用某个NFSNFS服务器的共享服务器的共享目录时,可使用下面的命令来卸载目录的共享。目录时,可使用下面的命令来卸载目录的共享。#unmount/mnt/nfs#unmount/mnt/nfs8.1.5NFS8.1.5NFS服务器的配置文件与自动挂载服务器的配置文件
20、与自动挂载1 1:/etc/exports/etc/exports文件的格式如下:文件的格式如下:directory_to_export NFS_client(permissionsdirectory_to_export NFS_client(permissions)其中,其中,directory_to_exportdirectory_to_export为要导出的文件系统或目为要导出的文件系统或目录名称,该目录必须是一个绝对路径;录名称,该目录必须是一个绝对路径;NFS_clientNFS_client是是可以访问该可以访问该NFSNFS服务器的客户机名称;服务器的客户机名称;permissi
21、onspermissions是是NFSNFS客户机访问导出目录的访问权限,它的可选值为客户机访问导出目录的访问权限,它的可选值为roro(只读)或(只读)或rwrw(读写)。(读写)。下面是一个下面是一个/etc/exports文件的实例,在此我们导出文件的实例,在此我们导出了了NFS服务器服务器/tmp laptop(rw)win(rw/tmp laptop(rw)win(rw)/mnt/cdrom laptop(ro)win(ro/mnt/cdrom laptop(ro)win(ro)保存所做修改,并在命令行执行如下命令使配置生效。保存所做修改,并在命令行执行如下命令使配置生效。expor
22、tfsexportfs a a需要注意的是,在需要注意的是,在/etc/exports/etc/exports中定义的主机必须是在中定义的主机必须是在/etc/etc/hosts hosts 文件中已经定义的。否则在执行上述命令时,文件中已经定义的。否则在执行上述命令时,exportfsexportfs会发现不能找到主机,它将报告一下信息。会发现不能找到主机,它将报告一下信息。ExportfsExportfs:laptop has nonlaptop has noninet addrinet addr 现在,现在,NFSNFS服务器的服务器的/tmp/tmp和和/mnt/cdrom/mnt/c
23、drom目录就已经被导出了。目录就已经被导出了。表表1 Export命令参数命令参数命令命令 功能功能ExportfsExportfs a a 从从/etc/exports/etc/exports中导出所有共享目录中导出所有共享目录ExportfsExportfs r r 改变改变/etc/exports/etc/exports之后取得共享目录清单之后取得共享目录清单ExportfsExportfs u u 不导出所有目录不导出所有目录ExportfsExportfs v v 显示当前的共享目录显示当前的共享目录常用的参数:常用的参数:Ro:Ro:客户端对共享目录中的文件只读客户端对共享目录中
24、的文件只读RwRw:客户端有读写权限客户端有读写权限Sync:Sync:表示服务器在请求所做的改变被写入磁盘前不会表示服务器在请求所做的改变被写入磁盘前不会回复这些请求(推荐使用);另外也可以是回复这些请求(推荐使用);另外也可以是asyncasyncRoot_squashRoot_squash:禁止客户端的禁止客户端的rootroot用户映射为服务器端的用户映射为服务器端的r o o tr o o t 用 户,而 是 把用 户,而 是 把 r o o tr o o t 用 户 映 射 为 匿 名 用 户用 户 映 射 为 匿 名 用 户nfsnobodynfsnobodyNo_root_sq
25、uashNo_root_squash:将客户端的将客户端的rootroot用户映射为服务器端用户映射为服务器端的的rootroot用户用户all_squashall_squash:将任何客户端用户映射为本地将任何客户端用户映射为本地nfsnfs服务器端服务器端的匿名用户(默认设置)的匿名用户(默认设置)Anonuid,anongidAnonuid,anongid:将客户端的用户映射为本地将客户端的用户映射为本地nfsnfs服务服务器指定的用户器指定的用户例子:例子:/home/joe/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)pc
26、001(rw,all_squash,anonuid=150,anongid=100)/opt/bak/opt/bak 192.168.137.24(ro,sync,root_squash)192.168.137.24(ro,sync,root_squash)8.1.5NFS8.1.5NFS服务器的配置文件与自动挂载服务器的配置文件与自动挂载2:设置:设置fstab文件进行自动挂载文件进行自动挂载fstab文件格式如下:文件格式如下:fs_specfs_filefs_typefs_optionsfs_dumpfs_pass fs_spec:设备名或者设备卷标名。该字段定义希望加载的文件系统所在的
27、:设备名或者设备卷标名。该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一设备一般描述为般描述为/dev/hdXN,X是是IDE设备通道设备通道(a,b,orc),N代表分代表分区号;区号;SCSI设备一描述为设备一描述为/dev/sdXN。对于。对于NFS情况,格式一般为情况,格式一般为“IP:directory”。对于。对于procfs,使用,使用“proc”来定义。来定义。fs_file:该字段描述希望的文件系统加载的目录点,对于:该字段描述希望的文件系统加载的目录点,对于swap设备,该字设
28、备,该字段为段为none;对于加载目录名包含空格的情况,用;对于加载目录名包含空格的情况,用40来表示空格。来表示空格。fs_type:定义了该设备上的文件系统,一般常见的文件类型为:定义了该设备上的文件系统,一般常见的文件类型为ext2、ext3(Linux设备的常用文件类型)、设备的常用文件类型)、vfat(Windows系统的系统的fat32格式)、格式)、NTFS、iso9600等。等。fs_options:指定加载该设备的文件系统是需要使用的特定参数选项,多:指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用个参数是由逗号分隔开来。对于大多
29、数系统使用“defaults”就可以满就可以满足需要。其它常见的选项包括:足需要。其它常见的选项包括:2:设置:设置fstab文件进行自动挂载文件进行自动挂载nro 以只读模式加载该文件系统以只读模式加载该文件系统 nsync 不对该设备的写操作进行缓冲处理,这可以防止在非不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度正常关机时情况下破坏文件系统,但是却降低了计算机速度 nuser 允许普通用户加载该文件系统允许普通用户加载该文件系统 nquota 强制在该文件系统上进行磁盘定额限制强制在该文件系统上进行磁盘定额限制 nnoauto 不再使用
30、不再使用mount-a命令(例如系统命令(例如系统启动启动时)加载时)加载该文件系统该文件系统 nfs_dump 该选项被该选项被“dump”命令使用来检查一个文件系统命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为应该以多快频率进行转储,若不需要转储就设置该字段为0 nfs_pass该字段被该字段被fsck命令用来决定在启动时需要被扫描的命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统文件系统的顺序,根文件系统“/”对应该字段的值应该为对应该字段的值应该为1,其它文件系统应该为其它文件系统应该为2。若该文件系统无需在启动时扫描则设。若该文件系统无需在启动
31、时扫描则设置该字段为置该字段为0 2:设置:设置fstab文件进行自动挂载文件进行自动挂载示例文件:示例文件:n/dev/hda1/ext3defaults 1 1 n/dev/hda2/homeext3 defaults 1 1 n/dev/hda3/var ext3 defaults 1 1 n/dev/hda4swapswapdefaults 00 n/dev/cdrom/mnt/cdromiso9660 noauto,user 0 0 n/dev/fd0/mnt/floppy auto noauto,user 0 0 nnone/procproc defaults 00 nnone/d
32、ev/pts devpts gid=5,mode=62000n如果我们希望客户端开机自动加载网络文件系统如果我们希望客户端开机自动加载网络文件系统NFS,可编,可编辑此文件,添加下面这行:辑此文件,添加下面这行:n192.168.137.10:/home/public/mnt/nfs ext3defaults00 8.2 Samba服务器服务器8.2.1 Samba简介简介 1.Samba的基础知识的基础知识网络的目标是让用户更方便地共享信息。如果网络中既有网络的目标是让用户更方便地共享信息。如果网络中既有Windows机器又机器又有有Linux机器,以及其他机器,以及其他Unix类的机器,如
33、要相互共享资源,使用类的机器,如要相互共享资源,使用Samba服服务是很好的选择。务是很好的选择。Samba会允许文件和打印机被网络中的所有系统共享。会允许文件和打印机被网络中的所有系统共享。Samba使用使用 SMB(Server Message Block)协议通过网络连接共享文件和打)协议通过网络连接共享文件和打印机,支持该协议的操作系统包括印机,支持该协议的操作系统包括 Microsoft Windows、OS/2和和 Linux和和Unix。本章主要介绍本章主要介绍Samba的配置和使用,以及相关的安全性问题。的配置和使用,以及相关的安全性问题。SambaSamba是一组软件包,使是
34、一组软件包,使LinuxLinux支持支持SMBSMB协议,是一套让协议,是一套让LinuxLinux系统能够应用系统能够应用MicrosoftMicrosoft网络通讯协议的软件。它使执行网络通讯协议的软件。它使执行LinuxLinux系统的机器能与执行系统的机器能与执行WindowsWindows系统的计算机进行文件与打印机共享系统的计算机进行文件与打印机共享.2.Samba2.Samba的主要功能的主要功能 (1 1)提供)提供WindowsWindows操作系统风格的文件和打印机共享操作系统风格的文件和打印机共享 Windows 98Windows 98、Windows XPWindo
35、ws XP、Windows 2000Windows 2000等以据此共享等以据此共享LinuxLinux等其他操作系统的等其他操作系统的资源,外表看起来和共享资源,外表看起来和共享WindowsWindows资源没有区别,并支持资源没有区别,并支持WindowsWindows客客户使用网上邻居浏览网络。户使用网上邻居浏览网络。(2 2)提供)提供SMBSMB客户功能:利用客户功能:利用SambaSamba提供的提供的smbclintsmbclint程序可程序可以从以从LinuxLinux下以类似于下以类似于 FTPFTP的方式访问的方式访问WindowsWindows的资源。的资源。(3 3)
36、备份)备份PCPC上的资源:利用一个叫上的资源:利用一个叫smbtarsmbtar的的shell shell 脚本,脚本,可以使用可以使用 tar tar 格式备份和恢复一台远程格式备份和恢复一台远程 WindowsWindows上的上的共享文件。共享文件。(4)提供一个命令行工具,在其上可以有限制地支持)提供一个命令行工具,在其上可以有限制地支持NT的某些管理功能。的某些管理功能。3.Samba3.Samba组成组成 一个一个sambasamba服务器实际上包含了两个服务器程序:服务器实际上包含了两个服务器程序:smbdsmbd和和nmbdnmbd。SmbdSmbd是是sambasamba的
37、核心。它负责建立对话进程、验的核心。它负责建立对话进程、验证用户身份、提供对文件系统和打印机的访问机制。证用户身份、提供对文件系统和打印机的访问机制。NmbdNmbd实现了实现了“Network Brower”Network Brower”(网络浏览服务器)的(网络浏览服务器)的功能。它的作用是对外发布功能。它的作用是对外发布sambasamba服务器可以提供的服服务器可以提供的服务。务。Samba还包含了一些实用工具。还包含了一些实用工具。Smbclient是一个是一个SMB客户工具,有客户工具,有shell-based用户界面并同用户界面并同FTP有些类似。应用有些类似。应用它可以复制其它
38、的它可以复制其它的SMB服务器资源,还可以访问其它服务器资源,还可以访问其它SMB服务器提供的打印机资源。服务器提供的打印机资源。TestparmTestparm命令用来快速检查命令用来快速检查smb.confsmb.conf文件的语法错文件的语法错误。其它工具用来配置误。其它工具用来配置sambasamba的加密口令文件、配置用于的加密口令文件、配置用于sambasamba国际化的字符集。国际化的字符集。8.2.2 安装与配置安装与配置Samba服务器服务器1.Samba1.Samba服务器的安装服务器的安装(1 1)如果在安装)如果在安装LinuxLinux时,已经安装的时,已经安装的Sa
39、mbaSamba,就不需要,就不需要再安装了。但如果不确定是否已经安装了再安装了。但如果不确定是否已经安装了SambaSamba,即可使用,即可使用下面的命令来确认:下面的命令来确认:#rpm qa|grep#rpm qa|grep samba samba(2 2)如果确认没有安装)如果确认没有安装sambasamba,可将,可将Red Hat Linux 9Red Hat Linux 9的第一的第一张安装光盘放入光盘驱动器中,然后通过下面的命令进行挂张安装光盘放入光盘驱动器中,然后通过下面的命令进行挂装:装:#mount/mnt/cdrom#mount/mnt/cdrom(3 3)将终端的当
40、前工作目录切换到)将终端的当前工作目录切换到Red Hat Linux 9Red Hat Linux 9的安装的安装光盘的光盘的Red Hat/RPMSRed Hat/RPMS目录,使用如下命令:目录,使用如下命令:#cd/mnt/cdrom/Red#cd/mnt/cdrom/Red Hat/RPMS Hat/RPMS (4 4)安装所需要)安装所需要RPMRPM包。使用如下命令:包。使用如下命令:#rpm ivh#rpm ivh samba-common-2.2.7a-7.9.0.i386.rpm samba-common-2.2.7a-7.9.0.i386.rpm#rpm ivh#rpm
41、ivh samba-2.2.7a-7.9.0.i386.rpm samba-2.2.7a-7.9.0.i386.rpm#rpm ivh#rpm ivh samba-client-2.2.7a-7.9.0.i386.rpm samba-client-2.2.7a-7.9.0.i386.rpm(5 5)安装)安装sambasamba的图形配置工具。使用如下命令:的图形配置工具。使用如下命令:#rpm ivh#rpm ivh redhat-config-samba-1.0.4-1.noarch.rpm redhat-config-samba-1.0.4-1.noarch.rpm(6)弹出光盘。使用如
42、下命令:)弹出光盘。使用如下命令:#cd;eject可以以多种方式启动可以以多种方式启动Samba服务器。服务器。1通过命令方式启动通过命令方式启动Samba rootpuma/root#/etc/rc.d/init.d/samba start 或或 rootpuma/root#service smb startn2在X-Window 下启动SAMBAn选择“系统设置/“服务器设置”下的“服务”菜单项,选中“smb”服务,然后单击工具栏上的“启动”按钮。如图11-2所示:n3在系统启动时自动启动在系统启动时自动启动Samba通过命令通过命令chkconfig可设定在系统启动时自动启动可设定在系
43、统启动时自动启动Samba:rootpuma/rootchkconfig -level 345 smb on(注:(注:-level 345 指系统运行级别为指系统运行级别为35)。)。要停止要停止Samba服务器,可以使用以下命令:服务器,可以使用以下命令:rootpuma/root#etc/rc.d/init.d/smb stop 或者或者 rootpuma/root#service smb stop2.Samba2.Samba服务器的配置服务器的配置SambaSamba服务器的配置步骤如下:服务器的配置步骤如下:(1 1)启动)启动 Samba Samba 服务器配置工具。服务器配置工具
44、。(2 2)选择)选择“首选项首选项服务器设置服务器设置”,打开,打开“服务器设服务器设置置”对话框。对话框。(3-1)在在“基本基本”标签上,指定计算机应在的工作组以及对标签上,指定计算机应在的工作组以及对计算机的简短描述。这步操作是今后在计算机的简短描述。这步操作是今后在Windows系统的网上邻系统的网上邻居中所看到的计算机名。居中所看到的计算机名。(3-2)“安全性安全性”选项卡,是允许用户从网络中以什么样选项卡,是允许用户从网络中以什么样的验证方式访问该的验证方式访问该Samba服务器。服务器。Samba的安全Samba流行非常广泛,但也存在安全漏洞,特别是版本较低的Samba,尽管
45、这些漏洞在不断地得到修正,还是需要在使用时进行安全方面的设定。1.Samba的安全等级设定前面提到过在/etc/smb.conf的global部分security参数可以设置4个不同的安全等级:share、user、server和domain。除了share之外,其他3种等级都需要用户输入正确的用户名和密码才能登录到Samba,下面分别介绍4种安全等级。user 这是samba的默认配置,这种情况下要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。Share 这是几乎没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。Server 和user安全级类似,但用户名和密
46、码是递交到另外一个SMB服务器去验证,比如递交给一台NT服务器。如果递交失败,就退到user安全级,从用户端看来,server和user这两个级别是没什么分别的。domain 这种安全级别要求网络上存在一台NT PDC,samba把用户名和密码递交给NT PDC去验证 Samba的安全从用户端看来,user级以上的安全级其实是没什么分别的,只是服务器验证的方式不同,但这三种安全级都要求用户在本Linux机器上也要系统帐户。否则将不能访问的。2.在Samba服务器中不使用加密口令。还有一个encrypt passwords选项,这个选项设置是否对密码进行加密,samba本身可以维护一个密码文件/
47、etc/smbpasswd,如果不对密码进行加密则在验证会话期间客户机和服务器之间传递的是明文密码,samba直接把这个密码和Linux里的/etc/passwd密码文件进行验证。这其中有些问题,比如在Windows 98和Windows NT 4.0 SP3以后的版本默认都不传送明文密码,要让这些系统能传送明文密码必须在其注册表里更改。对于Windows 98以上的版本,可以如此修改注册表:HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDVNETSUP加一个十六进制值“EnablePlainTextPassword=00000001”。
48、对于WINDOWS NT/2000版本,可如此修改注册表:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRdrParameters加一个十六进制值“EnablePlainTextPassword=00000001”。(4)管理允许那些用户访问该Samba服务器,可以添加、修改、删除用户。(5 5)添加共享。也就是当局域网中的用户登录到)添加共享。也就是当局域网中的用户登录到SambaSamba服服务器后,能够访问那些资源。要添加共享,在务器后,能够访问那些资源。要添加共享,在“服务器设置服务器设置”对话框的工具条上单击对话框的工具条上单击“添
49、加添加”按钮,打开如图所示的对按钮,打开如图所示的对话框。话框。在在“访问访问”选项卡上,选择是否要只允许指定的用户来访问选项卡上,选择是否要只允许指定的用户来访问共享还是允许所有共享还是允许所有 Samba Samba 用户来访问共享。如果选择了要允用户来访问共享。如果选择了要允许指定用户访问,从可用的许指定用户访问,从可用的 Samba Samba 用户列表中选择这些用户。用户列表中选择这些用户。8.2.3启动或停止启动或停止Samba服务服务安装并配置完安装并配置完SambaSamba服务器后,下一步就是启动服务器后,下一步就是启动SambaSamba服务。在服务。在通过通过 Samba
50、 Samba 共享目录的服务器上必须运行共享目录的服务器上必须运行 smbsmb 服务。服务。(1 1)使用以下命令来查看)使用以下命令来查看 Samba Samba 守护进程的状态:守护进程的状态:#/sbin/service smb/sbin/service smb status status(2 2)使用以下命令来启动守护进程:)使用以下命令来启动守护进程:#/sbin/service smb#/sbin/service smb start start (3 3)使用下面的命令来检验)使用下面的命令来检验SambaSamba服务是否被启动。服务是否被启动。#pstree|grep mbd