bash 스크립트의 useradd -p 및 crypt 기능 이후 /etc/shadow에 이상한 기록이 있습니다.

bash 스크립트의 useradd -p 및 crypt 기능 이후 /etc/shadow에 이상한 기록이 있습니다.

우분투 20.04 LTS.
있다간단한배시 스크립트에게새 사용자 추가대화형 모드에서 명령줄을 통해:

#!/bin/bash
# Script to add a user to Linux system
if [ "$(id -u)" -eq 0 ]; then
    read -p "Enter username : " username
    read -s -p "Enter password : " password
    egrep "^$username" /etc/passwd >/dev/null
    if [ $? -eq 0 ]; then
        echo "$username exists!"
        exit 1
    else
        pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
        useradd -m -p $pass $username
        [ $? -eq 0 ] && echo "User has been added to system!" || echo "Failed to add a user!"
    fi
else
    echo "Only root may add a user to the system"
    exit 2
fi

/etc/shadow해당 스크립트를 통해 사용자를 추가한 후 파일 내부의 결과는 꽤 이상해 보입니다. 예를 들어사용자 이름 demo그리고비밀번호 demo, 파일 useradd에 추가하는 명령은 다음과 같습니다 ./etc/shadow

demo:paR7EXftedvjA:19081:0:99999:7:::

id, param및 에 대한 정보가 없습니다 salt. 현재 허용되는 형식으로 설명되어야 합니다. 그냥 해시인 것 같군요. 아니면 그게 무엇인지 모르겠습니다 paR7EXftedvjA. or 같은 명령에서 demo소금과 demo비밀번호를 사용하여 다시 가져오려고 했지만 결과는 동일하지 않습니다.mkpasswdopenssl

관련 정보