为什么我无法从 Windows 访问共享文件夹

为什么我无法从 Windows 访问共享文件夹

我想从我网络上的任何机器访问我的新 Ubuntu 12.10 盒子上的文件夹,而无需提供凭据。

我的机器名是Ubuntu1

我有一块 2TB 的 NTFS 格式磁盘,上面有介质

挂载点为mount1

我的磁盘上有多个文件夹,我想分别共享它们

我已启用文件夹1和文件夹2进行共享

我已启用共享访问,允许其他人在此文件夹中创建和删除文件,并且允许访客访问。

文件夹图标现在有箭头,所以我认为一切都很好。

从 Windows 我可以看到网络

Ubuntu1>文件夹1 Ubuntu1>文件夹2

当我单击从 Windows 打开文件夹时,出现错误“您无法访问 \Ubuntu1\folder1

您无权访问 \Ubuntu1\folder1

我将它们都放在同一个工作组中。

非常感谢您的帮助

答案1

尝试在您的 Ubuntu 服务器上运行此命令:

sudo -u nobody ls "/path/to/my/share"

这将尝试以用户身份访问您的共享文件夹nobody。如果您看到如下错误:

ls: cannot access /path/to/my/share: Permission denied

那么你的本地权限就是问题所在(或者至少是部分问题)。


Samba 使用 Linux 文件系统权限来确定是否应授予对共享文件的访问权限;如果权限阻止对共享文件夹本身的访问,Samba 将拒绝允许其他计算机连接到共享。来宾访问使用用户nobody(来自组nogroup),因此您应该使用“其他用户”文件权限以确保客人可以访问您的共享文件夹。


检查/共享文件夹下所有目录的权限也很重要:如果用户没有目录的执行权限,则无法访问任何该点以下的路径,包括您的共享。(我ls通过从中间目录中删除“x”权限创建了上述错误消息。)

假设你想共享/mnt/external/ntfs-drive/folder。你可以用以下命令在所有父目录上添加“x”权限:

sudo chmod o+x /mnt /mnt/external /mnt/external/ntfs-drive

您还需要为共享文件夹和任何内容设置读取、写入和执行权限,但对于父目录,执行权限就足够了。

答案2

Samba 需要您验证为有效用户。

您必须启用访客访问或在 Windows 上创建具有相同用户名/密码组合的用户......

答案3

我遇到了同样的问题,即使启用了访客访问权限,也无法共享文件。我的日志中也出现了同样的统计权限被拒绝错误。显然这些错误是“正常的”,并不是真正的问题。就我而言,问题出在我的主目录权限上。我的权限是rwx针对用户的,没有针对组或其他用户的权限。为“其他”用户设置执行位可以解决问题。类似下面的方法应该可以解决问题:

sudo chmod o+x /home/your-home

答案4

正如福斯塔夫 (falstaff) 所解释的,您需要允许来自 Ubuntu1 机器的访客或创建凭据。

我建议你看看本指南

我用它来修复从两侧(linux/windows 客户端)访问其他 SMB 共享的权限。

相关内容