为什么需要sudo在终端中重新启动,而不是从GUI重新启动?


10

当我打开机器并登录到我的帐户时,我可以做任何我想做的事情,甚至可以关闭机器或说重启。

但是,如果我打开终端并尝试运行命令rebootshutdown那么我需要具有root用户访问权限。为什么会这样呢?

我可以想到某些原因,例如您喜欢的这种行为可能会适合您,ssh但我不确定,否则我可能会完全失去一些要点。


检查dbus并检查您的图形环境(例如KDE或gnome)。
Hennes 2012年

我想您可以在每一个上做到这一点gui,我只想知道为什么会有这样的设计功能。
阿曼(Aman Deep Gautam)2012年

Answers:


7

其安全功能。

使用GUI时,您(通常)坐在工作的计算机前面。但是,使用终端时,您可能实际上在一台计算机上,而在另一台计算机上却是远程的。您可能会向许多不同的计算机打开许多终端窗口。如果您不小心输入了错误的重启命令怎么办?该行动的范围可能从不便到彻底的灾难。

通过使用sudo,它会强制您使用密码。如果您输入了错误的密码,它将给您带来错误,并且希望您意识到自己在错误的终端中。这就是为什么在每台服务器上使用不同的root密码是一种很好的做法。


我也有同样的想法,但只是想确保我不会错过任何东西.. :)
Aman Deep Gautam 2012年

1
我已经看到许多Unix管理员从他们的shell提示符中删除了计算机名称,因为这占用了很多空间,后来又对该决定感到遗憾。
Keltari 2012年

请注意,这并不是此处所理解的安全功能。Unix启动时,您只有控制台(没有GUI)。并且只有root用户有权关闭/重新启动。还是那样。GUI绕过使用文件中的+ s位。尽管您可以使用以下命令删除菜单中的内容:askubuntu.com/questions/53308/…–
Alexis Wilke

我只是看到我的CentOS VM在su以root身份被-ed 时声称“重新引导”不是命令。我sudo reboot在那里打了字,效果很好。当我直接以root用户身份登录时,reboot可以正常工作。有点奇怪。
史蒂文·卢

@StevenLu检查您的路径。(“ echo $ {PATH}”)在某些情况下,路径中可能没有“ sbin”目录。在这种情况下,重新启动命令可能不会引起怪异。使用“哪个重新启动”也可能有助于解释。
TOOGAM

0

通常,您可以通过按Ctrl + Alt + Del从终端重新启动。那不是远程的。(没有权限从GUI远程重启也不起作用。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.