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

kar*_*k87 3 server samba password

我们已经为 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 共享,但他们都被授权使用相同的系统说制度

Avi*_*vio 6

你在使用Windows客户,不是吗?

好吧,我不认为这是持久连接的问题,我认为这是客户端缓存凭据的问题。为了避免这种情况,您必须调整您的客户。直接从这个页面引用:

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

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

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

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

但是,如果您使用的是 winbind,您可能还想通过添加到 smb.conf 来关闭 winbind 离线登录:

winbind 离线登录 = false

编辑:

我也发现了这个有趣的问题。你可以试着放几个:

net use \\yourserver\oneofyourshares /delete
Run Code Online (Sandbox Code Playgroud)

进入您用户在客户端上的自动启动,以便在任何用户执行登录时删除凭据。也看看这个答案。似乎可以通过Windows这种方式停止按共享缓存凭据:

net use \\a.b.c.d\sharename /user:domain\otheruser /persistent:no
Run Code Online (Sandbox Code Playgroud)

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

net use \\yourserver\yourshare /persistent:no
Run Code Online (Sandbox Code Playgroud)

甚至:

net use /persistent:no
Run Code Online (Sandbox Code Playgroud)

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