![为什么我无法从 Windows 访问共享文件夹](https://linux22.com/image/1113224/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E6%97%A0%E6%B3%95%E4%BB%8E%20Windows%20%E8%AE%BF%E9%97%AE%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我想从我网络上的任何机器访问我的新 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 共享的权限。