2013-10-10 46 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脚本) - 这将可以正常工作。