2013-01-11 40 views
0

我希望能夠使用Perl腳本更改用戶的密碼。我試過了:使用Perl腳本更改Mac用戶密碼

my $user = "test"; 
my $pass = "testing"; 

open(DATA, "| passwd $user") || die "failed"; 
print DATA $pass; 
sleep(1); 
print DATA $pass; 
close(DATA); 

它永遠不會經過。

我也試過`echo -e「$ pass \ n $ pass」| passwd文件$用戶」不過,我得到一個密碼轉換失敗的錯誤。

任何幫助,將不勝感激

回答

0

我相信,因爲你沒有擁有它從來沒有完全接受新密碼換行符。這就像你鍵入它在但從未回車。

Expect通常用於這樣的,我相信提示。

+0

我設法得到它的工作的期望。除了預期不允許我在一次。任何建議修改多個用戶帳戶? – falconspy

+0

你不能將參數提供給一個函數並迭代一個列表每個調用函數並使用Expect? – Ilion