AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1092921
Accepted
FredyWenger
FredyWenger
Asked: 2022-02-08 06:10:20 +0800 CST2022-02-08 06:10:20 +0800 CST 2022-02-08 06:10:20 +0800 CST

如何在不需要更改密码的情况下启动服务

  • 772

我们为客户开发了在 Windows Server 2019 上运行的 SQL Server(2019) 备份软件。
该应用程序(.net Windows Forms)有一个界面来配置备份(例如选择备份的日期、每天的备份时间等)和进一步的配置(到 SMTP 服务器的数据、邮件分发列表等)。此外,客户端包含恢复数据库的功能。备份通过计时器启动。
该应用程序运行良好,但必须 24/7/365 运行。
问题描述:
应用程序在客户服务器上运行,客户不允许密码永不过期的帐户。
此外,服务器(至少)每两周自动重新启动一次。所以......我们必须至少每两周访问一次服务器并启动我们的新客户端,这不是很好。
因此,我们考虑将备份App“拆分”成两部分:

  • Windows 客户端(具有停用的备份和电子邮件功能)
  • Windows 服务(在启动时读取配置文件,进行备份,发送电子邮件)

=> 目标:服务器重启后自动启动备份服务(无需手动启动)。
需求:
服务需要能够访问本地磁盘(读取 (.ini) 配置文件,存储备份)、SQL-Server(安装在同一台服务器上)和 SMTP-Server(位于另一台客户服务器上) ) 能够发送电子邮件。
如上所述,目标是使用没有密码的“系统帐户”(必须定期更改)。
我们是开发人员,而不是系统工程师......因此“初学者问题”:
据我们所知,“本地系统”,“本地服务”和“网络服务”有系统帐户(也许还有更多...... )。

上述帐户之一是否具有所有所需的权利(或是否有其他帐户)?

谢谢!

windows-service windows-server-2019
  • 1 1 个回答
  • 37 Views

1 个回答

  • Voted
  1. Best Answer
    Phill W.
    2022-02-08T07:26:56+08:002022-02-08T07:26:56+08:00

    是的,您绝对需要将交互式“配置”和“服务”部分分开。服务部分需要一直运行,配置部分只在需要时运行。

    如今,让应用程序在 Windows Server 的“控制台”上运行的想法充其量是很麻烦的,并且随着每个版本的 Windows 变得更加困难。生产了 20 年后仍处于生产阶段的 Windows 服务,我有点惊讶您在开发和测试期间没有遇到这个“挑战”。

    但不管怎么说 ...

    该应用程序在客户服务器上运行,客户不允许密码永不过期的帐户。

    鉴于 Windows 支持许多密码永不过期的“系统”帐户,这对您的应用程序来说是一个奇怪的“要求”。

    问题:这个“要求”真的相关吗?
    要使用“配置”应用程序,您需要登录机器,因此您将使用为此目的提供的任何凭据 - 那些交互式、用户特定的凭据应定期过期。

    “服务”部分应该只是运行并做一些事情。
    如果这些系统帐户的密码过期,Windows 生态系统将完全无法使用。

    该服务需要访问本地磁盘(读取(.ini)配置文件,存储备份)...

    是的,一点没错。
    任何“服务”帐户都应具有此级别的访问权限。

    ... 和 SMTP 服务器 ... 以便能够发送电子邮件。

    访问任何“关闭”框需要一个网络感知帐户。
    网络服务可能是您最好的选择。

    ...到 SQL-Server(安装在同一台服务器上)...

    危险,威尔罗宾逊!
    您是否认真地说您的“备份”实用程序正在将SQL Server 备份存储在与SQL Server 实例本身相同的计算机上?

    这会破坏您的整个解决方案。

    如果您丢失了运行 SQL Server 的机器,那么您也将丢失数据库的备份,因为存在备份的唯一原因是保证无论发生什么可怕的事情都可以恢复数据库,大错特错,那么您的“备份解决方案”就完全被破坏了。
    您绝对必须将备份从该服务器上移到另一台机器上,远离它们所保护的数据库。

    • 1

相关问题

  • 如果 Windows 服务崩溃,如何自动重新启动它?

  • 如何授予用户安装 Windows 服务的能力?

  • Windows:我可以为服务帐户映射网络驱动器吗?

  • 无法使用 sc 命令删除现有服务:指定的服务不作为已安装的服务存在

  • 如何使用脚本远程重启 Windows 服务?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve