사용자를 추가하는 스크립트는 사용자를 추가하지만 로그인할 수 없습니다.

사용자를 추가하는 스크립트는 사용자를 추가하지만 로그인할 수 없습니다.

파일에서 사용자를 추가하는 스크립트가 있습니다. 내가 알 수 있는 한, 사용자는 정상적으로 추가되지만 로그인을 시도할 때 스크립트에서 제공한 비밀번호가 작동하지 않습니다. 이것이 정상적인지 확실하지 않지만 /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은 더 긴 9자리 문자열에서 가져온 6자리 숫자입니다.

각 레코드의 형식은 다음과 같습니다.

firstname:lastname:H00123456:[email protected] 

레코드는 줄 바꿈으로 구분됩니다.

답변1

에 따르면 useradd --help:

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

그래서 당신이 해야 할 일은 통과하는 것입니다암호화됨비밀번호:

-p $(openssl passwd "the_password")

관련 정보