스크립트를 통해 사용자 생성

스크립트를 통해 사용자 생성

아래 명령을 실행할 때 특정 그룹에 새 사용자를 생성하고 싶습니다.

sudo ./create_user.sh "test" "firstname lastname"

스크립트 create_user.sh는 아래와 같습니다.

#!bin/bash
#sudo adduser --gecos "$2" --ingroup testgroup $1

그런데 문제는 here 문서에서 비밀번호 삽입(단순히 테스트여야 함)을 피해야 하는데 구문에 대해 전혀 모른다는 것입니다.

몇 가지 해결 방법을 시도했지만 그 중 아무 것도 작동하지 않는 것 같았습니다.

이것이 스크립트의 heredocument에 대한 내 Try to의 모습입니다.

#<< EOF
#test
#test
#EOF

내 출력은 다음과 같습니다

#adding user 'test' ...
#adding new user 'test' <1003> with group 'testgroup' ...
#Enter new UNIX password:

답변1

adduserpasswd비밀번호를 설정하기 위해 유틸리티를 호출합니다 . 비밀번호를 묻는 많은 프로그램과 마찬가지로 passwd는 출력이 터미널에서 나온다고 주장합니다. 따라서 임시 파일이나 파이프를 생성하고 passwd둘 다 허용하지 않는 here-document를 통해 입력을 전달할 수 없습니다.

비밀번호로 로그인하고 싶지 않은 경우 옵션을 전달할 수 있습니다 adduser(적어도 Debian 버전). (설정한 경우 SSH 키와 같은 다른 방법으로 계속 로그인할 수 있습니다.) --disabled-password. adduser비밀번호 해시(비밀번호 자체가 아님)를 전달하는 옵션은 없지만 useraddLinux 섀도우 비밀번호 유틸리티 제품군에는 있습니다.

계정 생성 시 비밀번호를 입력하려면 passwd단말기에서 비밀번호를 읽어야 합니다. 다른 소스(예: 웹 양식)에서 비밀번호를 얻은 경우 passwd다음 담당자에게 전화하세요.예상하다스크립트 — .

여기 문서를 사용하는 연습이라면 비밀번호를 사용해야 하는 곳이 아닙니다. 귀하가 게시한 내용에서 여기 문서로 해결할 수 있는 문제는 없습니다.

관련 정보