如何在python程序中获取linux用户名
我正在linux上使用一个名为ajenti的程序。这是一个管理linux服务器的程序,它是用python编写的 我需要获得linux用户名的登录用户的不同部分,如文件管理器。需要限制用户的访问权限 可以找到该软件的源,例如,可以在access的第73行中定义。然而,我现在通过“os.path.expanduser”或“pwd.getpwuid(os.getuid()).pw_name”等函数获取用户名,它只返回“root”,而不管登录的用户是谁 我想要每个用户名,我应该怎么做 附言:这不是复制品。我知道也有像我这样的问题,但这并不是我想要的。它们之间有一点不同。os.getlogin()是否就是您要寻找的? () 或者可能是getpass.getuser() ()如何在python程序中获取linux用户名,python,linux,Python,Linux,我正在linux上使用一个名为ajenti的程序。这是一个管理linux服务器的程序,它是用python编写的 我需要获得linux用户名的登录用户的不同部分,如文件管理器。需要限制用户的访问权限 可以找到该软件的源,例如,可以在access的第73行中定义。然而,我现在通过“os.path.expanduser”或“pwd.getpwuid(os.getuid()).pw_name”等函数获取用户名,它只返回“root”,而不管登录的用户是谁 我想要每个用户名,我应该怎么做 附言:这不是复制品
登录用户和python进程运行时的身份是不同的。Jeff在@sumit中解释了更多内容,我听说我正在使用这个,但它没有返回我想要的。你想要什么返回值?@Snowleaf你在那里尝试了所有答案吗?@MSurrow用户名,而不是“root”。@Snowleaf你检查过你在测试脚本的会话中没有以root身份登录吗?(这可能是一个经典的脑残:)(或者以root身份运行python)我认为问题在于你和Jeff所说的。但我该怎么解决呢?我必须以某种方式获取已登录的用户。如果python进程以root身份运行,则某些函数将返回“root”(例如getpass.getuser()将返回)。
>>> import os
>>> os.getlogin()
'msurrow'
>>>
>>> import getpass
>>> getpass.getuser()
'msurrow'
>>>