1
我想爲postgresql設置python結構,但無法弄清楚如何在提示符處輸入新密碼。你如何設置織物以下幾點:使用fabric來更改默認的postgres用戶密碼
sudo passwd –d postgres
sudo su postgres –c passwd
我想爲postgresql設置python結構,但無法弄清楚如何在提示符處輸入新密碼。你如何設置織物以下幾點:使用fabric來更改默認的postgres用戶密碼
sudo passwd –d postgres
sudo su postgres –c passwd
解決方案1:
什麼我寫在這裏是從安全角度來看,不好的黑客。 它提供在命令行上的密碼,因此它不應該被用於任何其中除了玩具工作:
with hide('running', 'stdout', 'stderr'):
run('echo -e "%s\n%s\n" | sudo passwd %s' % (passwd, passwd, user))
PS:該解決方案使用較舊的格式化技術。這不應該減損你使用新的。
解決方案2:
預計的passwd從標準輸入,你可以改用Pexpect的/期望專門做這項工作,並比上述更好的方法,但不是沒有它的缺陷。
樣品Pexpect的程序:
child = pexpect.spawn('some command that expects password')
child.expect('Enter password:')
child.sendline('somepassword')
child.expect('Enter password:') --- passwd may ask twice
child.sendline('somepassword')
child.expect(pexpect.EOF, timeout=None)
...