我在为 Windows 设置 Samba 共享时遇到了一个问题。我有两个共享 - 1] 公共共享,可供网络中的所有人使用,2] 管理员共享,应该只对两个用户进行密码保护。
公共共享运行良好,没有任何问题。私有共享已创建,可在 Raspberry 设备下的 Windows 中看到,但我无法使用 Samba 用户访问它。我花了很多时间搜索,但还是找不到我做错的地方。
这是 smb.conf 中文件夹的定义:
[share]
comment = Shared folder
path = /media/external/share
public = yes
writable = yes
guest ok = yes
create mask = 0775
[admin]
comment = Admin folder
path = /media/external/share
public = no
guest ok = no
valid users = pi admin
在身份验证部分我使用
security = user
我已将两个用户创建为 Linux 用户和 Samba 用户。
当我在 Win 7 中打开“共享”文件夹时,一切正常。当我打开“管理员”文件夹时,Windows 登录表单出现 - 正如我想要的那样。但是当我使用用户“管理员”并输入我在 Samba 中设置的密码时,我收到“权限被拒绝”错误消息。我做错了什么?
答案1
我认为您可能遇到了一个恼人的长期问题,该问题在 Windows 8 中得到了解决:您无法以匿名和密码保护的方式登录同一台服务器,即使它是不同的共享。几周前,我也为此苦恼。在 Windows 8 上,公共共享随时可用,但在 Windows 7 上,我无法获得权限。
我所做的是valid users
像您一样对私有共享使用指令。然后我还public = no
对公共共享说了这些话,并确保每个人的用户都存在于 samba 用户数据库中 ( pdbedit -L
)。顺便说一句,当此 samba 服务器也是域控制器时,这会容易得多。
然后我还设置了force user
,force group
这样文件就不会被创建者拥有。但是,还有其他方法可以做到这一点。您也可以摆弄 ACL 并保留原始所有权信息。但是,强制组和用户选项要容易得多 :)
顺便说一句,public
和guest ok
是同义词。
答案2
2018 年 1 月 Windows 7。我还收到从 Windows 7 PC 登录到我的 Linux 驱动器的请求。我的解决方案很简单,提供路由器登录名 admin 和路由器密码。
希望这对某人有帮助。史蒂夫