You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为NT Service\SQLAgent$SQLTEAM2013授权访问Debian10 Samba共享以完成TFS备份

我来帮你解决这个问题——因为你的Samba是独立服务器(未加入域),Windows那边的NT Service\SQLAgent$SQLTEAM2013本地服务账号没法被Samba直接识别,所以得通过账号映射或者Windows端配置访问凭证的方式来搞定,下面是具体操作步骤:

解决步骤

方法一:用Samba账号映射功能(推荐)

这个方法能让Samba直接把Windows的服务账号映射到你Debian服务器上的本地用户,不用在Windows端额外配置凭证。

  1. 在Debian上创建对应本地用户
    先建一个和Windows服务账号对应的本地用户(比如叫sqlagent,名字可以自定义),同时创建对应的Samba用户:

    # 创建本地用户,设置shell为nologin(不需要登录权限)
    useradd -m -s /sbin/nologin sqlagent
    # 创建Samba用户并设置密码(这个密码记好,后续可能用得到)
    smbpasswd -a sqlagent
    
  2. 配置Samba的账号映射规则
    编辑你的/etc/samba/smb.conf文件,在[global]区块里添加:

    username map = /etc/samba/smbusers
    

    然后创建/etc/samba/smbusers文件,添加映射规则:

    sqlagent = NT Service\SQLAgent$SQLTEAM2013
    

    格式是Samba用户名 = Windows用户名,Windows用户名里的反斜杠直接写单个就行。

  3. 给Samba用户授予共享目录权限
    先确保/server目录的权限正确,你可以把目录的组权限开放给sqlagent,或者直接修改目录所有者:

    # 把目录的组设置为sqlagent所在的组,同时开放组读写权限
    chown -R juan:sqlagent /server
    chmod -R g+rw /server
    

    接着在smb.conf的[server]区块里,把valid users更新为包含sqlagent:

    valid users = juan sqlagent
    
  4. 重启Samba服务生效

    systemctl restart smbd nmbd
    

方法二:在Windows端配置Samba共享访问凭证

这个方法不用改Samba配置,只需要在Windows服务器上把访问Samba共享的凭证设置为你已有的Samba用户(比如juan)。

  1. 以管理员身份打开Windows命令提示符
    运行以下命令添加访问凭证:

    cmdkey /add:<Samba服务器IP或主机名> /user:juan /pass:<juan的Samba密码>
    

    比如你的Samba服务器IP是10.0.2.10,命令就是:

    cmdkey /add:10.0.2.10 /user:juan /pass:your_juan_password_here
    
  2. 测试备份任务
    现在重新运行TFS的备份任务,SQL Agent服务会自动使用你配置的凭证访问Samba共享。

验证权限配置是否成功

不管用哪种方法,都可以在Windows上用runas命令模拟SQL服务账号测试访问:

runas /user:"NT Service\SQLAgent$SQLTEAM2013" "cmd.exe"

在弹出的命令提示符里,运行:

dir \\<Samba服务器IP>\server

如果能正常列出目录内容,说明权限配置成功了。


内容的提问来源于stack exchange,提问作者zeros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 22:22:35