비밀번호 스크립트 변경

비밀번호 스크립트 변경

user:password 형식의 사용자 이름과 암호화된 비밀번호(openssl passwd)가 포함된 파일이 있습니다.
이제 Cronjob을 사용하여 일주일에 한 번씩 이 사용자의 비밀번호를 변경하고 싶습니다.
의 도움으로야노스$RANDOM에서 생성된 값으로 비밀번호를 변경하고 암호화된 비밀번호는 pw.txt에, 암호화되지 않은 비밀번호는 randompw.txt에 저장하는 스크립트를 작성했습니다.

r=$RANDOM
cut -d: -f1 pw.txt | while read -r user; do
    echo "$user:$(openssl passwd $r)"
done > newpw.txt
mv newpw.txt pw.txt
echo $r > randompw.txt

그래서 내 질문은 다음과 같습니다.
1.) 이를 통해 각 사용자에게 무작위로 생성된 값을 제공할 뿐이지만 각 사용자(파일의 각 행)에게 임의의 값을 제공하고 싶습니다.
2.) 각 사용자의 사용자 이름과 일반 텍스트 비밀번호를 randompw.txt에 넣을 수 있다면 좋을 것입니다. 현재 거기에는 $RANDOM 비밀번호가 하나만 있습니다.

누구든지 어떤 아이디어가 있습니까?

오래된 게시물

답변1

생성된 비밀번호를 변수에 저장하고 이를 두 파일에 쓸 수 있습니다.

  • 명확한 문서
  • 파일이 해시되었습니다.

예를 들어:

# initialize (truncate) output files
> clear.txt
> hashed.txt

cut -d: -f1 pw.txt | while read -r user; do        
    # generate a hash from a random number
    hash=$(openssl passwd $RANDOM)

    # use the first 8 letters of the hash as the password
    pass=${hash:0:8}

    # write password in clear formats to one file, and hashed in another
    echo "$user:$pass" >> clear.txt
    echo "$user:$(openssl passwd $pass)" >> hashed.txt
done

관련 정보