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