![](/img/trans.png)
[英]How can I get Atom's script package to run a script from the script's current working directory?
[英]How can I get the current username from a script run with pkexec?
我正在使用 pkexec 以 root 身份執行pkexec
腳本,我正在使用working_dir = os.getenv('HOME')
來獲取用戶名,但它總是返回 root 而不是當前用戶 test1。
我怎樣才能得到運行pkexec
的用戶呢?
如果該信息有任何用處,腳本位於 /usr/bin 中。
sudo
手冊頁描述了環境變量,這些環境變量保存了調用它的用戶的信息。
import os
print os.environ["SUDO_USER"]
最后,感謝另一個人,下面是我為獲取當前用戶所做的事情:
import os
import pwd
user = pwd.getpwuid(int(os.environ["PKEXEC_UID"])).pw_name
working_dir = '/home/' + user
對於那些尋找純 bash 解決方案的人,這會發現用戶使用 sudo 或 pkexec 運行:
if test -z "$SUDO_USER"
then
USER=$(getent passwd $PKEXEC_UID | cut -d: -f1)
else
USER=$SUDO_USER
fi
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.