繁体中文
设为首页
加入收藏
当前位置:技术首页 >> 系统 >> Linux/Unix >> 实用技巧 >> Samba使Linux成为“文件服务器”(三)

Samba使Linux成为“文件服务器”(三)

2006-12-05 21:35:14  作者:admin  来源:赛迪网  浏览次数:190  文字大小:【】【】【
关键字:Samba

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 共享资源参数

dmin 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。

责任编辑:admin

本文引用地址: http://tech.itzero.com/2006/1205/4987.html 请粘贴到你的QQ/MSN上推荐给你的好友

相关文章
Samba服务器安装配置过程介绍
Samba服务器多系统用户共享目录设计方法
Samba使Linux成为“文件服务器”(一)
Linux下Samba做文件服务器的问题解答
常用Linux与Windows共享 建最简Samba
让Samba服务器自动Mount光驱
Win与Linux间的通讯除Samba外的方案
Samba服务器的设置
最快速地建立Samba服务
redhat linux 9.0的samba设置详解
 

最新文章

更多

· Linux指令篇:设备管理--...
· SCO UNIX下磁盘设备的应...
· 简单方法确保 Linux 系统...
· 将SSH与PHP相连接 确保...
· 系统安全:快速安全地建立...
· 在Linux的系统环境下配置...
· 分级防御针对Linux服务器...
· Sendmail邮件服务器升级...
· 本文介绍最简单的Linux系...
· 手把手教授架设基于LINU...

热点文章

更多

· SCO UNIX下磁盘设备的应...
· Linux指令篇:设备管理--...

其它推荐