我有一个脚本,它将从文件中添加用户。据我所知,它将添加用户,但在尝试登录时,脚本提供的密码不起作用。我不确定这是否正常,但是/etc/影子文件也以纯文本显示正确的密码。我以为影子文件应该只显示散列?
下面是我为脚本编写的代码:
#/bin/bash
file="/Scripts/FormattedFile.txt"
while IFS=: read -r f1 f2 f3 f4
do
validID=$( echo "$f3" | cut -b 4,5,6,7,8,9 )
comment="${f1} ${f2}"
useradd -m -p "$f3" -u "$validID" -c "$comment" "$f1"
echo "Added user $f1."
done < "$file"结果是具有正确用户名、ID和主目录的用户,但无法登录。我知道脚本正在正确地读取文件,字段也是正确的,从文件中提取。字段3是从较长的9位字符串中提取的6位数字。
每一项记录的格式如下:
firstname:lastname:H00123456:abc1234@domain.com 记录用换行符分隔。
发布于 2019-10-30 00:38:54
根据useradd --help的说法:
-p, --password PASSWORD encrypted password of the new account因此,您需要做的是传递加密的密码:
-p $(openssl passwd "the_password")https://unix.stackexchange.com/questions/549399
复制相似问题