相关疑难解决方法(0)

为什么重启和关机需要root权限?

要从终端重新启动或关闭 Linux,可以分别使用rebootpoweroff。但是,这两个命令都需要 root 权限。为什么会这样?不要求它具有 root 权限会带来什么安全风险?GUI 为任何用户提供了一种关闭或重新启动的方法,那么为什么终端命令需要以 root 身份运行?

说到 GUI 中的选项,如果终端需要 root 权限来关闭或重新启动 Linux 计算机,那么 GUI 怎么能够在不需要输入密码的情况下提供执行相同操作的选项?

shutdown security root sudo reboot

67
推荐指数
5
解决办法
2万
查看次数

Arch Linux 上的默认 Polkit 权限是什么,用于关闭、暂停等,为什么会这样?

在 Arch Linux 上,使用 systemd,以下命令都是指向 的符号链接systemctl

/usr/bin/telinit
/usr/bin/poweroff
/usr/bin/runlevel
/usr/bin/reboot
/usr/bin/halt
/usr/bin/shutdown
Run Code Online (Sandbox Code Playgroud)

我发现他们在授权方面的行为令人困惑:

$ shutdown
Must be root.
$ halt
Must be root.
$ telinit 3
# Asks for Polkit authorization
Run Code Online (Sandbox Code Playgroud)

既不poweroff也不reboot要求授权。poweroff实际上并没有关闭我的系统,笔记本电脑保持开机状态,屏幕上有文字说明它正在关闭 - 无限期。

我没有修改过 Polkit 规则,所以我想知道为什么他们的行为是这样。

  • 我的非 root 管理员用户尝试了所有命令,他是wheel.
  • /etc/polkit-1/rules.d 似乎只包含一个默认规则集:

    # tail /etc/polkit-1/rules.d/*
    // DO NOT EDIT THIS FILE, it will be overwritten on update
    //
    // Default rules for polkit
    //
    // See the polkit(8) man page …
    Run Code Online (Sandbox Code Playgroud)

arch-linux polkit systemd

5
推荐指数
1
解决办法
3828
查看次数

标签 统计

arch-linux ×1

polkit ×1

reboot ×1

root ×1

security ×1

shutdown ×1

sudo ×1

systemd ×1