如何在python脚本中自动化htpasswd密码条目

时间:2017-08-23 07:34:12

标签: python subprocess .htpasswd

这是我的python函数,它创建htpasswd文件并在其中添加用户名和密码。

def __adduser(self, passfile, username):

        command=["htpasswd", "-c", passfile, username]
        execute=subprocess.Popen(command, stdout=subprocess.PIPE)
        result=execute.communicate()
        if execute.returncode==0:
            return True
        else:
            #will return the Exceptions instead
            return False
  

它工作得很好,但我想要的唯一改进是,如何   在运行应该从某个变量值

设置的脚本后,自动执行它要求的密码输入

1 个答案:

答案 0 :(得分:1)

htpasswdan -i option

  

在没有验证的情况下从stdin读取密码(用于脚本)。

所以:

def __adduser(self, passfile, username, password):
    command = ["htpasswd", "-i", "-c", passfile, username]
    execute = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
    execute.communicate(input=password)
    return execute.returncode == 0