代码之家  ›  专栏  ›  技术社区  ›  anorm

嵌入式应用程序应作为哪个用户运行?

  •  3
  • anorm  · 技术社区  · 17 年前

    我们有一个嵌入式Linux产品,它带有一个应用程序,允许用户通过菜单系统更改不同的设置。这些设置包括IP地址/DHCP和时间。

    我们现在以根用户身份运行这个应用程序,但这感觉是错误的,允许用户直接以根用户身份与进程进行交互。

    我们应该使用哪个用户?

    如果不是根,我们如何完成出现的权限问题?

    编辑: 该产品没有经典gnome/kde风格的图形用户环境。上面提到的菜单系统是在产品本身的LCD面板上实现的。

    5 回复  |  直到 17 年前
        1
  •  3
  •   mouviciel    17 年前

    如果对输入应用了严格的控制,那么在Linux上以根用户身份运行嵌入式应用程序没有任何错误。

    无论如何,当底层操作系统类似于vxworks时,应用程序也会以最大权限运行。

        2
  •  2
  •   jakobengblom2    17 年前

    我想问题是:如果出了什么问题会发生什么?我想在任何情况下,产品都会崩溃、挂起或行为失常?根用户和常规用户的概念只适用于没有根用户的情况下,可以防止…如果你所拥有的只是一个固定的用户界面,那么情况就不一样了。

        3
  •  1
  •   stefaanv    17 年前

    如果应用程序是系统的主要部分,那么以根用户身份运行它是有意义的。 但是,即使有一些额外的工作,也值得将应用程序与GUI断开连接,这样您的GUI就可以作为普通用户运行。 这也可以帮助您自动化测试。

        4
  •  0
  •   Linus    17 年前

    假设你在运行gnome。

    1)做“用户和组”程序所做的。它允许您查看当前设置,但要求您解锁高级设置,如管理其他用户。

    2)广泛使用GKSU。

        5
  •  0
  •   Zan Lynx    17 年前

    我会把代码分成若干部分。为接口代码创建一个用户。您可以将其命名为“interface”,然后让它通过守护进程或sudo调用根目录,以实际执行需要根目录的更改。限制访问,以便只能运行已批准的命令。