我正在開發Qt中創建終端的軟件。我通過QProcess
運行了不同的命令,但是當我運行root命令時,它在終端中詢問密碼。我試圖通過sudo
運行,但它只接受終端中的密碼。有什麼方法可以從其他來源提供密碼,如彈出窗口小部件或文本文件?在Qt QProcess中運行sudo命令
2
A
回答
1
我創建了一個帶有「bash」的QProcess程序。
然後只寫它:
echo mypassword | sudo -S ifconfig eth0 192.168.1.123\n
0
將密碼添加到文本文件以便爲命令輸入輸入是一個非常糟糕的主意,因爲它會削弱安全性。
sudo 1.8版提供了一個插件架構,它可以讓您從應用程序鏈接到它,並可能爲您提供解決方案。
sudo插件API的SDK可以找到in the documentation。
1
你可以嘗試
- 運行你的應用程序根(這實在是一個很糟糕的主意,實際上!)
- 編輯
sudoers
文件,並添加要運行該文件中的命令。然後,您可以運行這些命令,例如sudo run_x_cmd
而不用密碼,即您的QProcess
可以運行這些命令,並且不會要求您輸入密碼。
相關問題
- 1. 用sudo運行命令
- 2. 無sudo運行命令
- 3. 在Haskell中運行sudo命令
- 4. 如何在Emacs中運行sudo命令?
- 5. tox在sudo中運行python命令
- 6. 使用sudo運行命令並進入根(sudo -i)並運行命令
- 7. 在ec2實例上運行sudo命令
- 8. 錯誤運行命令sudo時,在Ubuntu
- 9. 啓動時運行sudo命令,OSX
- 10. 從PHP腳本運行「sudo」命令?
- 11. 通過CGI運行sudo命令(Python)
- 12. 如何找出誰運行sudo命令?
- 13. 從Node.js的運行命令使用sudo
- 14. PHP:運行linux命令爲sudo?
- 15. 運行sudo命令通過ssh
- 16. 從R運行sudo的系統命令?
- 17. capistrano使用sudo運行內部命令
- 18. 如何在PySide中獲取QProcess運行的命令的輸出?
- 19. sudo命令的QT應用程序
- 20. 在沒有sudo的命令行中運行節點
- 21. 在Android平臺上通過QProcess運行shell命令
- 22. QT4:如何使用QProcess運行多個shell命令?
- 23. 通過使用Qt運行apt-get(QProcess)
- 24. Qt - 顯示PowerShell運行QProcess的結果
- 25. 「IW」 命令不QProcess中工作的Qt中的Ubuntu 14.04
- 26. Java和sudo命令執行
- 27. 無法在Ansible劇本中運行sudo命令
- 28. 在廚師資源塊中運行sudo命令
- 29. 如何在sudo中運行兩個命令?
- 30. 如何在ubuntu中運行命令sudo grails?
sudoers文件是一個很好的方法,但最好,一個單獨的用戶應該爲應用程序,只有程序它需要運行應該被加入到創建sudoers文件。更好的辦法是將特權進程分解到另一個應用程序,將其與用戶界面分開並將其添加到sudoers文件中。 – TheDarkKnight
感謝您的建議,我在這裏找到了我的問題解決方案http://stackoverflow.com/questions/23322739/how-to-execute-complex-linux-commands-in-qt – Noor