使用 doas 无密码关机

使用 doas 无密码关机

我希望能够关闭(或重新启动)我的系统而无需输入密码。我的/etc/doas.conf看起来像这样,我的用户在wheel组中

permit nopass :wheel as root cmd /sbin/poweroff
permit nopass :wheel as root cmd /sbin/reboot

permit :wheel

我认为这已经足够了,我可以进入

$ poweroff

但我收到消息

poweroff:必须是超级用户。

当我做

$ doas poweroff

我仍然需要输入我的密码。

如何配置 doas 以便我的用户可以poweroffreboot不必输入我的密码?是否可以配置它以便我doas根本不必输入?

答案1

您在文件中输入的命令doas.conf(您可以应该为了安全起见,使用完整路径输入)必须与命令行上的操作完全相同。这意味着要关闭系统电源,您可以输入

doas /sbin/poweroff

显然,您可以为此设置一个方便的别名:

alias poweroff='doas /sbin/poweroff'

使用该别名后,您只需使用poweroff它即可关闭系统电源。

此外,文件中的最后一个匹配项也doas.conf很重要。就您而言,permit :wheel匹配是因为您在wheel组中,并且没有指定nopass,这意味着您必须使用密码才能doas运行/sbin/poweroff

只需删除文件中的最后一条规则doas.conf(或将其移至顶部):

permit        :wheel
permit nopass :wheel as root cmd /sbin/poweroff
permit nopass :wheel as root cmd /sbin/reboot

相关内容