Linux
添加使用者的腳本將添加使用者但他們無法登錄
我有一個腳本可以從文件中添加使用者。據我所知,它會很好地添加使用者,但是在嘗試登錄時,腳本提供的密碼不起作用。我不確定這是否正常,但 /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")