如何让Samba共享不要求密码

注:我已经阅读了大概50多个不同的页面,描述了如何在2年的时间内设置公共Samba共享,并且没有任何事情可以为我工作。 我不知道多lessRTFM我需要设置这个东西。

我需要/想要在我的家庭服务器上为两个工作站设置完全打开的公共文件共享

安装如下:

服务器

  • Debian Wheezy
  • sudo smbd --version给我Version 3.6.6
  • 2个本地分区,我想分享,格式化在NTFS由于旧的和从Windows机器。 我不能格式化他们,因为他们有很多数据,我不能在其他地方移动。
  • 由于缺乏创意,被命名为“homeserv”。

客户

  1. Debiantesting(Jessie)
  2. Windows 7(2台不同的机器)。 事实上,我的机器是Debian / Windows dualboot,而我妻子的机器只有Windows。

蒸馏后我的smb.conf看起来如下( 逐字 ,没有别的):

 [global] workgroup = WORKGROUP security = user map to guest = Bad User [disk1] comment = Disk 1 on 400GB HDD path = /media/disk1 browsable = yes guest ok = yes read only = no create mask = 0755 [disk2] comment = Disk 2 on 400GB HDD path = /media/disk2 browsable = yes guest ok = yes read only = no create mask = 0755 

在这两个客户机上,在Debian和Windows中,我都得到相同的结果:login/密码对话框。 没有组合的security = usermap to guest = Bad usersecurity = shareguest ok = yes ,这样的帮助。

Windows 7显示login/密码对话框右键单击networking邻居中的共享机器后。 在Debian(在任何文件浏览器) smb://homeserv/文件path显示两个文件夹: disk1disk2 ,如所预期的,通过尝试打开它们带上login/密码对话框。

那么,我在scheme中缺less什么不必inputlogin名/密码? 这是可用性的问题,我不会创build一个基于用户的文件垃圾场的身份validation。

好的,我自己也find了答案。

由于这是从文档和HOWTOs什么都不明显 ,这个事情要求密码的原因是因为它不能将访客用户映射到共享目录所有者

我有NTFS分区,我需要安装RW,所以我用我/etc/fstab的以下设置:

 /dev/sdb1 /media/disk1 ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0 2 /dev/sdb2 /media/disk2 ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0 2 

最重要的configuration是uidgid (也许只有uid ,不知道)。 它们被设置为在服务器上build立的用户jonnie的UID和GID(显然不是root)。 所以,当NTFS-3G将挂载这些磁盘,一切都将由他拥有。

之后,我将这个用户添加到Sambaregistry中(或者创build新的相同的,不关心):

 # smbpasswd -a jonnie 

它要求input密码,我已经input了和主系统一样的密码。

之后,我已经将force userforce group设置添加到smb.conf

 [global] workgroup = WORKGROUP netbios name = HOMESERV security = share [disk1] comment = Disk 1 on 400GB HDD path = /media/disk1 browsable = yes guest ok = yes read only = no create mask = 666 directory mask = 777 force user = jonnie force group = jonnie [disk2] comment = Disk 2 on 400GB HDD path = /media/disk2 browsable = yes guest ok = yes read only = no create mask = 666 directory mask = 777 force user = jonnie force group = jonnie 

所以,与我有关的最重要的configuration是force user

由Samba HOWTO提供

有一个开放的Samba共享的快速和肮脏的方式是有:

 # ----------------------- Standalone Server Options ------------------------ # # Scurity can be set to user, share(deprecated) or server(deprecated) # # Backend to store user information in. New installations should # use either tdbsam or ldapsam. smbpasswd is available for backwards # compatibility. tdbsam requires no further configuration. security = share passdb backend = tdbsam 

并有股份定义如下:

 [export] comment = Data Export Directory path = /data/export read only = no public = yes browseable = yes writeable = yes create mask = 666 directory mask = 777 

重新启动守护进程。

对于Windows 7客户端,截至2014年,我需要设置域策略:将通信从数字签名始终设置为禁用。

configuration可以更短:

创buildunix用户jonnie

 useradd jonnie -s /usr/sbin/nologin 

创buildsmbuser

 smbpasswd -a jonnie 

创build要共享的Linux目录

 mkdir /mysmbshare 

将目录的所有者更改为jonnie

 chown /mysmbshare jonnie 

smb.conf文件

 [global] workgroup = MyWorkGroup server string = Hello, use me security = share guest account = jonnie passdb backend = tdbsam [the_public_share] path = /mysmbshare writable = yes printable = no public = yes 

所有文件都由jonnie拥有,每个人都可以访问这些文件。