我正在使用 Samba 和 Linux 设置文件服务器。我已设置共享,并且可以通过 Windows 文件资源管理器连接到它,但它不要求任何登录详细信息,我无法修改任何文件/目录。我为所有将使用该服务器的人创建了用户帐户。以下是我的 /etc/samba/smb.conf 中的共享信息。
[xshare]
comment = X's Samba Share
path = /home/x/share
read only = no
browsable = yes
valid users = x, luca
security = user
当从 Windows 资源管理器连接到我的服务器时,我只会被发送到没有权限的空的正确目录,因为我不需要输入凭据。所以,我的问题是,如何强制 Samba 在连接时要求输入密码,以允许该用户编辑目录中的文件。对于将使用共享的用户来说,文件权限是正确的,所以我需要的只是要求登录。
我尝试将管理员用户添加到全局共享,但它没有任何作用。任何帮助都值得感激。
答案1
我能想到一种可能发生这种情况的情景:
[1] 你在 Samba 服务器上创建了一个名为“luca”的用户
[2] 该用户名在 Windows 上也存在。
[3] 你使 luca 的 samba 密码与 luca 在 Windows 上的登录密码相匹配。
Windows smb 客户端在访问服务器时始终会传递当前用户的登录用户名和密码 - 它会自动执行此操作。这并不是说您的共享不需要凭据,而是它们已经传递并被接受了。
关于编辑权限问题的第二部分 - 将您的共享定义更改为:
[xshare]
comment = X's Samba Share
path = /home/x/share
read only = no
browsable = yes
valid users = x, luca
force user = x
该共享将仅允许 x 和 luca 访问,但一旦他们进入该共享,他们所做的一切都将以用户 x 的身份进行。注意:我从您的共享定义中删除了“security = user”选项,因为它属于 [global] 部分。