爱心区 公益下载 公益文章 人在旅途 小博士乐园

>>首页 -> 公益文章 -> 技术文栏 -> 冲浪宝典 -> Linux成为"文件服务器"之二



Linux成为"文件服务器"之二


作者intl 来源loveintl 加入时间:2005-9-13
摘要:
Linux成为"文件服务器"之二
5 计算机浏览参数

os level
说明:os level 的值是个整数,决定了nmbd是否有机会成为本地广播区域的工作组里的本地主浏览器,默认值是零,零则意味着nmbd失去浏览选择。如果要nmbd更有机会成为本地主浏览器的话,可以设为65。


preferred master

转载:转载请保留本信息,本文来自
http://www.51dibs.com/info/21948.htm

Linux成为"文件服务器"之二
5 计算机浏览参数

os level
说明:os level 的值是个整数,决定了nmbd是否有机会成为本地广播区域的工作组里的本地主浏览器,默认值是零,零则意味着nmbd失去浏览选择。如果要nmbd更有机会成为本地主浏览器的话,可以设为65。


preferred master


说明:这个参数指定nmbd是否是工作组里的首要的主浏览器,如果指定为yes,nmbd在启动的时候就强制一个浏览选择。指定该参数为yes时最好把domain master 也指定为yes。用这个参数的时候要注意的是在samba服务器所在的子网上如果有其它的机器(不管是WINDOWS NT还是另一个samba服务器)也指定为首要的主浏览器时,这些机器都会因为争夺主浏览器而在网络上广播,引起不必要的网络性能下降。

local master


说明:这个参数指定nmbd是否试图成为本地主浏览器,默认值是yes,如果设为no则samba服务器就永远都不会成为本地主浏览器。但即使设置了yes,也不等于samba服务器就会成为本地主浏览器。只是参与本地主浏览器选择。

domain master

说明:这个参数让nmbd成为一个域浏览器,取得各本地主浏览器的浏览列表,并将整个域的浏览列表递交给各本地主浏览器。默认值是no。如果网络上已经有一台NT PDC,就不要把这个参数设为yes,争不过NT PDC的。

另外,如果你对计算机浏览服务不是很清楚的话,可以参考NT网络管理资料。


2.6 共享资源设置参数


comment


说明:就是对共享的描述,可以是任意的字符串

例如

comment = Share Stuff


path

说明: path是提供共享服务的路径,可以用%u %m这样的宏来代替路径里的unix用户和客户机的Netbios名。
例如:如果我们不打算用home段做为客户的共享,而是在/home/share/ 下为每个Linux用户以他的用户名建个目录,作为他的共享目录,这样path就可以写成

path = /home/share/%u;

用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,可以这样写path

path = /home/share/%m


writeable

说明:指定共享路径是否可以写,值是yes或no

browseable

说明:指定共享是否可以浏览,默认是yes

available

说明:指定共享资源是否可用,默认是yes,设为no则关闭该资源的共享服务,用户无法连接到该资源上。

exec 和 postexec

root preexec 和 root postexec


说明:指定在用户与共享资源在连接和断开时在服务器上执行一个命令,这两对参数很有用,区别是root preexec 和root preexec 是以root的权限运行。比如在服务器把cdrom作为共享,但cdrom是不能一直处于装配状态的。我们可以这样设置

[cdrom]

comment = Server Cdrom
path = /mnt/cdrom
public = yes
browseable = yes
root preexec = /bin/mount -t iso9660 /dev/cd0 /mnt/cdrom
root postexec = /bin/umount /mnt/cdrom



public

说明:这个参数指明是否允许guest帐户访问,值为yes或no,另一个和public相同意义的参数是guest ok。


打印共享还有些专用的打印参数,阐述如下:

load printers

指定在samba启动时是否自动把printcap文件里的所有打印机加载,从而可以在浏览清单里看到所有的打印机,默认是yes

printable

指定用户能不能打印,默认是no,要让一个打印共享可以让用户使用,必须设为yes


print name

打印机名

printer driver

打印机的驱动类型,这个参数可以让WINDOWS知道远程打印机上的类型,具体的值可以参考在WINDOWS里安装打印机出现选择打印机类型时的打印机类型。比如Espon LQ1600K打印机:

printer driver = Espon LQ-1600K

以上就是samba的一些常用的配置,通过这些配置参数,我们已经可以建立起一个一般应用的文件服务器。虽然还有很多参数没有提到,但samba本身可以用缺省值。


启动samba,可以用/usr/sbin/samba start来启动samba,也可以用ntsysv来启动。



三、samba 进阶

下列所介绍的是一些高级参数的配置,这些参数如果应用得当,可以更加灵活地在网络上应用samba

1.宏

在基本配置里有提到一些参数的可以尾随%u、%m,这是samba里定义的宏,宏用百分号后面跟一字符表示,在具体运作的时候就用实际的参数来代替。常用的宏有


%S = 当前服务名

%P = 当前服务的根路径

%u = 当前服务的用户名

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

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

%v = Samba 版本号

%h = 运行Samba的机器的主机名

%m = 客户机的NETBIOS名

%L = 服务器的 NetBIOS 名

%T = 当前的日期和时间

灵活地应用宏可以很方便地管理比较复杂的网络


2.一些常用高级配置参数

2.1 全局参数


config file

说明:这个参数是全局参数,可以让你用另一个配置文件覆盖缺省的配置文件,如果文件不存在,该项无效。这个参数非常有用,也使得samba的配置更灵活,让一台Linux服务器模拟多台不同配置的NT 服务器,满足不同的需求。

