Bash 为从CSV创建的用户分配密码

Bash 为从CSV创建的用户分配密码,bash,passwords,user-accounts,Bash,Passwords,User Accounts,脚本正常运行,但密码对帐户无效。不知道为什么没有分配密码,任何帮助都会很棒 #!/bin/bash OLDIFS=$IFS IFS="," while read firstname lastname userid do sudo useradd -c "'${firstname} ${lastname}'" -d /home/"${userid}" -s /bin/bash "${userid}" sudo usermod -p changeme123 "${use

脚本正常运行,但密码对帐户无效。不知道为什么没有分配密码,任何帮助都会很棒

#!/bin/bash

OLDIFS=$IFS
IFS=","

while read firstname lastname userid 
do 
    sudo useradd -c "'${firstname} ${lastname}'" -d /home/"${userid}"  -s /bin/bash "${userid}"  
    sudo usermod -p changeme123 "${userid}"  
    sudo usermod -G student "${userid}"

done < students.csv

我测试了以下行,而不是usermod-p

echo "${userid}:changeme123" | chpasswd

需要寻找管道sudo。目前无法测试它。应该是sudobash-c.

发生了什么?你有错误吗?是否未创建用户?usermod不起作用,因为您给它的是注释,而不是登录名。此外,您不需要引用注释两次,除非您希望在注释字符串本身中使用引号。