Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->服务器相关 ->正文

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

来源: 作者: 时间:2007-04-11 点击: [收藏] [投稿]

从上面的例子可以看出,smb.conf的格式和Windows里的INI文件很像,含有多个段,每个段由段名开始,一直到下个段名,每个段名放在方括号中间。段里的参数的格式是:名称 = 值。

文件里的每个段名、参数以及注释都只能占一行,换句话说就是一行里只能写一个段名或参数或注释,如果一行写不下或不想把一行写的过长,可以在行尾用"\"来表示续行。段名和参数名不分大小写。可以有注释,注释以;或#开始到该行结束。

除了[global]段外,所有的段都可以看作是一个共享资源,段名是该共享资源的名字,而段里的参数就是共享资源的属性。[global], [homes] 和 [printers]这三个段是比较特殊的,把在后面说明。而下面的注意事项则是针对普通的段。

一个共享资源段由要提供访问的路径和附加的访问权限组成,可以是文件资源或打印资源。共享资源段可以给guest级的用户服务,一般来说guest用户是不需要密码的,如果给guest提供服务,guest的权限是根据UNIX里的guest帐户来赋予。 如果共享资源段不是给guest提供服务的,则访问这样的段需要客户的密码。由于赋予用户对共享资源段的访问权限是基于该用户在UNIX系统的对该资源的访问权限,所以服务器是不能赋予超过UNIX系统赋予该用户的权限的。

例如:

下面的共享资源段的例子定义了一个文件共享,用户对路径/home/abc有写入的权限,共享资源段名是abc,也就是共享名。

[abc] 
  path = /home/abc 
  writeable = true

1.段

而这下面的段定义了一个打印共享,共享是只读的,但可打印,就是说唯一允许的写访问就是打开、写入和关闭脱机文件。

[myprinter] 
  path = /usr/spool/public 
  read only = true 
  printable = true 
  guest ok = true

特殊段:

[global] 段

在这个段的参数是全局有效的。

[homes] 段

当用户请求一个共享时,服务器把在存在的共享资源段中去寻找,如果找到匹配的共享资源段,就使用这个共享资源段。如果找不到,就把请求的共享名看成是用户的用户名,并在本地的password文件里找这个用户,如果用户名存在且用户提供的密码是正确的,则以这个home段克隆出一个共享提供给用户。这个新的共享的名称是用户的用户名,而不是home,如果home段里没有指定共享路径,就把该用户的宿主目录(home directory)作为共享路径。

通常的共享资源段能指定的参数基本上都可以指定给[home]段。但一般情况下[home]段有如下配置就可以满足普通的应用。

[homes] 
  writeable = yes

注意,如果在[home]段里加了guess access =ok, 所有的用户都可以不要密码就能访问所有的宿主目录!

[printers] 段

该段用于提供打印服务。

如果定义了[printers]这个段,用户就可以连接在printcap文件里指定的打印机。当一个连接请求到来时,smbd去查看配置文件里已有的段,如果和请求匹配就用那个段,如果找不到匹配的段,但[home]段存在,就用[home]段。否则请求的共享名就当作是个打印机共项名,然后去寻找适合的printcap文件,看看请求的共享名是不是个有效的打印共享名。如果匹配,那么就克隆出一个新的打印机共享提供给客户。

注意,[printers]服务必须是printable,如果指定为其它,服务器把拒绝加载配置文件。

通常指定的路径应该任何人都有写入权限。

[printers] 
  path = /usr/spool/public 
  writeable = no 
  guest ok = yes 
  printable = yes 
  printer driver = Epson LQ-1600K

()

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:技巧:Linux下使用Evolution收发Email   下一篇:Samba使Linux成为“文件服务器”(二)

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号