我想在远程计算机上创建一个用户。我只能通过ssh联系。useradd需要sudo,但是下面的脚本没有提示我输入密码,也没有创建用户。如何提升远程计算机上的权限?你知道吗
#!/usr/bin/python3
import os
import subprocess
HOST="192.168.1.71"
#useradd is linux - adduser is perl
addusertoremote = subprocess.Popen(["ssh", "%s" %HOST, "sudo useradd --disabled-login deletetom"],
shell=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
resulta = addusertoremote.stdout.readlines()
if resulta == []:
errora = addusertoremote.stderr.readlines()
print(errora)
else:
print(resulta)
您可以在python中为SSH使用paramiko模块。你知道吗
我对此做了不少研究,得出以下结论。你知道吗
Python和Python内部的Paramiko都没有提升机器权限的方法。你知道吗
必须以root用户身份ssh到要在其上创建用户的计算机上—这样,您就已经是root用户,并且不会生成任何提示。你知道吗
因此,在我的情况下(我将很快进行测试),我将ssh到拥有python脚本作为我自己的机器上,然后su-s并成为root,然后运行python脚本,将拥有root ssh的python脚本到其他机器上以创建作为root的帐户。你知道吗
这对我很管用,不过我不建议这么做。你知道吗
在我登录到主机后,文件被创建为root。另外,我使用密钥登录,这样ssh就不会询问我的密码,但是sudo会。你知道吗
相关问题 更多 >
编程相关推荐