通过桌面快捷方式,管理员将作为另一个用户启动 shell。用户应该在没有提升权限的情况下进入 shell,但使用提升的权限执行第一个命令。最后,用户应该处于保持打开状态以供进一步使用的非特权外壳中。
我该怎么做呢?
为 WIP 答案编辑的问题。
最新测试:
gksudo "gnome-terminal --execute bash -c 'boss "apt-get update"; bash'"
Run Code Online (Sandbox Code Playgroud)
不起作用。
以下是感谢 Laurent 帮助我进行头脑风暴的答案。不幸的是,我的情况太复杂了,我无法很好地表达。
我有一个从不上网的管理员用户。他使用代理用户来获取东西并进行投标。名为update的用户位于 sudoers 文件中,并且允许使用 NOPASSWD进行apt-get。admin 想要一个通向 gnome-terminal 的快捷方式,该终端在执行时自动调用apt-get update因为 admin 想要在此之后立即安装一些无法预测的东西放在脚本中。自动更新对管理员不起作用,因为管理员受到 Internet 防火墙的限制,并且被迫雇用暴徒进行系统更新和获取其他下载。
感谢 Laurent 带领我找到正确答案!这里是:
gksudo -u update "gnome-terminal --execute bash -c 'sudo apt-get update;bash'"
Run Code Online (Sandbox Code Playgroud)