比如,您想让网络上的某台名字是host1的机器用它自己的配置文件,先在/etc/下为host1配置一个名为smb.conf.host1的文件,在缺省的smb.conf里加这行:

config file = /etc/smb.conf.%m

这样,当host1请求连接的时候,smb.conf.%m被替换成smb.conf.host1,对host1来说,它所看到的samba就是由smb.conf.host1定义的。而其它机器还是用smb.conf。

deadtime

说明:这个参数值是个整数,单位是分钟,用于切断一个不活动的连接。当一个没有打开任何文件的连接的不活动的时间超过datetime指定的的时间后,samba就自动切断这个连接。这个参数可以节省服务器的资源消耗,尤其是在有大量连接的情况下。默认的值是零,零代表samba不自动切断任何连接。

time server

说明:这个参数让nmbd成为WINDOS客户的时间服务器。默认是no。


2.2 共享资源参数

admin users

这个参数用来赋予用户对共享资源的管理员权限,意味着这些用户可以root一样进行所有的文件操作,当然只局限在这个共享资源上。这个选项要慎用,因为任何这样的用户可以对该共享上的文件随意进行操作。缺省是admin users = no。

例如:
admin users = Su_27

那么Su_27这个用户就是这个共享资源的管理员。


valid users

说明:指定共享资源的有效用户,即允许访问该资源的用户。

例如:valid users = user1, user2

那么user1和user2是有效用户

invalid users


说明:和valid users 相反,指定那些用户不可访问这共享资源。


max connections (S)

说明:指定一个服务的最大连接数目,用户连接到该服务时如这个服务的连接数目已经达到指定值,这个新的连接请求将被拒绝。

例如: max connections = 100

最大连接数为100


以上是一些samba的高级配置参数,但samba的参数还有很多,本章不能一一详述,如文件创建权限设定,代码页,文件名大小写是否敏感等,可以参考samba的文档。

 
四、什么是NFS

NFS 是网络文件系统(Network File System)的简称,是分布式计算系统的一个组成部分,实现在异种网络上共享和装配远程文件系统,从用户角度看来,在这些远程的文件系统操作和本地的文件系统上操作并没有什么不同。NFS由Sun 微系统公司(Sun Microsystem, Inc)开发,制订了NFS 标准,并被IETF接受,纳入RFC,作为文件服务的一种标准(RFC1904,RFC1813)。NFS基于客户/服务器结构,通过RPC(远过程调用)实现,所有的NFS操作都由RPC过程来进行。NFS 服务器导出本地的目录给远程的NFS客户,NFS客户把对文件操作系统调用重定向到远程的系统。在Linux里,通常用knfsd来实现NFS服务,这是个运行在核心空间的后台守护程序,相对与用户空间的NFS程序,有较高的响应性能。


五、配置NFS

1.创建或修改/etc/exports

exports 的每一行由导出路径, 客户名列表以及每个客户名后尾随的访问选项构成, 访问选项是可选的.

directory hostname(options) ...

options是可选的,如果不指定options,nfs将采用默认的选项。hostname也可以为空,代表给任意外来主机提供服务。

例如:

/usr ws1.mydomain.com

导出路径/usr 提供给 ws1.mydomain.com 访问

/usr ws1.mydomain.com(rw)

同样是给ws1.mydomain.com访问,但具有写入权限。

/pub (ro,insecure,all_squash)


导出/pub, 任何机器都可以访问, 允许用大于1024的端口进行连接, 并把所有的连接id映射到nobody.


主机名里可以包含通配符*和?,例如 *.mydomain.com,代表mydomain.com里的所有机器,但注意通配符不能匹配主机名里的点,所以上面的*.domain.com不包括ws1.subdomain.mydomain.com这样的机器。也可以用IP网络/子网掩码的形式来指定网络上的可以访问的机器。例如: 192.168.1.0/255.255.255.0

修改过/etc/exports后,需要告诉nfs进程重新检查配置信息,可以用命令:exportfs或重新启动nfs


一些常用选项


insecure 允许用户可以从大于1024的端口进行连接

secure 限制用户只能从小于1024的端口号进行连接

ro 只读,注意在没指定ro的情况是可写的。

noaccess 让导出路径的所有子目录对客户不可见。用户连接到这样的路径后看到的是个空目录。

root_squash 这个选项可以把从客户机的uid为0的请求映射成nobody

no_root_squash 这个选项和上面的相反,不映射uid 为0的请求,这是缺省的。

rw 可写,这是缺省的。



2.一个exports的例子

/home ws1(rw) ws2(rw) ws3(rw)
/usr/X11R6 ws1(rw) ws2(rw) ws3(rw)
/usr/share ws1(rw) ws2(rw) ws3(rw)
/ ws1(rw,no_root_squash)
/home/ftp (ro)
/pub (ro)
/pub/private (ro,noaccess)


3.启动NFS服务

启动NFS服务可以用如下命令

/etc/rc.d/init.d/nfs start


在修改exports文件后要告诉nfs配置信息变化,可以:

/etc/rc.d/init.d/nfs stop

/etc/rc.d/init.d/nfs start


4.如何装配远程NFS文件系统

如上例,装配上述的/pub可以简单用如下命令:

mount hostname:/pub /mnt

其中hostname是远程主机的主机名。


查询远程机器上有导出文件系统的情况,可以用

showmount -e hostname


相关文章

相关软件

客户服务中心信箱:[email protected]