2013-10-10 45 views
-1

我創建多個用戶指定密碼(本例中3個用戶),在Linux bash腳本使用線路創建用戶和在Linux上

sudo adduser --force-badname CPE_User"$count" 

,我想給那些用戶我給你一個密碼使用腳本:

echo "CPE_User"$count":1234" | chpasswd 

但終端給了我這個消息:

Allowing use of questionable username. 
adduser: The user `CPE_User1' already exists. 
Changing password for CPE_User1. 
chpasswd: (user CPE_User1) pam_chauthtok() failed, error: 
Authentication token manipulation error 
chpasswd: (line 1, user CPE_User1) password not changed 

什問題是什麼?

+0

你是否以root身份運行此腳本?另一個用戶的chpasswd需要root權限(所以如果你在adduser上調用sudo,你很可能想在chpasswd上調用sudo,或者更好 - 在整個腳本上)。 – ingenious

回答

1

它說得很清楚:具有該名稱的用戶已經存在。 Linux沒有允許有多個用戶使用相同的名稱...

+0

它說,但沒有一個用戶具有相同的名稱:/ –

+0

那麼,有可能*是*該名稱的另一個用戶。您可能已經嘗試了多次運行該腳本,並且已經創建了所有這些用戶,但它未能更改密碼。 – ingenious

0

不知道什麼chpasswd問題可能是(你正在運行它作爲root,對吧?),如果你不能得到chpasswd工作,請考慮使用passwd(可能通過expect腳本) - 這將可以正常工作。