本问题已经有最佳答案,请猛点这里访问。
我在Linux上使用一个名为Ajenti的程序。这是一个管理Linux服务器的程序,它是用python编写的。
我需要为不同的部分(如文件管理器)获取登录用户的Linux用户名。需要限制用户的访问。
该软件的源可以在这里找到,例如,在文件管理器的第73行中,可以定义访问权限。但是,我通过"os.path.expanduser"或"pwd.getpwuid(os.getuid()).pw_name"等函数获取用户名,现在它只返回"root",而不管登录的用户是谁。
我想要每个用户名,我该怎么做?
附言:这不是复制品。我知道有些问题和我的一样,但这不是我想要的。他们之间有点不同。
@苏美特,我说我在用这个,但这并不能满足我的要求。
您想要什么样的返回值?
@雪叶,你试过所有的答案了吗?
@msurrow用户名,而不是"根"。
@snowleaf您是否检查过您实际上没有在测试脚本的会话中以根用户身份登录?(这可能是一个经典的脑残):(或者运行python作为根)
@我不太明白你的意思!此程序需要根权限才能运行。但是有没有其他方法让用户进入软件?
@snowleaf not that I know.linux允许多个用户同时登录,所以如果您有一个"getloggedinuser"函数,那么如果多个用户登录该返回什么?一个选项是返回运行脚本的用户,这就是您测试的方法所做的&