分类: 系统运维
2011-10-19 23:53:59
在Samba服务器配置文件配置中,我们看到了在共享定义(Share Definitions)部分中包括了许多设置选项。其实不用担心,这是默认配置文件中提供的一个参考范本,列出了多个不同环境下,通常可以用来设置为共享的共享资源预定义。在实际中我们可能用不上这些共享资源,只需根据自己实际需求配置少量几个共享资源即可。而且在这么多共享资源定义,所用到的语句却基本上一样,只是具体设置不同而已。本节要详细介绍这些主要配置语句。
l 共享名
共享资源发布后,必须为每个共享目录或打印机设置不同的共享名,给网络用户访问时使用。这是在每个共享资源定义部分的第一行中设置的。以方括号括住共享名即可。如要设置一个共享名为“public”的共享目录,则在定义该共享目录的第一行写上:[public]即可;如果要定义一台名为epson765的共享打印机,则在定义该共享打印机的第一行中写上:[epson765]即可。这里的“public”和“epson765”就是对应的共享资源共享名。用户访问时就是通过这个共享名来识别的。
【经验之谈】在“Share Definitions”部分的第一行是[homes],它是特殊的行,这里的名字不能改的。[homes]共享目录并不特指具体共享目录,而是表示Samba用户的主目录,即Samba用户登录后可以访问同名系统用户主目录中的内容。
用户主目录是Samba为每个Samba用户提供的共享目录,只有用户本身可以使用。默认情况下,用户主目录位于/home目录下,每个Linux用户有一个以用户名命名的子目录。如用户winda在创建账户时默认会同时创建/home/winda的目录,这就是winda账户的主目录。当然也可以不为用户创建主目录,具体参见本书第5章介绍。/home目录的权限由[homes]字段设置为不允许浏览(browseable = no语句),允许写入用户自己的主目录(writable = yes语句)。下面的[printers]行也是特殊的行,不能修改其中的名字的。如果定义了[printers]这个段,用户就可以连接在printcap文件里指定的打印机。要注意的是,如果是设置共享打印机,则,必须设置printable关键字语句为yes,否则用户无法打印。
l 共享资源描述
这部分是以comment(描述)关键字来设置的。语句格式为:comment = 描述信息
l 共享路径
共享资源是存放或者安装在网络中的其他主机上,所以在共享访问时必须指定它的共享路径。此处是定义本地Samba服务器上用于为Windows用户提供共享的共享资源路径。它是通过path(路径)关键字来设置的。语句格式为:path = 共享资源的绝对路径。如要把/etc/tools目录设置成共享,则它的共享路径设置就是:path = /etc/tools
l 共享权限
共享权限就是用户对Samba服务器的共享资源所具有的访问权限。这里就针对不同共享权限有不同的语句了。
要允许匿名访问,就要加上“public = yes”(如果要禁止匿名访问,则为no)语句。
【经验之谈】其实还有一种称之为设置来宾账户访问的语句,就是“guest ok = yes”(如果要禁止,则为no)语句。这是设置是否允许以来宾账户访问Samba服务器的语句。在Windows 2000以后系统中,我们知道,匿名访问来来宾访问是不同的,Linux系统中也是这样的。如果要使用来宾设置,则除了要设置“guest ok = yes”外,还要用“guest account = 来宾账户”这样的语句来指定来宾账户的具体账户。当然,这时用户访问时必须输入正确的指定来宾账户的密码,实际属于user工作模式。
要隐藏共享资源,则要加上“browseable = yes”(默认是禁止的,为no)语句,这样每个用户只能看到自己为所有者的共享资源,不能看到其他共享资源。相当于Windows系统在设置共享目录加上的“$”符号。
要只允许读取权限,则要加上“read only = yes”(如为no则表示可读可写)语句。
要允许写入权限,则要加入“writable = yes” (要禁止写入权限,但仍具有读取权限,则为no)语句。
l 有效用户
如果某共享资源仅允许特定用户或者组成员访问,则要使用valid关键字指定有效用户。如果指定的是用户账户,则设置格式为:valid users = 用户名1 用户名2 ……;如果指定的是组账户,则设置格式为:valid users = @组名1 @组名2 ……。
l Printable
设置是否允许访问用户打印。如要允许打印,则设置为:printable = yes,否则为printable = no。
l create mask
设置用户对在此共享目录下创建的文件的默访问权限。通常是以数字表示的,如0604,代表的是文件所有者对新创建的具有可读可写权限,其他用户具有可读权限,而所属主要组成员不具有任何访问权限。
l directory mask
设置用户对在此共享目录下创建的子目录的默认访问权限。通常也是以数字表示的,如0765,代表的是目录所有者具有对新创建的子目录可读可写可执行权限,所属组成员具有可读可写权限,其他用户具有可读和可执行权限。
对于共享打印机的共享权限配置,瞠需要设置printer(打印机的共享名)、valid users(可以共享打印机的用户)。
以上就是共享资源定义的一些主要语句。下面通过几个示例介绍不同Samba服务器工作模式下的主配置文件配置。
在RedHat Enterprise Linux 5中有几个特殊的目录,在配置Samba服务器时可用来设置为特写目的的共享。
/tmp ----可用来设置网络用户共享文件的临时区域,每个人可以在这里存放文件供别人使用。
/home----这是用来存放所有用户主目录的目录。默认是所有用户都不可浏览(通过browseable = no语句设置),每个用户只能看到并操作自己的主目录。
/home/Samba ---一个共享目录,普通的访问者只读,属于staff组的用户可以读写。
/usr/pc/%m----一个共享目录,对于所有用户都可读可写。注意目录中创建的文件属于缺省的用户,所以所有用户都可以在该目录中修改、删除其他用户的文件。
【说明】下面以share、user和ads这几种常用的Samba服务器工作模式为例介绍三种模式下的Samba服务器配置。
7.3 share模式下的Samba服务器配置示例我们知道,share工作模式下的Samba服务器是允许匿名访问的。尽管是一种不安全的配置模式,但对于小型共享网络来说,这种模式的共享配置最简单,不需要在Samba服务器上配置用户账户和密码文件,任何用户都可以直接访问Samba服务器的共享资源,只有共享资源允许对应用户的访问。
本文摘自《(金牌网管师——大中型企业网络组建》第七章