쉘 스크립트를 통해 Linux에 사용자를 추가하는 방법

쉘 스크립트를 통해 Linux에 사용자를 추가하는 방법

내가 작성해야 하는 쉘 스크립트는 새로운 사용자를 생성하고 자동으로 그룹에 할당해야 합니다. 이것은 지금까지 내 코드입니다.

echo -n "Enter the username: "
read text
useradd $text

새 사용자를 추가하기 위한 쉘 스크립트를 얻을 수 있었습니다( /etc/passwd항목을 확인했습니다). 그러나 이전에 이 작업을 시도했지만 새로 생성된 사용자(사용자가 입력한)의 비밀번호를 얻을 수 없었습니다. 누군가 새로 생성된 사용자에게 비밀번호를 할당하는 데 도움을 줄 수 있다면 큰 도움이 될 것입니다.

답변1

"man 1 passwd"의 출력:

--stdin
      This option is used to indicate that passwd should read the new
      password from standard input, which can be a pipe.

따라서 귀하의 질문에 답하려면 다음 스크립트를 사용하십시오.

echo -n "Enter the username: "
read username

echo -n "Enter the password: "
read -s password

adduser "$username"
echo "$password" | passwd "$username" --stdin

read -s입력할 때 비밀번호가 표시되지 않도록 비밀번호를 사용하고 있습니다 .

편집하다:Debian/Ubuntu 사용자에게는 -stdin작동하지 않습니다 . passwd사용하는 대신 chpasswd:

  echo $username:$password | chpasswd

답변2

#!/bin/bash
echo "Enter username: "
read username
useradd "$username"
echo "temp4now" | passwd --stdin "$username"
chage -d 0 "$username"

관련 정보