允许任何用户使用我自己的 shell 进行关机

允许任何用户使用我自己的 shell 进行关机

首先,如果我的英语不够好,并且英语不是我的母语,我很抱歉。

我有一个项目,我正在构建自己的 shell(名为 MYSHELL)。其中一项任务是创建我自己的内置 turnitoff,任何拥有MYSHELL 作为默认 shell*。问题是这个命令仅适用于 sudo。我读到我可以编辑 sudoers 文件,但是这有一个问题:假设 John 安装了 MYSHELL。他可以随时切换到他以前的 shell(例如 bash)。当他处于 bash 中时,他不应该运行关机,但他会运行。希望我说清楚了……我不想要答案,只是一只可以告诉我可以搜索到哪里的援助之手……提前谢谢!注意:所有代码都在 BASH 中,不允许使用 bin 文件

*用户使用 MYSHELL 作为 shell 是因为有人使用 makefile 安装了它。此时我们可以更改所有内容,因为 makefile 是以 root 用户身份运行的。

答案1

在具有以下系统的数据总线控制台套件安装后您可以使用以下命令在不具有超级管理员权限(即不授予用户 sudo 权限)的情况下关闭系统:

dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

相关内容