屏幕能够显示根进程吗?

屏幕能够显示根进程吗?

我正在尝试在 Ubuntu Server 22.04.1 上启动时运行 XMRig,但我的基本知识不足以解决这个问题。

我正在关注该过程使用 systemd 服务启动 shell 脚本,然后该脚本在指定的屏幕内启动 XMRig,这样我就可以查看控制台(如果需要)。实际上,它可以工作,但 XMRig 需要以 root 身份运行,因此可以利用大页面来提高性能。

如果我将服务文件中的“用户”键更改为“root”,XMRig 将以 root 身份运行,但当我尝试使用查看日志时screen -r,我会收到一条消息,提示“没有要恢复的屏幕”。

我希望有一个简单的改变,可以让两者screen -r协同user=root工作。

/etc/systemd/system/xmrig.service:

[Unit]
Description=XMRig Service

[Service]
LimitMEMLOCK=infinity
Type=forking
RemainAfterExit=yes
User=<user>
WorkingDirectory=/home/<user>
ExecStart=/home/<user>/StartXMRig
KillMode=none

[Install]
WantedBy=multi-user.target

/主页/用户/StartXMRig:

#!/bin/sh
screen -dmS xmrig /home/<user>/XMRig/xmrig

二进制权限(〜/ XMRig / xmrig:

-rwxr-xr-x 1 root    root    7022816 Oct 23 03:57 xmrig

答案1

您只需要 root 权限即可更改系统范围的变量。

启用大页面

这将提高你的散列性能:

使用您喜欢的编辑器编辑该文件/etc/sysctl.conf,使用 sudo 提升您的权限,并将以下内容添加到文件末尾:

vm.nr_hugepages=1024

您可以使用以下命令执行此操作

 sudo -i
 nano /etc/sysctl.conf  

滚动到末尾并添加

 vm.nr_hugepages=1024

保存并退出。退出 root 提示符。

屏幕能够显示 root 进程吗?

是的,但只有当用户是屏幕的用户时,屏幕才会连接。

在 Ubuntu 中,永远不需要以“root”身份运行软件。说明中没有任何地方说明您需要以 root 身份运行此软件。说明的一部分指出:

正在使用的用户名为矿工,因此在整个说明中,如果您的用户不同,请修改用户!

因此,您的管理员用户已经足够好了,但对于服务器软件来说,它不如专用用户那么安全。

从安全角度来看,建议创建一个用户“miner”并使用它。这将 100% 符合说明,并且如果 miner 的创建者有恶意,他将不会知道您的管理员密码,只能弄乱 /home/miner/。

相关内容