macOS 服务器 - 使用 UID 0 运行屏幕共享

macOS 服务器 - 使用 UID 0 运行屏幕共享

我运行的 Mac 服务器带有一个 LAMP 堆栈,全部通过 MacPorts 安装,我会勤于更新。该服务器运行的是 macOS X Sierra,我不太会更新它,因为 LAMP 堆栈是完全独立的。

然而,今天服务器卡住了,当我终于通过 ssh 进入时,我发现 kernel_task 运行不正常。我花了很长时间才恢复正常。

我运行top -o cpu后发现有一项名为“屏幕共享”的任务正在运行。很奇怪,因为当时我实际上并没有在进行屏幕共享,但是为了方便起见,我确实启用了这项服务。

我卸载了该服务:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.screensharing.plist

但后来我开始怀疑这到底是怎么回事。我重新加载了服务,大约五分钟后它又出现了。这次我能够看到它运行时的 UID 是 0。我很快再次禁用它。

我的问题:

  1. 这是犯规的表现吗,还是屏幕共享服务的怪癖?
  2. 如果这是犯规行为,那么禁用 root 远程登录难道不应该可以防止此类事件发生吗?
  3. 如果这是一个已知错误,那么它已经修复了吗?我会再联系softwareupdate

编辑并提出一个大多是开玩笑的后续问题:我在哪里可以查看是否已安装加密挖掘软件?

答案1

屏幕共享是远程管理的一部分。远程管理需要 root 访问权限(您可以远程更改需要 root 才能更改的配置)。为了让屏幕共享为 root 提供 GUI 访问权限,它也必须具有 root 访问权限。

屏幕共享作为根守护进程(UID 为零)运行是正常的。

这本身并不表明存在犯规行为。

这是一个已知错误吗?我在 Apple 网站上没有找到该错误(已知错误)的列表。

升级不花钱,升级会对你造成损害吗?不会。我在 High Sierra 上运行 LAMP。您的服务器是否支持升级到 High Sierra?由于不了解硬件,我无法回答这个问题,但访问 Apple 网站可以。

相关内容