2009-09-17 93 views
3

我們有一個嵌入式Linux產品和一個應用程序,讓用戶通過菜單系統更改不同的設置。這些設置包括IP地址/ DHCP和時間。嵌入式應用程序應該運行哪個用戶?

我們現在以root用戶身份運行此應用程序,但感覺不對,讓用戶直接與以root身份運行的進程交互。

我們應該使用哪個用戶?

如果不是root,我們如何完成出現的權限問題?

編輯: 該產品沒有古典Gnome/KDE時尚的圖形用戶環境。所提及的菜單系統是在產品本身的LCD面板上實現的。

回答

3

如果將嚴格控制應用於輸入,那麼在Linux上以root用戶身份運行嵌入式應用程序沒有任何問題。

無論如何,當底層操作系統類似VxWorks時,應用程序也以最大權限運行。

+0

請注意,現代VxWorks版本比以前的版本具有更多的控制和隔離功能......但是,對於大多數深度嵌入式設備而言,沒有用戶的概念。由於有一個邏輯用戶,環境或物理擁有者。 – jakobengblom2 2009-09-17 18:01:00

0

這假定您正在運行GNOME。

1)做什麼程序「用戶和組」做。它允許您查看當前設置,但需要您解鎖高級設置,例如管理其他用戶。 2)廣泛使用gksu。

1

如果應用程序是系統的主要部分,那麼以root身份運行它是有意義的。然而,即使有一些額外的工作,將應用程序與您的GUI解耦也是值得的,因此您的GUI可以像普通用戶一樣運行。 這也可以幫助你自動化你的測試。

0

我會將代碼分成幾部分。爲您的界面代碼創建一個用戶。你可以將它命名爲「界面」。然後讓它通過守護進程或sudo調用進入root,以便實際執行需要root的更改。限制訪問權限,以便只能運行批准的命令。

2

我認爲問題是:如果出現問題會發生什麼?我認爲該產品會在任何情況下崩潰,掛起或行爲不端? root和普通用戶的概念確實只適用於如果有某些不是root可以防範的情況......如果你擁有的只是一個固定的UI,那麼它似乎並不是這種情況。

相關問題