科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux:Samba服务器应用介绍(3)

Linux:Samba服务器应用介绍(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block)协议

作者:skid 来源:赛迪网技术社区 2007年9月4日

关键字: 应用 服务器 Samba Linux

  • 评论
  • 分享微博
  • 分享邮件

共享设置中有个比较奇怪的段:

[homes],在smb.conf文件中一般没有对这个目录的设定特定内容比如路径等。当客户机发出服务请求时,就在smb.conf文件的其它部分查找友特定内容的服务。如果没有发现这些服务,并且提供了homes段时,那么就搜索密码文件得到用户的Home目录。通过Homes段,Samba可以得到用户的Home目录并使之共享。下面是这个段的最基本的几个设置。

[homes]

comment=Home Directory

browseable=no

writable=yes

比较正常的共享的配置如下例:

[MyShare]

comment = grind’s file

path = /home/grind

allow hosts = host(subnet)

deny hosts = host(subnet)

writable = yes|no

user = user(@group)

valid users = user(@group)

invalid users = user(@group)

read list = user(@group)

write list = user(@group)

admin list = user(@group)

public = yes|no

hide dot files = yes|no

create mode = 0755

directory mode = 0755

sync always = yes|no

short preserve case = yes|no

preserve case = yes|no

case sensitive = yes|no

mangle case = yes|no

default case = upper|lower

force user = grind

wide links = yes|no

max connections = 100

delete readonly = yes|no

其中[]里面的MyShare指定共享名,一般就是网络邻居里面可以看见的文件夹的名字。

comment指的是对改共享的备注。

path指定共享的路径,其中可以配合samba变量使用。比如你可以指定path=/data/%m,这样如果一台机器的NETBIOS名字是 grind,它访问MyShare这个共享的时候就是进入/data/grind目录,而对于NETBIOS名是glass的机器,则进入 /data/glass目录。

allow hosts和deny hosts和前面的全局设置的方法一样这里不再提及。

writeable指定了这个目录缺省是否可写,也可以用readonly = no来设置可写。

user设置所有可能使用该共享资源的用户,也可以用@group代表group这个组的所有成员,不同的项目之间用空格或者逗号隔开。

valid users指定能够使用该共享资源的用户和组。

invalid users指定不能够使用该共享资源的用户和组。

read list 指定只能读取该共享资源的用户和组。

write list指定能读取和写该共享资源的用户和组。

admin list指定能管理该共享资源(包括读写和权限赋予等)的用户和组。

public指明该共享资源是否能给游客帐号访问,这个开关有时候也叫guest ok,所以有的配置文件中出现guest ok = yes其实和public = yes是一样的。

hide dot files指明是不是像unix那样隐藏以“.”号开头的文件。

create mode指明新建立的文件的属性,一般是0755。

directory mode指明新建立的目录的属性,一般是0755。

sync always指明对该共享资源进行写操作后是否进行同步操作。

short preserve case指明不管文件名大小写。

preserve case指明保持大小写。

case sensitive指明是否对大小写敏感,一般选no,不然可能引起错误。

mangle case指明混合大小写。

default case指明缺省的文件名是全部大写还是小写。

force user强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,如果我用force user= grind强制建立文件的属主是grind,同时限制create mask = 0755,这样guest就不能删除了。

wide links指明是否允许共享外符号连接,比如共享资源里面有个连接指向非共享资源里面的文件或者目录,如果设置wide links = no将使该连接不可用。

max connections = n设定同时连接数是n。

delete readonly指明能否删除共享资源里面已经被定义为只读的文件。

有两类特殊的共享,分别是光驱和打印机

光驱的共享设置:

[cdrom]

comment = grind’s cdrom

path = /mnt/cdrom

public = yes

browseable = yes

root preexec = /bin/mount -t iso9660 /dev/cd0 /mnt/cdrom

root postexec = /bin/umount /mnt/cdrom

这里root preexec指明了连接时用root的身份运行mount命令,而root postexec则指明了断开时用root身份运行umount,有效实现了对光驱的共享。

打印机共享的设置:

[printers]

path = /var/spool/samba

writeable = no

guest ok = yes

printable = yes

printer driver = HP LaserJet 5L

这里printable指明该打印机可以打印, guest ok说明游客也能打印,path指明打印的文件队列暂时放到/var/spool/samba目录下。printer driver的作用是指明该打印机的类型,这样我们在安装网络打印机的时候可以直接自动安装驱动而不必选择。

添加用户:

samba添加用户比较方便,一般是用smbadduser,用法是smbadduser unixid:netid,举个例子:如果你的本机有个叫grind的用户,你用smbadduser grind:grind,这样从网上邻居访问的时候用户名就用grind,而如果你用了smbadduser grind:glass的话,网上邻居访问的时候提供的用户名就是glass而不是grind了。(

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章