我有一个使用 samba 的共享设置,它需要用户名/密码组合才能访问其上保存的文件。
需要访问此共享的脚本作为计划任务(作为服务帐户)在 Windows 服务器上运行,因此不存在交互式会话。
我不想在脚本中添加将共享挂载为驱动器号或通过 UNC 路径访问它的步骤,因为这需要在脚本中以明文形式输入共享的用户名和密码。这对安全性不利。
是否有人知道为特定 Windows 用户永久挂载 Windows(samba)共享的方法,以便以该用户身份运行的计划任务可以访问数据,而无需在每次运行时都挂载脚本?
我不想删除共享的用户/密码身份验证,也不想在脚本本身中以明文形式放置用户/密码。
谢谢,
C
答案1
我不清楚这对您来说是否是一个选择,但这是我在 Windows 机器和基于 Samba 的 NAS 上所做的:
- 在 Windows 上创建一个本地帐户,使用与访问 Samba 共享所需的相同的用户名和密码
- 使用新创建的帐户运行任务。它应该被允许访问。
答案2
您能得到的唯一真正解决方案是:
1) 将您的 linx 机器加入域,并授予该共享的域用户权限。在您的 Windows 系统上,以该用户身份运行计划任务。如果您对系统设置总体满意(除了这个问题),那么它会有点沉重和非常丑陋
2) 使用 SCP 和 SSH 密钥身份验证之类的东西,这样就无需用户名/密码了。PuTTY 是一款不错的免费 SSH/SCP 客户端。快速谷歌搜索后,我找到了这些规则,其中大部分看起来大致正确(选择对您最有意义的规则)
答案3
我在寻找如何从脚本挂载共享时发现了这个问题。我知道您对在脚本中写入密码感到不安,但对于没有这种顾虑的人来说,您需要的命令是net use
。