使程序可由普通用户执行

使程序可由普通用户执行

我已经hddtemp在我的 Arch Linux 上安装了,但它需要以 root 权限运行。我想以普通用户身份执行它而不使用sudo.我怎样才能做到这一点?

答案1

可以使用该/etc/sudoers机制为组中的用户分配运行可执行文件的权限。例如,要允许组中的所有用户以root 身份users运行并添加以下权限:hddtemprootvisudo

%users ALL = (root) NOPASSWD: /path/to/hddtemp

答案2

您可以使程序成为SUID。这是不是这是一种非常安全的做事方式,因为 SUID 程序通常会无意中打开提升权限的方法,特别是当该程序不打算以 SUID 方式运行时。除非 sudo 解决方案由于某种原因不可接受(它被硬编码到您无法更改的脚本/程序中),否则您应该这样做。如有必要,您甚至可以编写一个脚本来隐藏正在使用 sudo 的事实。

相关内容