2017-04-05 87 views
0

下面所有的命令需要root身份运行: 关机 停止 关机 使用telinit 重启 但还是谁不是通过点击GUI关机按钮sudoer可以关机的用户。当我们点击GUI中的关机按钮时会发生什么?如何在cmd中复制?如何使用命令行界面关闭非sudo用户?

+1

这是一个有趣的问题,这似乎是一个编程问题。 http://superuser.com或http://unix.stackexchange.com可能更合适。 – user2357112

+0

请看看这个线程http://unix.stackexchange.com/questions/253767/why-does-reboot-and-poweroff-require-root-privileges/253978#253978它解释了什么和为什么当你运行关机时发生/ reboot/poweroff从终端或伪终端。 GUI可以通过类似策略工具的机制关闭或重启。 –

+0

可能的重复http://askubuntu.com/questions/86138/how-to-shutdown-restart-suspend-without-authentication-or-confirmation – gerynix

回答

0

Sudo只是普通用户以root身份执行命令的一种方式。其他的方式包括:

  • 过程使用setuid/setgid比特位,这比原调用下的其他权限执行 - https://en.wikipedia.org/wiki/Setuid(“须藤”可执行文件也已设置此位)已经下运行
  • 过程root权限并接受外部命令(例如,通过API),然后代表原始调用者调用该命令(同样,sudo基本上也是这样)