关闭

Samba常用配置及GUEST访问

295人阅读 评论(0) 收藏 举报
分类:

官网配置:

https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/index.html

一个目录的共享设置
     [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指明能否删除共享资源里面已经被定义为只读的文件。

问题一:其他机器访问Fedora 9的共享目录时,始终都被要求输入用户名和密码,即使是[public]定义的共享目录也一样!而[public]配置无误,guest ok = yes, public = yes,而我以前长期使用的Mandriva系统没有这个问题。 

  解决办法:解决这个问题需要修改smb.conf文件,在[global]节中加入map to guest = bad user,这个配置的意思是将所有samba系统主机所不能正确识别的用户都映射成guest用户,这样其他主机访问Fedora 9的public目录时就不再需要用户名和密码了。 

  分析:在Fedora 9系统中,map to guest的默认配置不是bad user,因此一旦客户机中访问Fedora 9的用户不是map to guest所指定的用户时,则samba将之视为普通用户,而不是guest,从而要求用户输入用户名和密码。假设客户机访问的用户名是guest,密码为空,而samba的map to guest又正好设置为guest,则客户机将不用输入用户名和密码。为了能适应所有客户机中不同的guest帐号,map to guest = bad user是个明智的选择。 

  问题二:Fedora 9访问其他任何机器时,能看到共享目录和其下的文件和子目录,但是不能进行写操作,只要一写就报告“为smb协议服务的进程意外退出”,无法在XP的共享目录中进行写操作,部分打开文件夹的操作也报此错误!这个问题令人百思不得其解,只到晚上我在家里使用Smb4k访问远端主机的共享目录时才现出此错误的真实面目: 

  mount error 1 = Operation not permitted 

  解决办法:开一个console,敲入以下命令: 

  su -c 'chmod u+s /sbin/mount.cifs' 
  su -c 'chmod u+s /sbin/umount.cifs' 

  或者su -到root用户,再执行chmod。 

  分析:由此错误提示可见,出现这个错误的原因在于samba客户端在挂载远端主机的共享目录时没有权限,而我平时在使用Linux系统时都是用普通用户登录而非root用户,普通用户默认没有mount的权限,因此挂载不上远端共享目录,无法写操作就很正常了。


http://blog.csdn.net/mazongqiang/article/details/7628771


0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1614802次
    • 积分:20794
    • 等级:
    • 排名:第365名
    • 原创:253篇
    • 转载:1572篇
    • 译文:0篇
    • 评论:40条
    最新评论