在 Python 中将 uid 打印到屏幕/浏览器

Print uid to screen/browser in Python

提问人:Ahmad Bilal 提问时间:8/31/2023 更新时间:8/31/2023 访问量:31

问:

我目前正在测试mod_wsgi,并尝试在浏览器中将我的 uid 打印到屏幕上。

import os

uid = os.getuid()

print("uid being used:", uid)

def application(environ, start_response):
    status = '200 OK'
    output = b'Hello World!'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]


预期的结果是我会把我的 uid 打印在屏幕上。.所以我知道脚本Mod_wsgi哪个用户正在运行。.但我目前只将 Hello World 打印到屏幕上

python apache mod-wsgi

评论

0赞 Tim Roberts 8/31/2023
它以 Apache 用户身份运行。您不会看到该输出,因为它是作为 Apache 启动的进程的一部分打印的。只需返回字符串作为函数的输出即可。
0赞 Ahmad Bilal 8/31/2023
@TimRoberts 实际上,我正在测试mod_wsgi选项以给定用户而不是 apache 身份运行它。但是,该指令 (user=name) 具有失败的条件。所以这就是为什么我试图获得 uid..以查看它当前运行的用户身份。

答:

0赞 Ahmad Bilal 8/31/2023 #1

在 discord 上找到答案,发布它,因为其他人可能会觉得它很有帮助

import os

def application(environ, start_response):
    status = '200 OK'
    output = f"Hello World! {os.getuid()}".encode()

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]


评论

0赞 Tim Roberts 9/1/2023
郑重声明,这正是我上面所说的。