SAMBA 4.1.6创build公共份额

我刚刚升级Ubuntu服务器到14.04,桑巴达到4.1.6。 我的公共份额(当地的家庭networking,所以不用担心安全,以至于家庭简单地匿名访问文件)已经停止工作,即现在将要求用户名和密码。

当我运行testparm时,我得到:

Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[share]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions [global] workgroup = HOHWORKGROUP server string = firewig interfaces = eth1, 127.0.0.0/8, 192.168.10.0/24 map to guest = Bad User obey pam restrictions = Yes pam password change = Yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . unix password sync = Yes syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 name resolve order = lmhosts, wins, bcast, host dns proxy = No usershare allow guests = Yes panic action = /usr/share/samba/panic-action %d idmap config * : backend = tdb valid users = nobody [share] comment = share path = /srv/samba/share/ force user = nobody force group = nogroup read only = No create mask = 0777 force create mode = 0777 directory mask = 0777 force directory mode = 0777 guest ok = Yes 

我似乎无法让我的Windows(W7)机器能够匿名访问共享。 不知道我的configuration在这里有什么问题。

你必须小心select。

例如, valid users=nobody ,并不意味着用户nobody被允许login。这意味着没有其他用户可以login。

既然你显然允许访客访问,只需从全局部分删除valid users=nobody

此外,虽然您已将map to guest = bad user正确设置map to guest = bad user ,但您还必须检查哪个用户在您的系统上担任guest的angular色。 显然,你只是假设nobody但事实并非如此。 如果您不确定,可以使用guest account = nobody手动指定它。 毋庸置疑,您的系统中不必存在nobody

接下来,您需要确保共享对于nobody都有相应的POSIX权限。 例如,如果您的文件权限允许nobody读取共享中的文件但不修改它们,那么smb.confwriteable选项不会覆盖该文件。

现在我们到了你的smb.conf的共享部分,我们可以使这个更简单一些。 如果您希望将所有操作映射到访客帐户,则不需要使用force userforce group 。 只需使用参数guest only = yes就可以了。 与guest ok = yes一起,这将产生所有连接将映射到正确的guest帐户的效果,在我们的例子中nobody

结果 (完全访客访问):

 # chmod -R a+rwX /srv/samba/share /etc/samba/smb.conf ------------------- [global] guest account = nobody map to guest = bad user [share] path = /srv/samba/share writeable = yes guest ok = yes guest only = yes 

你能告诉我们哪个内核版本正在使用?

在samba中使用lasts内核版本时出现问题,因为内核需要encryption密码或其他问题。

我有一个Ubuntu 14.04.1,我把Samba从4.1降级到3.6.3-2ubuntu2,因为在升级到samba 4.1之后无法运行。 在这台机器上,如果我使用内核3.13 samba 3.6不起作用,但如果我使用内核3.2它的工作原理。

尝试改变你的grub或lilo引导与旧的内核,并告诉我们,如果它的工作。

为了获得匿名访问,伪造的IPC $共享的创build可能会有所帮助:

 [IPC$] guest ok = yes read only = yes path = /etc/samba/fakeIPC valid users = @group-of-home-users, nobody #or # valid users = nobody 

这为我解决了一些问题。 不记得我在哪里读过的。