如何在没有 sudo 的情况下运行命令/二进制文件? (Debian/Linux)

如何在没有 sudo 的情况下运行命令/二进制文件? (Debian/Linux)

我安装psensor在通过 RDP 访问的服务器上。

问题是psensor需要读取硬盘 SMART 状态的权限,我安装了大约 10 个硬盘。

为了避免输入 root 密码 10 次,我运行了sudo,但这不起作用,因为 Xlib 无法打开显示屏。

如何允许 psensor 作为非 sudo 用户以更高级别的权限运行?

#更新:

这是例如

/dev/sda: brw-rw---- 1 root disk 8, 0 Sep 28 20:35 /dev/sda

(看评论)

答案1

您只需完成适当的身份验证即可。默认情况下,sudo从环境中删除所有非必要变量并将其设置HOME为目标用户,但在这种情况下,您需要恢复其中一两个:

sudo HOME="$HOME" psensor …

如果这还不够,试试这个

sudo HOME="$HOME" DISPLAY="$DISPLAY" psensor …

请注意,这将允许root写入您的主目录,就好像它是它自己的目录一样。有时,这会导致您自己的目录中出现 root 拥有的文件(或更糟糕的是,目录),您无法直接访问或删除这些文件。如果这不可接受,请尝试以下更冗长的替代方案之一

sudo bash -c "cp -p $HOME/.Xauthority ~ && psensor …"
sudo DISPLAY="$DISPLAY" bash -c "cp -p $HOME/.Xauthority ~ && psensor …"

相关内容