loo*_*bee 69
警告:在本答案结束时,您可能对 linux 的了解比您想要的要多
reboot和poweroff需要 root 权限GNU/Linux 操作系统是多用户的,就像它的UNIX前辈一样。系统是共享资源,多个用户可以同时使用。
流行的 PDP-11 小型机。有点大,按照今天的标准:)
在现代,这可能发生在远程网络(通常通过SSH)、瘦客户端或多座配置上,其中有多个本地用户将硬件连接到同一台计算机。
多座位配置。蒂亚戈·维格纳蒂摄
实际上,可能有成百上千的用户同时使用同一台计算机。如果任何用户可以关闭计算机电源并阻止其他人使用它,那将没有多大意义。
在多用户系统上,这可以防止有效的拒绝服务攻击
许多 Linux 发行版不提供 GUI。这样做的桌面 Linux 发行版通常面向单个用户模式,因此从 GUI 允许这样做是有意义的。
命令仍然需要 root 权限的可能原因:
实际机制会因特定的桌面管理器 (GUI) 而异。一般来说,有几种机制可用于此类任务:
Linux 用于非常多样化的环境——从大型机、服务器和台式机到超级计算机、移动电话和微波炉。很难让每个人一直开心!:)
小智 47
Linux 起源于 Unix,Unix 最初是作为多用户操作系统开发的。您可以让一个用户通过想要重新启动系统来干扰其他用户。只有具有 root 权限的管理员才能做到这一点。
Ija*_*han 36
它很自然,而且是一个政策问题和便利,它已被 GUI 允许,因为您已实际登录到机器。(如果 GUI 未以 root 身份运行,某些 Linux 发行版仍会要求您输入密码,我使用的是 Centos 6,我的用户甚至没有 GUI 关闭/重启选项,只有注销和锁定选项)
从伪终端,您需要是 root 用户或具有 sudo 权限,因为您可能不希望任何用户通过 ssh 进入您的服务器或机器并关闭或重新启动它。
Tob*_*ght 10
关闭(任何类型的)会影响所有用户,甚至包括终止他们的进程。这不是您通常希望 J. Random User 能够做的事情,仅仅因为他们已登录。
通常,应该只允许获得授权的操作员重新启动,在某些情况下,允许那些具有物理访问权限的操作员 - 许多 Linux 系统可以通过机箱上的电源按钮关闭。我知道这一点,因为我不小心这样做了!现在,我通常在组装系统时断开按钮...
对于1日的问题:
不要求它具有 root 权限会带来什么安全风险?GUI 为任何用户提供了一种关闭或重启的方法,那么为什么终端命令需要以 root 身份运行?
是的,正如在这个答案中所说,Linux 本质上被设计为多用户系统。考虑到不止一个用户在一个系统上工作,如果允许任何一个普通用户在其他人工作时关闭系统,那将是糟糕的。想象一下,如果您的网络服务器被远处的用户关闭会发生什么!因此,只有系统管理员又名根允许用户poweroff或reboot系统。
您还可以弄清楚:
$ which poweroff reboot
/sbin/poweroff
/sbin/reboot
Run Code Online (Sandbox Code Playgroud)
因此,poweroff并且reboot位于/sbin包含实用程序和仅限 root 的命令、用于引导、恢复、恢复和/或修复系统的基本二进制文件的目录下。
因此,这些命令应该由系统管理员/root 用户运行,请访问手册页:
DESCRIPTION
These programs allow a system administrator to reboot, halt or poweroff the system.
Run Code Online (Sandbox Code Playgroud)
另请访问相关问题:为什么我们需要在终端中以 root 身份进行关机和重启?
对于第二个问题:
说到 GUI 中的选项,如果终端需要 root 权限来关闭或重新启动 Linux 计算机,那么 GUI 怎么能够在不需要输入密码的情况下提供执行相同操作的选项?
GUI 是一个方便的问题,显然用户登录到 GUI,知道发生了什么以及他/她在做什么。因此,它不期望来自用户的密码提示/要求,即允许通过某种机制(如policy-kit )关闭或重新启动。但是在命令行的情况下,事情就不一样了......
当然,您可以使用 Desktop-Environment 提供的等效命令。示例,for gnome,您可以使用:gnome-session-quit具有适当的选项,不需要root权限。
另请访问相关问题:电源按钮如何在没有root权限的情况下关闭计算机?
| 归档时间: |
|
| 查看次数: |
15210 次 |
| 最近记录: |