【发布时间】:2022-01-17 20:40:04
【问题描述】:
我想使用子进程从本地 linux 主机验证用户。我用过这段代码,我怀疑login 是不是完美的命令,因为登录命令提示输入密码,我想预先提供密码。 login man
如果不是login,那么是否有任何其他 linux 命令可以通过它对本地用户进行身份验证?
#!/usr/bin/python3
import subprocess
import cgi
print()
cred = cgi.FieldStorage()
username = cred.getvalue("user")
password = cred.getvalue("password")
# print(username)
# print(password)
cmd = f"echo {password} | sudo /usr/bin/login {username}"
# cmd = "ls -la"
print(cmd)
output = subprocess.run(cmd, shell=True, stdout=subprocess.PIPE, text=True)
print(output)
这是我现在得到的输出。
CompletedProcess(args='echo ashu234 | sudo /usr/bin/login ashu', returncode=1, stdout='')
【问题讨论】:
-
试试Python PAM ...
标签: python-3.x linux subprocess cgi