我有一個在啓動時自動運行的嵌入式系統上運行的應用程序。由於某些功能涉及讀取和寫入串行端口,因此我需要軟件具有root權限。在我的桌面上,這是沒有問題的,因爲我可以運行程序sudo
,這很好。在我的嵌入式設備上,我無法做到這一點,所以我期望的是有一些linux系統函數可以讓代碼不以root身份運行,但是可以擁有超級用戶權限來訪問串口。我認識到,從安全角度來看,這可能不是一個好主意,但由於它在嵌入式設備上,我別無選擇。是否有系統函數允許我的應用程序擁有root權限?
2
A
回答
10
您是否考慮過更改串行端口設備節點的權限,以便您的應用程序可以訪問它?
E.g.允許每個應用程序訪問/dev/ttyS0
串口:
chmod a+rw /dev/ttyS0
爲了提供更精細的控制,您可以創建一個單獨的用戶羣和chgrp
您的串口設備節點:
chgrp serial /dev/ttyS0
chmod 0660 /dev/ttyS0
之後,您所需要的只是確保用戶的應用程序運行在serial
用戶組中。
或者你甚至可以使應用程序的用戶設備節點的唯一擁有者:
chown appuser /dev/ttyS0
chmod 0600 /dev/ttyS0
需要root權限只訪問一個設備節點是不是正確的方法...
+0
這似乎是一個更明智的方法。感謝您的回答。 – mathematician1975 2012-07-21 07:05:00
相關問題
- 1. Android應用程序可以擁有Android的root權限嗎?
- 2. mysql root用戶是否總是擁有默認的所有權限?
- 3. MVC.NET - 是否有一個安全框架,允許基於系統的權限
- 4. 沒有root權限的R包的系統依賴關係
- 5. Android系統應用程序權限
- 6. Facebook應用程序未請求manage_pages權限,但我擁有此權限
- 7. 有沒有辦法讓Java應用程序獲得root權限?
- 8. iOS應用程序的root權限
- 9. 授予應用程序的root權限
- 10. 是否授予Facebook應用程序權限以查看我的喜好,是否允許應用程序的所有其他用戶也看到我的喜好?
- 11. 允許單個組擁有多個組的訪問權限
- 12. 鎖定應用程序是否需要root權限?
- 13. 設備所有者應用程序是否獲得系統應用程序權限?
- 14. 擁有root(管理)權限的用戶列表用戶
- 15. 當您擁有二元系統的許多權限時該怎麼辦?
- 16. 是否可以根據關係擁有權限?
- 17. 檢查我的手機上是否有root權限
- 18. 是否有任何系統定義的函數來檢查用戶是否具有更改權限?
- 19. 如何將系統權限授予我的Android應用程序?
- 20. 用戶允許我的應用程序的許可權
- 21. Android系統需要root權限嗎?
- 22. 獲取root應用程序的Android應用程序的root權限?
- 23. 我如何給我的Android應用程序提供root權限?
- 24. 允許我的應用程序在有限的天數內免費使用
- 25. 是否有任何允許回調的Thrift式RPC系統?
- 26. Web Workers是否被允許擁有Web Worker線程?
- 27. 如果作爲root安裝的程序由非root用戶運行,它是否仍具有root權限?
- 28. 是否有一個「放入」評論系統的web應用程序,允許用戶使用Facebook或Twitter登錄
- 29. 使用sshfs掛載遠程文件系統並且沒有root權限
- 30. 沒有root權限的mysqlworkbench
你可以學習更多關於setuid可執行文件的信息... – 2012-07-21 07:00:34