我有一個Qt GUI應用程序,必須以作爲sudo運行。現在,我有一個腳本,他們應該執行腳本來啓動程序作爲sudo,它添加了一個參數,我檢查它是否確保從腳本啓動。檢查Qt C++應用程序是否以sudo運行
這種技術很有效,但它並不真正檢查sudo,它只檢查腳本是否啓動它。
想做更精確的sudo測試嗎?
我有一個Qt GUI應用程序,必須以作爲sudo運行。現在,我有一個腳本,他們應該執行腳本來啓動程序作爲sudo,它添加了一個參數,我檢查它是否確保從腳本啓動。檢查Qt C++應用程序是否以sudo運行
這種技術很有效,但它並不真正檢查sudo,它只檢查腳本是否啓動它。
想做更精確的sudo測試嗎?
我會使用getuid或geteuid。
再次感謝大家的幫助。
if (geteuid()) {NotSudoDialog *sw = new NotSudoDialog; sw->show();}
else {MainWindow *kt = new MainWindow; kt->show(); }
技術很好。我的「哈克」看他們是否從腳本運行確實有效,但是這更加優雅。
對於那些誰照顧時,程序必須跑了作爲sudo的,因爲它確實低級別的硬件程序,並使用GPIO上樹莓派
除非我誤解的東西你不能只是做一個條件檢查基於用戶標識並且只有在用戶是root時纔會繼續? – Matt
它必須使用'sudo'運行?其他一些以root身份運行它的機制是不夠的? – Barmar
查找manpage:man getuid –