how to get linux username in a python program
本问题已经有最佳答案,请猛点这里访问。
我在Linux上使用一个名为Ajenti的程序。这是一个管理Linux服务器的程序,它是用python编写的。
我需要为不同的部分(如文件管理器)获取登录用户的Linux用户名。需要限制用户的访问。
该软件的源可以在这里找到,例如,在文件管理器的第73行中,可以定义访问权限。但是,我通过"os.path.expanduser"或"pwd.getpwuid(os.getuid()).pw_name"等函数获取用户名,现在它只返回"root",而不管登录的用户是谁。
我想要每个用户名,我该怎么做?
附言:这不是复制品。我知道有些问题和我的一样,但这不是我想要的。他们之间有点不同。
你要找的是os.getlogin()吗?(https://docs.python.org/3/library/os.html os.getlogin)
1 2 3 4 | >>> import os >>> os.getlogin() 'msurrow' >>> |
或者可能是getpass.getuser()。(https://docs.python.org/3.1/library/getpass.html)
1 2 3 4 | >>> import getpass >>> getpass.getuser() 'msurrow' >>> |
登录用户的身份和运行python进程的身份之间存在差异。杰夫在回答中解释得更多