Salt-stack:无法找到从 salt-master 到 salt-minion 的已安装网络驱动器

问题描述 投票:0回答:1

我有一个 salt master 和一个 salt-minion (windows server 2019),我正在尝试使用 salt-state 来安装一些应用程序。作为此安装的一部分,我想从 salt-minion 的本地存储上已安装的网络驱动器复制许多文件。

我的网络驱动器安装在W上,我可以在服务器上很好地访问它,复制文件等。 我的问题是从 salt-master 运行命令时出现没有 W 驱动器的错误。

salt My_SERVER cmd.run "ls 'W:/FOLDER/'" shell=powershell
MY_SERVER:
    ls : Cannot find drive. A drive with the name 'W' does not exist.
    At line:1 char:1
    + ls 'W:/FOLDER/'
    + ~~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (W:String) [Get-ChildItem], DriveNotFoundException
        + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand 

我尝试添加

runas
并使用我登录服务器的用户,但没有得到任何输出。如果我从 master 到 minion 运行
whoami
命令,它就是
nt
用户。我尝试更改盐以运行为
MY_USER
,但重新启动后似乎没有使用配置。

我缺少什么才能远程执行使用此网络驱动器的命令?

编辑: 我刚刚尝试使用 salt 在 cmd 上创建挂载,但也失败了,详细信息如下:

salt MY_SERVER cmd.run "net use W: \\10.192.68.68\Folder /persistent:Yes /user:ftp_user Password123"

MY_SERVER:
    System error 67 has occurred.
    
    The network name cannot be found.

如果我在 MY_SERVER 上本地运行该命令,则该命令也有效。使用 salt 在本地和远程运行 whoami 会得到相同的输出。

salt-stack
1个回答
1
投票

我没有使用 Salt 做过完全相同的事情,但做过类似的事情,我的笔记可能会有所帮助。

  • 在为您的文件提供服务的主机上设置本地用户(下例中的
    fsuser
    )(下面的
    FILE_SERVER
  • MY_SERVER
    上为
    SYSTEM
    用户设置一个凭据,用于访问服务主机上的文件共享(为此,您需要 psexec
    $ psexec -s cmd
    > cmdkey /add:FILE_SERVER /user:localhost\fsuser /pass:<password>
    
  • 使用 UNC 路径访问文件
    \\FILE_SERVER\ShareName

如果您必须使用网络驱动器访问文件(例如

W:

,有一个解决方法
© www.soinside.com 2019 - 2024. All rights reserved.