将Linux GUI(X)应用程序作为另一个(系统,非root)用户运行

时间:2015-02-28 10:45:07

标签: linux sudo su

我正在尝试编写一个自定义(GUI)程序安装程序,它需要作为特定的(系统)用户运行(没有主目录) - 让我们称他为“安装程序”。我尝试或思考的事情有​​两种不同的方式:

  1. 通过(gk)su(do)( - u)以用户“installer”启动GUI安装程序应用程序。问题是,a。这些命令并非每个都可用 由于内部别名,b或者在各处都没有表现出相同的行为。 x服务器不允许我作为不同的用户连接而没有一些可能不安全的“xhost +”修改(旧的“无法连接到X服务器:0.0”问题)。
  2. 避免X服务器用于安装程序例程,并为chmod /文件复制过程创建单独的(CLI)二进制文件,而GUI在当前用户模式下运行。问题是我必须以明文形式给出(sudo -S)命令的密码,该命令显示在日志中,因此也不是一个好主意。
  3. 导出显示,.Xauthority,xhost和我在stackoverflow上可以找到的任何内容的几个命令组合,但没有太大成功。
  4. 那么,我真正需要什么?

    • 以独立于发行版的方式启动GUI应用程序作为另一个(非根,但“/ home”无系统)用户
    • 向当前用户询问用户“installer”密码的优雅方式
    • 首先不需要当前用户输入root密码的解决方案,或者以root身份安装应用程序。

    我会对这件事的任何想法表示感谢。

    [edit] 澄清一下,我不反对想要将新程序安装到已建立的linux文件结构中。整个设置如下:

    1. 我有一个将由root安装的主程序。这个程序可以通过模块扩展。
    2. 这些模块将安装到“installer”用户拥有的自定义文件夹(我们称之为“/ progmodules”)中。目标是让授权用户能够安装新模块,而无需为他们提供完全的root访问权。
    3. 任何想要安装新模块的用户都应该能够运行安装程序GUI应用程序,输入“安装程序”用户密码,然后传输文件。

0 个答案:

没有答案