匿名无须交互输入用户名和密码的samba配置方法(security = user)

原创 2009年12月25日 21:44:00

NAS(Network Attached Storage),网络附加存储需要支持NFS(Network File System)和CIFS(Common Internet File Sysem)一种或两种文件共享访问协议。NAS的配置方法相对都比较简单,这方面的资料很多,后面附录了NFS和CIFS的配置参数介绍。这里主要解决一个在配置CIFS的遇到的问题。

 

CIFS需求 :Security = User,即用户需要登录认证才能访问共享资源。但是,需要匿名用户可以直接访问,但是权限与认证用户有所不同,可能只读。这种模式应该如何配置呢?

 

当Security = Share模式时,所有用户都不需要登录认证就可以访问共享资源。查阅的配置方式大多都是使用这种方式,并结合文件系统本身的访问控制方式来实现。而针对Security = User模式下的配置方式提及很少,经过多次实验,我成功实现了这种配置方式。smb.conf配置如下:

[global]
    server string = Samba Server Version %v
    passdb backend = tdbsam
    cups options = raw
    security = user                            //认证模式为User
    map to guest = bad user            //这个很关键,实现匿名无须交互输入用户名和密码就靠它了
    guest account = guest               //匿名用户映射为guest用户

 

[myshare]
    comment = My share
    path = /home/public                       //共享路径
    browseable = Yes                          //可以被浏览,就是在网络邻居中能看到共享名
    read only = No                               //可读写
    guest ok = Yes                               //允许匿名访问,这个也需要设置,否则匿名无法访问
    valid users = samba liuag guest    //有效的用户和组
    invalid users = liuben                     //无效用户和组   
    read list = samba                           //只读用户和组(如果read only = No,只读用户需要在此设置)
    write list = liuag                             //可读写用户和组(如果read only = Yes,可读写用户需要在此设置)
    allow hosts = 192.168.100.236     //允许访问主机列表,支持通配符
    deny hosts = 192.168.100.0/24    //禁止访问主机列表,支持通配符

 

经过这种配置,匿名用户直接可以访问共享资源,而无需交互输入用户名和密码。上面配置,匿名用户是只读的,如果需要匿名用户可读写,把guest用户加入write list即可。另外实验还得出如下结论:如果guest用户同时加入read list和write list,那么guest用户是可读写的;如果guest用户同时加入valid users和invalid users,那么guest是有效的;如果一个主机同时加入allow hosts和deny hosts,那么主机是允许访问的。文件系统目录的权限控制影响到共享访问权限,实际配置中samba和系统本身都要考虑到。

 

附录

[常见的CIFS共享设置项目 ]

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

 

[NFS共享的常用配置参数 ]

共享的NFS目录在/etc/exports中列出,这个文件控制对目录的共享。书写规则是:(每个共享规则一行)

共享目录 主机(参数)

例如:/mnt/cdrom *.abc.com(ro,sync) master.abc.com(rw,sync)

上面的规则代表将/mnt/cdrom目录以只读同步方式共享给*.abc.com域,并且以读写同步方式共享给master.abc.com主机。任何共享目录都要指定sync或async,也就是指定文件写入磁盘之前共享NFS目录是否响应命令。

下面是一些NFS共享的常用参数:
ro:只读访问
rw:读写访问
sync:所有数据在请求时写入共享
async:NFS在写入数据前可以相应请求
secure:NFS通过1024以下的安全TCP/IP端口发送
insecure:NFS通过1024以上的端口发送
wdelay:如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay:如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide:在NFS共享目录中不共享其子目录
no_hide:共享NFS目录的子目录
subtree_check:如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check:和上面相对,不检查父目录权限
all_squash:共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash:保留共享文件的UID和GID(默认)
root_squash:root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas:root用户具有根目录的完全管理访问权限
anonuid=xxx:指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx:指定NFS服务器/etc/passwd文件中匿名用户的GID

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Samba常用配置及匿名用户访问

Samba常用配置及匿名用户访问
  • lile777
  • lile777
  • 2016年09月27日 21:19
  • 5638

【NAS】Samba基于security=user的匿名用户访问

基于参数Security = User,即用户需要登录认证才能访问共享资源,如何实现匿名用户直接访问文件资源。这种模式应该如何配置呢?...
  • iamonlyme
  • iamonlyme
  • 2016年12月03日 10:41
  • 1261

配置samba服务器,中加入了security=share,但是testparm输出的信息里没有这一条,客户机也无法访问

配置samba服务器,中加入了security=share,但是testparm输出的信息里没有这一条,客户机也无法访问 security=share在新版中已经被废弃了 把 secur...
  • wssxy
  • wssxy
  • 2016年11月04日 15:43
  • 1167

Samba常用配置及GUEST访问

一个比较正常的共享设置      [MyShare]   comment = grind’s file   path = /home/grind   allow hosts = host...
  • mazongqiang
  • mazongqiang
  • 2012年06月03日 21:13
  • 11363

centos7 samba4.1.12匿名访问设置

[global] workgroup = WORKGROUP server string = Samba Server %v netbios name = centos security = user...
  • yanglu1270514689
  • yanglu1270514689
  • 2015年07月05日 19:37
  • 2773

最简单的,无登录帐号密码的samba配置

网上很多samba配置文件的分享,但是大多数比较繁琐,因为要设置帐号密码之类的。但是我仅仅是个人使用,要什么密码啊,只要能够在window和Linux之间传送文件就可以了,没必要那么麻烦。下面请看最简...
  • YuZhiHui_No1
  • YuZhiHui_No1
  • 2014年11月29日 16:59
  • 6725

samba映射Linux文件夹到windows无密码访问

本文主要通过配置samba,达到共享linux文件夹到windows下无密码访问的目的: 首先要做的是要在linux和samba下创建同名账户,这样才能达到共享的目的: 1、在linux下创建普通...
  • feixiangdeyuzijiang
  • feixiangdeyuzijiang
  • 2016年06月18日 23:38
  • 721

配置samba的访问密码和用户名

出于安全问题,需要为samba配置密码:$ smbpasswd -a 按提示输入想使用的密码即可另外 /etc/samba/smb.conf 的 [global] 段必须有:security = us...
  • zhangjianying
  • zhangjianying
  • 2017年07月10日 22:24
  • 977

samba服务免密码访问配置一

A、安装前的准备工作: SELINUX=disabled 关闭防火墙:service iptables stop B、执行如下命令安装samba: [root@samba ~]# yum in...
  • u010022051
  • u010022051
  • 2016年09月23日 22:52
  • 2674

用Samba创建配置共享文件夹 (无用户名密码验证)

什么是Samba? https://www.samba.org/samba/what_is_samba.html 以下摘选网络上对Samba的几个权威描述 samba.org的描述: Samb...
  • feilianbb
  • feilianbb
  • 2016年01月21日 16:51
  • 1751
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:匿名无须交互输入用户名和密码的samba配置方法(security = user)
举报原因:
原因补充:

(最多只允许输入30个字)