🔒️ 允许禁止命令执行 [skip ci]
This commit is contained in:
		
							parent
							
								
									de66012e66
								
							
						
					
					
						commit
						b0ba028211
					
				
							
								
								
									
										17
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								README.md
									
									
									
									
									
								
							@ -7,18 +7,18 @@
 | 
				
			|||||||
<img src="https://img.shields.io/github/workflow/status/naiba/nezha/Dashboard%20image?label=Dash%20v0.10.6&logo=github&style=for-the-badge"> <img src="https://img.shields.io/github/v/release/naiba/nezha?color=brightgreen&label=Agent&style=for-the-badge&logo=github"> <img src="https://img.shields.io/github/workflow/status/naiba/nezha/Agent%20release?label=Agent%20CI&logo=github&style=for-the-badge"> <img src="https://img.shields.io/badge/Installer-v0.7.0-brightgreen?style=for-the-badge&logo=linux">
 | 
					<img src="https://img.shields.io/github/workflow/status/naiba/nezha/Dashboard%20image?label=Dash%20v0.10.6&logo=github&style=for-the-badge"> <img src="https://img.shields.io/github/v/release/naiba/nezha?color=brightgreen&label=Agent&style=for-the-badge&logo=github"> <img src="https://img.shields.io/github/workflow/status/naiba/nezha/Agent%20release?label=Agent%20CI&logo=github&style=for-the-badge"> <img src="https://img.shields.io/badge/Installer-v0.7.0-brightgreen?style=for-the-badge&logo=linux">
 | 
				
			||||||
  <br>
 | 
					  <br>
 | 
				
			||||||
  <br>
 | 
					  <br>
 | 
				
			||||||
  <p>:trollface: <b>哪吒监控</b> 一站式轻监控轻运维系统。支持系统状态、HTTP(SSL 证书变更、即将到期、到期)、TCP、Ping 监控报警,命令批量执行和计划任务。</p>
 | 
					  <p>:trollface: <b>哪吒监控</b> 一站式轻监控轻运维系统。支持系统状态、HTTP(SSL 证书变更、即将到期、到期)、TCP、Ping 监控报警,计划任务和在线终端。</p>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\>> QQ 交流群:872069346 **加群要求:已搭建好哪吒监控 & 有 2+ 服务器**
 | 
					\>> QQ 交流群:872069346 **加群要求:已搭建好哪吒监控 & 有 2+ 服务器**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\>> [我们的用户](https://www.google.com/search?q="powered+by+哪吒监控"&filter=0) (Google)
 | 
					\>> [我们的用户](https://www.google.com/search?q="powered+by+哪吒监控"&filter=0) (Google)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 默认主题                                                                           | DayNight [@JackieSung](https://github.com/JackieSung4ev)     | hotaru                                                                     |
 | 
					| 默认主题                                                                                 | DayNight [@JackieSung](https://github.com/JackieSung4ev)     | hotaru                                                                     |
 | 
				
			||||||
| ---------------------------------------------------------------------------------- | ------------------------------------------------------------ | -------------------------------------------------------------------------- |
 | 
					| ---------------------------------------------------------------------------------------- | ------------------------------------------------------------ | -------------------------------------------------------------------------- |
 | 
				
			||||||
|                         |  | <img src="resource/template/theme-hotaru/screenshot.png" width="1600px" /> |
 | 
					|                               |  | <img src="resource/template/theme-hotaru/screenshot.png" width="1600px" /> |
 | 
				
			||||||
| <div align="center"><b>默认主题魔改 <a href="https://ii.do/43.html">[教程]</a></b></div>                                  |                                                              |                                                                            |
 | 
					| <div align="center"><b>默认主题魔改 <a href="https://ii.do/43.html">[教程]</a></b></div> |                                                              |                                                                            |
 | 
				
			||||||
|  |                                                              |                                                                            |
 | 
					|        |                                                              |                                                                            |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 安装脚本
 | 
					## 安装脚本
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -45,7 +45,8 @@ _\* 使用 WatchTower 可以自动更新面板,Windows 终端可以使用 nssm
 | 
				
			|||||||
- `--report-delay` 系统信息上报的间隔,默认为 1 秒,可以设置为 3 来进一步降低 agent 端系统资源占用(配置区间 1-4)
 | 
					- `--report-delay` 系统信息上报的间隔,默认为 1 秒,可以设置为 3 来进一步降低 agent 端系统资源占用(配置区间 1-4)
 | 
				
			||||||
- `--skip-conn` 不监控连接数,机场/连接密集型机器推荐设置,不然比较占 CPU([shirou/gopsutil/issues#220](https://github.com/shirou/gopsutil/issues/220))
 | 
					- `--skip-conn` 不监控连接数,机场/连接密集型机器推荐设置,不然比较占 CPU([shirou/gopsutil/issues#220](https://github.com/shirou/gopsutil/issues/220))
 | 
				
			||||||
- `--skip-procs` 不监控进程数,也可以降低 agent 占用
 | 
					- `--skip-procs` 不监控进程数,也可以降低 agent 占用
 | 
				
			||||||
- `--disable-auto-update` 禁止 Agent 自动更新
 | 
					- `--disable-auto-update` 禁止 Agent 自动更新(安全特性)
 | 
				
			||||||
 | 
					- `--disable-command-execute` 禁止在 Agent 机器上执行定时任务、打开在线终端(安全特性)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 功能说明
 | 
					## 功能说明
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -271,7 +272,7 @@ restart() {
 | 
				
			|||||||
</details>
 | 
					</details>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<details>
 | 
					<details>
 | 
				
			||||||
    <summary>实时通道断开/网页终端连接失败</summary>
 | 
					    <summary>实时通道断开/在线终端连接失败</summary>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
使用反向代理时需要针对 `/ws`,`/terminal` 路径的 WebSocket 进行特别配置以支持实时更新服务器状态和 **WebSSH**。
 | 
					使用反向代理时需要针对 `/ws`,`/terminal` 路径的 WebSocket 进行特别配置以支持实时更新服务器状态和 **WebSSH**。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -29,13 +29,14 @@ import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type AgentConfig struct {
 | 
					type AgentConfig struct {
 | 
				
			||||||
	SkipConnectionCount bool
 | 
						SkipConnectionCount   bool
 | 
				
			||||||
	SkipProcsCount      bool
 | 
						SkipProcsCount        bool
 | 
				
			||||||
	DisableAutoUpdate   bool
 | 
						DisableAutoUpdate     bool
 | 
				
			||||||
	Debug               bool
 | 
						DisableCommandExecute bool
 | 
				
			||||||
	Server              string
 | 
						Debug                 bool
 | 
				
			||||||
	ClientSecret        string
 | 
						Server                string
 | 
				
			||||||
	ReportDelay         int
 | 
						ClientSecret          string
 | 
				
			||||||
 | 
						ReportDelay           int
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
@ -75,6 +76,7 @@ func main() {
 | 
				
			|||||||
	flag.IntVar(&agentConf.ReportDelay, "report-delay", 1, "系统状态上报间隔")
 | 
						flag.IntVar(&agentConf.ReportDelay, "report-delay", 1, "系统状态上报间隔")
 | 
				
			||||||
	flag.BoolVar(&agentConf.SkipConnectionCount, "skip-conn", false, "不监控连接数")
 | 
						flag.BoolVar(&agentConf.SkipConnectionCount, "skip-conn", false, "不监控连接数")
 | 
				
			||||||
	flag.BoolVar(&agentConf.SkipProcsCount, "skip-procs", false, "不监控进程数")
 | 
						flag.BoolVar(&agentConf.SkipProcsCount, "skip-procs", false, "不监控进程数")
 | 
				
			||||||
 | 
						flag.BoolVar(&agentConf.DisableCommandExecute, "disable-command-execute", false, "禁止在此机器上执行命令")
 | 
				
			||||||
	flag.BoolVar(&agentConf.DisableAutoUpdate, "disable-auto-update", false, "禁用自动升级")
 | 
						flag.BoolVar(&agentConf.DisableAutoUpdate, "disable-auto-update", false, "禁用自动升级")
 | 
				
			||||||
	flag.Parse()
 | 
						flag.Parse()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -302,6 +304,10 @@ func handleHttpGetTask(task *pb.Task, result *pb.TaskResult) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func handleCommandTask(task *pb.Task, result *pb.TaskResult) {
 | 
					func handleCommandTask(task *pb.Task, result *pb.TaskResult) {
 | 
				
			||||||
 | 
						if agentConf.DisableCommandExecute {
 | 
				
			||||||
 | 
							result.Data = "此 Agent 已禁止命令执行"
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	startedAt := time.Now()
 | 
						startedAt := time.Now()
 | 
				
			||||||
	var cmd *exec.Cmd
 | 
						var cmd *exec.Cmd
 | 
				
			||||||
	var endCh = make(chan struct{})
 | 
						var endCh = make(chan struct{})
 | 
				
			||||||
@ -347,6 +353,10 @@ type WindowSize struct {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func handleTerminalTask(task *pb.Task) {
 | 
					func handleTerminalTask(task *pb.Task) {
 | 
				
			||||||
 | 
						if agentConf.DisableCommandExecute {
 | 
				
			||||||
 | 
							println("此 Agent 已禁止命令执行")
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	var terminal model.TerminalTask
 | 
						var terminal model.TerminalTask
 | 
				
			||||||
	err := json.Unmarshal([]byte(task.GetData()), &terminal)
 | 
						err := json.Unmarshal([]byte(task.GetData()), &terminal)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user