사용자를 자동으로 추가하는 bash 스크립트를 만들고 있습니다. 내 비밀번호에는 항상 패턴이 있으므로 이를 변수로 설정하고... (여기서 막히는 부분 - 암호화 -) 내가 찾은이 게시물그러나 이것은 -stdin
내가 사용하고 싶지 않은 것에 대해 이야기합니다. 또한 비밀번호를 생략하면 비밀번호를 입력하라는 메시지가 표시됩니다. 그렇다면 사용자 이름의 비밀번호를 어떻게 자동으로 암호화합니까?
내 스크립트
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Usage: $0 <user>"
else
p=${1%.*}
p=$(echo $p | tr -d 'aeiou' | openssl passwd) $1
useradd -p $p $1
fi
편집: CentOS의 mkpasswd는 내가 링크한 게시물에서 언급한 대로 작동하지 않는 것 같습니다.
4.1.2(1)-release
EDIT2: 중요한 경우 bash 버전은 입니다 .
답변1
useradd
및 를 사용하여 chpasswd
자동으로 사용자를 생성할 수 있습니다. 예를 들어
useradd -c "Bob Smith" -m bob
echo "bob:mypassword" | chpasswd
일반 텍스트 비밀번호를 스크립트에 표시하지 않으려면 다음 --encrypted
플래그를 사용하세요.
echo "bob:encrypted_mypassword" | chpasswd --encrypted
답변2
나는 영감을 받아 이것을 사용하게되었습니다.이 게시물
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Usage: $0 <user>"
else
u=${2%.*}
u=${u//[aeiou]}
echo "$2:$u" > .tmp
useradd $2
< .tmp chpasswd
fi