我已经hddtemp
在我的 Arch Linux 上安装了,但它需要以 root 权限运行。我想以普通用户身份执行它而不使用sudo
.我怎样才能做到这一点?
答案1
可以使用该/etc/sudoers
机制为组中的用户分配运行可执行文件的权限。例如,要允许组中的所有用户以root 身份users
运行并添加以下权限:hddtemp
root
visudo
%users ALL = (root) NOPASSWD: /path/to/hddtemp
答案2
您可以使程序成为SUID。这是不是这是一种非常安全的做事方式,因为 SUID 程序通常会无意中打开提升权限的方法,特别是当该程序不打算以 SUID 方式运行时。除非 sudo 解决方案由于某种原因不可接受(它被硬编码到您无法更改的脚本/程序中),否则您应该这样做。如有必要,您甚至可以编写一个脚本来隐藏正在使用 sudo 的事实。