我正在尝试设置从 Ubuntu 到 Windows 10 的共享。我已按照本教程在这里。我不明白为什么该教程说要创建“主页”部分,smb.conf
因为它什么都不做。
无论如何,现在我有这个:
[A]
comment = public anonymous access
path = /media/crooklar/347A1DC37A1D8332/
directory mode = 0777
directory mask = 0771
browsable =yes
read only = no
writable = yes
guest ok = yes
347A1DC37A1D8332
是我机器上的一个独立驱动器,我可能称之为 D 盘。我有 3 个这样的驱动器,不在 RAID 等中。
在 Windows 端,我可以看到我的机器,也可以看到调用的共享,a
但我无法访问它。
我做错了什么或者我需要做什么?
PS 我可以问多少个问题而不会惹人厌烦?我正在尝试强迫自己使用 Linux,而不是默认使用 Windows。有没有可以让我直接和别人交流的 discord?
答案1
将您的共享定义更改为:
[A]
comment = public anonymous access
path = /media/crooklar/347A1DC37A1D8332/
read only = no
guest ok = yes
force user = crooklar
然后重新启动smbd:
sudo service smbd restart
原因:Linux 创建 /media/$USER(本例中为 /media/crooklar)的方式使得只有 crooklar 可以遍历它以查看其后面的内容。来宾用户不是 crooklar,因此无论 347A1DC37A1D8332 上的权限如何,samba 来宾都无法获得访问权限。
force user = crooklar
将强制来宾用户看起来像 crooklar(至少对于此共享),以便他可以通过并到达 347A1DC37A1D8332 目录,其权限在该目录生效。
答案2
猜测是 Samba 用户可能缺少该目录的权限。作为测试,请尝试共享一个全局可读的目录(/usr
例如)。
常规解决方法是将 Windows 访问权限“映射”给好用户。例如,这里是一个具有单独专用用户的示例。另一个选项是简单地使用 Linux 用户名和密码登录:https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server
如果我理解你的上述评论是正确的,你可能还想将旧磁盘装入/etc/fstab
- 你可以在那里设置用户和组(其他例子,所有选项),让每个人都能读写它们,设置nofail
为允许在没有它们的情况下启动,...