Linux

添加使用者的腳本將添加使用者但他們無法登錄

  • October 30, 2019

我有一個腳本可以從文件中添加使用者。據我所知,它會很好地添加使用者,但是在嘗試登錄時,腳本提供的密碼不起作用。我不確定這是否正常,但 /etc/shadow 文件也以純文字形式顯示正確的密碼。我認為影子文件只應該顯示一個雜湊?

這是我的腳本程式碼:

#/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 是一個 6 位數字,取自較長的 9 位字元串。

每條記錄的格式為:

firstname:lastname:H00123456:abc1234@domain.com 

記錄由換行符分隔。

根據useradd --help

-p, --password PASSWORD       encrypted password of the new account

所以你需要做的是傳遞加密的密碼:

-p $(openssl passwd "the_password")

引用自:https://unix.stackexchange.com/questions/549399