[英]How do I distinguish between when user is root vs when user is sudo'd
我想為KDE應用程序編寫一些Qt代碼,以區分用戶是root用戶還是用戶使用sudo來請求提升的特權,因此該應用程序可以針對每種用例顯示不同的消息。 檢查uid == 0
捕獲兩種情況,但是如何區分它們呢?
您可以使用QProcessEnvironment
類讀取SUDO_USER
環境變量:
QProcessEnvironment system_env = QProcessEnvironment::systemEnvironment();
qDebug() << "USER : " << system_env.value("USER");
qDebug() << "SUDOER: " << system_env.value("SUDO_USER");
或#include <unistd.h>
並使用getlogin
:
std::cout << "LOGGED IN USER: " << getlogin() << std::endl;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.