我在 Ubuntu 18.04 计算机上有一个 Samba 共享文件。共享文件夹旨在供访客只读,以(用户名)身份登录时可读/写,配置如下:
[Share]
path = /path/to/folder
guest ok = yes
write list = username
从 Mac 连接时,这似乎按预期工作,但是从 Windows 资源管理器连接时,系统不会要求我输入凭据,并且文件夹是只读的。如何配置 Samba 以使 Windows 要求输入凭据而不是以访客身份访问文件夹。
答案1
与 Linux 和 macOS 客户端不同,这些客户端在通过文件管理器访问共享时始终会提供传递凭据的机会,而 Windows 则始终将您的共享视为仅限访客访问。通常的补救措施是:
[1] 在 Windows 中“映射”共享。这是 Windows 中最接近连接到服务器的功能,允许您传递“用户名”的凭据
[2]或者强制所有用户传递凭证:
** 分享:
[Share]
path = /path/to/folder
guest ok = no
read only = yes
write list = username
** 创建一个名为 smbguest 的 Linux 用户,将其 samba 密码设置为简单如“smbguestpw”,并让“只读”客户端使用该密码来访问来宾共享。smbguest 可以访问共享,但处于只读模式,而“用户名”将具有写访问权限。
[3]或者创建 2 个共享到同一位置,但使用不同的共享名称。一个用于访客:
[Share]
path = /path/to/folder
guest ok = yes
read only = yes
还有一个用于“用户名”:
[ShareADM]
path = /path/to/folder
valid users = username
read only = no