如何让 samba 每次访问时都询问密码?

如何让 samba 每次访问时都询问密码?

我们已经为 Samba 配置了受密码保护的共享文件夹。我们面临的问题是,允许多个用户使用同一个系统。例如,如果用户 A 首次使用系统 S1,系统会提示输入用户名和密码以访问 Samba 共享文件夹,而如果用户后来离开该位置,而用户 B 进入访问同一个系统(例如 S1),则不会要求输入密码。有什么方法可以解决这个问题?

笔记:

  • 我知道这是因为持久连接而发生的。但是有没有什么方法可以从 samba 服务器本身控制持久连接?
  • 是否可以通过禁用持久连接让 samba 服务器在每次访问时询问密码??

我希望有某种可行的方法,但我没有找到。我已经尝试了该deadtime参数,但它只是关闭空闲连接并释放资源。也就是说,如果新用户来访问 samba 共享,则不会提示输入用户名和密码。

更新:

  • 使用 ubuntu 和 windows 并且 samba 共享在 ubuntu 服务器 12.04 上运行。

  • 从 ubuntu 访问 samba 共享时我没有遇到任何问题。使用共享后卸载共享时,它会第二次提示输入用户名和密码。

  • 但是在 Windows 中,当我第一次访问 samba 共享时,第二次它不会提示输入用户名和密码,只是 samba 共享可以访问。

  • 我只是希望 Windows 机器在用户每次关闭共享时都询问密码,而不是net use * /delete每次都这样做,而且我们不能命令用户每次都这样做。

  • 有没有办法阻止这种行为并让 samba 服务器每次通过 Windows 系统访问时都询问密码?

  • 我想要修复的是,例如用户 A、B 和 C有密码凭证来访问 Samba 共享,其中用户 D、E 和 F无权访问 Samba 共享,但所有用户均有权使用同一系统系统A

答案1

您正在利用Windows客戶端,不是嗎?

嗯,我不认为这是持久连接,我认为这更像是缓存凭证客户端。为了避免这种情况,你必须调整你的客户端。直接引用这一页

Samba 不控制客户端密码缓存。

域登录凭据的缓存是客户端活动。Windows 2000 Professional 和 Windows XP Profesional 客户端上有控制登录凭据缓存的注册表设置。

  • 单击开始>运行>输入 gpedit.msc
  • 检查计算机配置\Windows 设置\安全设置\本地策略\安全选项
  • 检查“交互式登录:缓存的先前登录次数”(如果值设置为 0,则禁用缓存凭据)

还请检查.... - 计算机配置\管理模板\系统\登录 - 选中“在计算机启动和登录时始终等待网络”(确保未配置或禁用该选项)

但是,如果您正在使用 winbind,您可能还需要通过在 smb.conf 中添加以下内容来关闭 winbind 离线登录:

winbind 脱机登录 = false

编辑:

我还发现这个有趣的问题。你可以尝试放几个:

net use \\yourserver\oneofyourshares /delete

进入客户端上的用户自动启动,这样每当任何用户执行登录时,凭据都会被删除。还请查看这个答案。似乎可以Windows通过以下方式停止每次共享缓存凭证:

net use \\a.b.c.d\sharename /user:domain\otheruser /persistent:no

但对于你的任务来说,可能这就足够了,例如:

net use \\yourserver\yourshare /persistent:no

甚至:

net use /persistent:no

找到最适合您需求的那个并尝试将其放入自动启动(或注册表项中run)。

答案2

你的问题是用户A用户B使用相同的用户名S1

因为如果他们使用不同的用户名,他们肯定会被要求输入密码提示。

  1. 无论如何,解决你的情况的方法是卸载完成工作后,samba share 即可使用。鹦鹉螺点击喷射按钮。

  2. 另一个解决方法是为系统添加新用户S1什么时候用户A完成工作后,他可以简单地注销,以便用户B无法访问用户A的股份

相关内容