为什么samba拒绝我访问我的共享?


10

在运行Samba(3.0.33-3.29)的CentOS 5.2盒子上,我创建了一个名为的文件夹/upload

在samba中,我像这样配置共享:

[上传]
        评论=上传文件夹
        路径= /上传
        有效用户=凯文根
        公开=是
        可写=是
        可浏览=是
        创建遮罩= 0777
        目录掩码= 0777
        来宾还可以=是

chown将该/upload文件夹添加到我的帐户“ kevin”,并检查是否可以通过外壳创建文件和文件夹。

我可以从Windows 7浏览到该计算机,以“ kevin”身份验证,并查看我的主目录共享和upload共享,但是我无法访问它们。

Windows报告:

网络错误

Windows无法访问\\ cos-01 \ upload

检查名称的拼写。否则,您的网络可能有问题。若要尝试识别和解决网络问题,请单击“诊断”。

错误代码:0x80070035
找不到网络路径。

这是我所做的检查清单:

  • 该帐户kevin是同时使用smbpasswd -a kevin并设置我的密码添加到samba的。samba和centos密码都相同。
  • 服务器名称cos-01/etc/hosts文件中,即
172.0.0.1本地主机localhost.localdomain
172.17.3.90 cos-01
  • 我还在其中设置了netbios名称 /etc/samba/smb.conf
  • 我将Windows 7的LAN Manager身份验证级别配置为“发送LM和NTLM-如果协商使用NTLMv2会话安全性”

更新:

我尝试通过IP地址和服务器名称(即\ cos-01 \ upload或\ 172.16.3.90 \ upload)访问共享。在这两种情况下,我都会得到与上述相同的错误。

我检查了/var/log/samba/smbd.log日志文件,看到很多:

[2010/07/02 16:56:10,0] smbd / service.c:make_connection_snum(1013)
  '/ upload'不存在或连接到[upload]时权限被拒绝,错误为权限被拒绝

Answers:


5

SELinux是否活跃?如果是,则可以通过将类型设置为public_content_t使其可访问。如果samba应该能够写入它,则将类型设置为public_content_rw_t。请注意,如果您选择后者,则还需要告知SELinux。我的system-config-selinux为此有一个布尔值:Allow Samba to write files in directories labeled public_content_rw_t


嗨,凯文(Kevin)-SELinux已启用(强制/定向)。我似乎没有system-config-selinux工具。我可以使用来设置setsebool allow_smbd_anon_write 1吗,是否一样?
Kev

好的...需要yum安装policycoreutils-gui来获取system-config-selinux ...但是这是一台服务器,我猜这是一个基于gui的工具?
凯夫

system-config-selinux确实是基于gui的工具。如果在服务器上运行该命令并切换选项,getsebool allow_smbd_anon_write则会发现返回切换结果。因此,我将运行该命令,看看它是否有效。
凯文M

4
setenforce 0-将测试是否是SELinux引起问题。重新启动或setenforce 1将其重新打开。
约书亚·恩菲尔德

3

您需要提供一些其他信息来回答这个问题。

我将/upload文件夹锁定为我的帐户“ kevin”,并检查是否可以通过外壳创建文件和文件夹。

  • 您是否chown以root身份,kevin身份或其他帐户身份进行此操作?
  • 当前分配给目录的组是什么?
  • 目录的模式是什么?是否为用户和组设置了执行位?

我可以从Windows 7浏览到该计算机,以“ kevin”身份验证,并查看我的主目录共享和上传共享,但是我无法访问它们。

  • 您的Windows 7计算机是否与Samba服务器属于同一工作组?
  • 服务器是域的成员,还是域控制器,还是独立的服务器? 如果您的Windows 7计算机位于域中,则还需要考虑将服务器加入域中。虽然不是必需的,但它将有助于身份验证。
  • security =当前的设置是什么/etc/samba/smb.conf如果您的Samba服务器是域的成员,则可能应该是security = ads;如果您的Samba服务器是独立的,则应该为security = usersecurity = share
  • 您有条目client signing = no吗? yes与较新的Windows客户端连接时,您可能需要替代)
  • 您有条目client use spnego = no吗?yes与较新的Windows客户端连接时,您可能需要替代)
  • winbind跑步吗? 如果您的服务器不是域成员或域控制器,则这可能会在运行时引起混乱。独立服务器不需要此服务

感谢您的回答,我将在有空的时候将我的注意力转向这一点。
凯夫

0

嗯,这通常意味着您的服务器上不存在本地路径/ upload(因此,在servr的根目录中上载)。


该文件夹肯定存在
Kev

0

尝试使用IP地址访问samba服务器:\ _ip_address_of_samba_server_ \ upload

还要检查/var/log/samba/log.smbd中的samba登录,看看Windows客户端是否真的尝试登录。否则,网络有问题。错误似乎是这样。

最好的祝福,

马丁


马丁先生,您好-我刚刚用您的建议回答了我的问题。干杯。
Kev

您好Kev,很抱歉我迟来了,我已经不在这里了一段时间。配置是否正确(try命令testparm)?您是否尝试过通过linux从Linux挂载共享smbmount
mkudlacek'7

0

试试这个,对我有帮助

http://winplat.net/post/2012/04/04/Unable-to-access-Samba-shares-from-Windows-7-with-error.aspx

  • 通过TCP / IP启用NetBIOS
  • 选择身份验证级别
  • SMB签名
  • “ Microsoft网络客户”
  • 网络绑定顺序

2
请在您的答案中包含该链接的相关信息。该链接可能有一天会失效,因此您的答案将毫无用处。
卢卡斯·考夫曼

喜欢吗?...
Moshe 2012年

@Moshe也许要注意编辑日期和评论日期?
HopelessN00b 2012年

-1

如果您尝试通过localhost连接,smbclient会说什么?同样的错误,还是只是SNAFU?smbclient和Windows共享浏览创建了哪些行?您是否尝试以无人身份登录以查看您的目录是否可访问。

最后但最不重要的是...... http://www.tomshardware.com/forum/75-63-windows-samba-issue

建议在其中将安全级别从(新)128位降级,从而允许连接到较旧且兼容性更好的Windows共享版本。

-没事。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.