在 Ubuntu 20.04 中,我有这个配置。在 /etc/sudoers 中:
...
%sudo ALL=(ALL:ALL) ALL
...
我以这种方式改变了它:
...
%sudo ALL=(ALL:ALL) ALL
david ALL=(ALL) NOPASSWD: /usr/bin/systemctl hibernate
...
david
是我的用户名。我尝试了很多变体并搜索了互联网。每当我这样做时,我都需要输入密码:
sudo systemctl hibernate
对于 CentOS 和其他 Linux 变体,它可以正常工作。
更新 1:
sudo -ll
Matching Defaults entries for david on hp:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User david may run the following commands:
Sudoers entry:
RunAsUsers: ALL
RunAsGroups: ALL
Commands:
ALL
Sudoers entry:
RunAsUsers: ALL
Options: !authenticate
Commands:
/bin/systemctl hibernate
Sudoers entry:
RunAsUsers: ALL
Commands:
ALL
工作的其他系统的输出NOPASSWD:
是等效的。