local service system账户_关于Local System/Local Service/Network Service账户

部署或安装系统服务时需要指定服务运行的账户。一般地,可选择Local System、Local Service或Network Service账户。

Local System/Local Service/Network Service账户的区别在于每个账户的权限(Rights)不同。在Windows 2003和Windows XP之前,Service几乎都是运行在Local System账户下;从Windows 2003和WindowsXP开始,系统增加了Local Service和 Network Service账户。为什么要增加这两个新的内置账户?如何为Service选择账户?

在回答这两个问题之前,先说明两个基本概念:

1)一个服务(Service)所具有的权限取决于为该服务制定账户的权限;

2)某些服务允许与客户端(Client)进行交互。例如 SQL Server 服务能够接收并执行客户端提供的命令,特别地,用户能够利用SQL Server中存储过程 xp_cmdshell 执行用户命令。

明白上面两个基本概念后,如果将一个服务指定咋Local System账户下运行,你很容易推测出这做的后果!因为Local System内置账户(正式的账户名称是NT AUTHORITY\SYSTEM )是一个具有非常高特权的账户。一旦恶意用户利用运行在Local System下的可交换服务对计算机发动攻击,那将是十分危险的。与Local System账户相比,Local Service/Network Service账户所具有的权限要少很多。在Windows 2003或XP设置这两个账户主要的目的就是为了规避在Local System下运行服务所带来的风险。具体例子,请参考http://windowsitpro.com/systems-management/running-services-under-system-or-administrator给出的描述

微软在Windows 2003或XP中增加的Local Service 和 Network Service 这两个账户采用了最小权限(Minimal Authority)原则。至于Local Service和Network Service之间有差异,可以参考 Difference between local service account and network service account in windows server with respect to SQL Server 2005

### 查看或编辑 Prometheus 的 systemd 服务配置文件 要查看或编辑 Prometheus 的 `systemd` 服务配置文件,可以按照以下方法操作: #### 文件路径 Prometheus 的 `systemd` 配置文件通常位于 `/usr/lib/systemd/system/` 或 `/etc/systemd/system/` 目录下。具体路径可能因安装方式不同而有所差异[^2]。 #### 编辑配置文件 可以通过命令行工具如 `vim` 来修改该文件的内容。以下是标准的 `prometheus.service` 文件结构示例: ```ini [Unit] Description=Prometheus Documentation=https://prometheus.io/ After=network.target [Service] Type=simple User=prometheus ExecStart=/usr/local/prometheus/prometheus \ --config.file=/usr/local/prometheus/prometheus.yml \ --storage.tsdb.path=/home/software/prometheus-data Restart=on-failure [Install] WantedBy=multi-user.target ``` 上述配置中: - `ExecStart` 定义了 Prometheus 启动时使用的二进制文件及其参数。 - 参数 `--config.file` 指定了 Prometheus 使用的主要配置文件路径。 - 参数 `--storage.tsdb.path` 设置了存储时间序列数据的目标目录。 #### 修改后的生效流程 完成对 `prometheus.service` 文件的编辑后,需执行以下命令使更改生效: 1. 刷新 `systemd` 配置: ```bash systemctl daemon-reload ``` 2. 如果需要重新启动服务以应用新配置,则运行: ```bash systemctl restart prometheus ``` 需要注意的是,在某些情况下(例如调整日志级别或更新目标列表),无需完全重启服务即可实现热加载配置文件的功能。这可通过发送 SIGHUP 信号给正在运行的进程来完成[^1]。 #### 热加载配置文件 为了不中断现有监控任务并实时应用新的配置变更,可以向 Prometheus 进程发送挂起信号 (SIGHUP),从而触发其重载配置的行为而不必终止整个程序实例。此功能特别适用于动态环境下的持续优化需求场景。 ```bash kill -HUP $(pgrep prometheus) ``` 或者通过 `systemctl` 命令实现相同效果: ```bash systemctl reload prometheus ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值