要运行该命令,poweroff
或者reboot
需要一个超级用户。无论如何,我可以以普通用户身份运行它吗?我只是不想,sudo
每次重启或关闭电源时都输入密码。
systemd
的Ubuntu,所以您是说其他发行版(例如Arch)可以在没有特权的情况下重启?
要运行该命令,poweroff
或者reboot
需要一个超级用户。无论如何,我可以以普通用户身份运行它吗?我只是不想,sudo
每次重启或关闭电源时都输入密码。
systemd
的Ubuntu,所以您是说其他发行版(例如Arch)可以在没有特权的情况下重启?
Answers:
我进行了更改,/etc/sudoers
以便admin组中的每个用户都可以执行以下命令,而无需输入密码。
sudo halt
sudo reboot
sudo poweroff
您只需将以下行添加到 /etc/sudoers
## Admin user group is allowed to execute halt and reboot
%admin ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff
并将自己添加到管理组。
如果你只需要一个用户能够做到这一点只是删除了%admin
,取而代之的是username
这样的
## user is allowed to execute halt and reboot
stormvirux ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff
您可以/etc/sudoers
通过man sudoers
或在线联机帮助找到更多信息。
您还可以根据需要在其/etc/sudoers.d
名称下创建一个新文件(我命名为'shutdown'
),并在其中放入以下几行:
# Allows me to shutdown the system without a password
yourUserName ALL = NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff
只需将“ yourUserName”更改为您的用户名,然后添加或删除要使用的命令,就我个人而言,它仅用于shutdown
。在其下创建特定文件的主要区别之一sudoers.d
是该文件将在系统升级后继续存在
/etc/sudoers
具有相应的#include
指令以从中读取文件/etc/sudoers.d/
。
最简单的解决方案:
sudo echo $USER >> /etc/shutdown.allow
然后,您可以使用以下命令之一:
shutdown -ah now // halt
shutdown -ar now // reboot
根据man shutdown,有-a选项可以用于非root用户使用:
如果
shutdown
使用-a参数调用(将其添加到/ etc / inittab中的shutdown调用中),它将检查是否存在文件/etc/shutdown.allow。然后,它将该文件中的登录名与在虚拟控制台上登录的人员列表进行比较...
它可以在Debian Linux中使用。并且中最多可以包含32个用户名/etc/shutdown.allow
。
systemd
和活动logind
会话,您可以在没有提升特权的情况下重新引导或