
아래 명령을 실행할 때 특정 그룹에 새 사용자를 생성하고 싶습니다.
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
adduser
passwd
비밀번호를 설정하기 위해 유틸리티를 호출합니다 . 비밀번호를 묻는 많은 프로그램과 마찬가지로 passwd
는 출력이 터미널에서 나온다고 주장합니다. 따라서 임시 파일이나 파이프를 생성하고 passwd
둘 다 허용하지 않는 here-document를 통해 입력을 전달할 수 없습니다.
비밀번호로 로그인하고 싶지 않은 경우 옵션을 전달할 수 있습니다 adduser
(적어도 Debian 버전). (설정한 경우 SSH 키와 같은 다른 방법으로 계속 로그인할 수 있습니다.) --disabled-password
. adduser
비밀번호 해시(비밀번호 자체가 아님)를 전달하는 옵션은 없지만 useradd
Linux 섀도우 비밀번호 유틸리티 제품군에는 있습니다.
계정 생성 시 비밀번호를 입력하려면 passwd
단말기에서 비밀번호를 읽어야 합니다. 다른 소스(예: 웹 양식)에서 비밀번호를 얻은 경우 passwd
다음 담당자에게 전화하세요.예상하다스크립트 — 예.
여기 문서를 사용하는 연습이라면 비밀번호를 사용해야 하는 곳이 아닙니다. 귀하가 게시한 내용에서 여기 문서로 해결할 수 있는 문제는 없습니다.