如何获取启动`sudo`的用户名

rub*_*bik 17 users sudo python

我的问题:我有一个 Python 程序,用户使用sudo. 有时我必须得到用户的家,我只能知道它的名字才能做到这一点:

import pwd

pwd.getpwnam(username)
Run Code Online (Sandbox Code Playgroud)

那么:我怎样才能获得启动该程序的用户的姓名?

Cal*_*leb 26

当您sudo设置了几个环境变量时,我认为您正在寻找SUDO_UID. 这些应该可以被通过访问环境变量的常用渠道运行的任何程序访问。

您可以通过从 shell 中这样作弊来查看其他设置: sudo env | grep SUDO

  • `SUDO_USER` 正是我正在寻找的。 (4认同)
  • +1 哇!非常感谢!这正是我正在寻找的。我想我会使用`SUDO_UID` 和`SUDO_USER`。再次感谢你。 (2认同)