다음 명령을 실행할 때 특정 그룹에 새 사용자를 생성하고 싶습니다.
sudo ./create_user.sh "test" "firstname lastname"
스크립트 create_user.sh
는 아래와 같습니다.
#!bin/bash
#sudo adduser --gecos "$2" --ingroup testgroup $1
그러나 문제는 여기에 있는 문서를 사용하여 비밀번호를 삽입하는 것을 피해야 하지만(테스트용이어야 함) 구문을 모른다는 것입니다.
몇 가지 해결책을 시도했지만 아무 것도 작동하지 않는 것 같습니다.
이것은 내 스크립트에서 시도할 때 여기 문서의 모습입니다.
#<< EOF
#test
#test
#EOF
내 출력은 다음과 같습니다
#adding user 'test' ...
#adding new user 'test' <1003> with group 'testgroup' ...
#Enter new UNIX password:
답변1
adduser
passwd
비밀번호를 설정하려면 이 유틸리티를 호출하세요 . 비밀번호를 묻는 많은 프로그램과 마찬가지로 이 프로그램도 비밀번호 passwd
를 터미널에서 출력해야 한다고 주장합니다. 따라서 이 문서를 통해 입력을 전달할 수 없습니다. 임시 파일이나 파이프가 생성되지만 passwd
둘 다 허용되지 않습니다.
로그인에 비밀번호를 사용하지 않으려면 adduser
이 옵션을 무시하면 됩니다(적어도 Debian 버전에서는). SSH 키를 설정한 경우에도 다른 방법을 사용하여 로그인할 수 있습니다 --disabled-password
. adduser
비밀번호 해시(비밀번호 자체 아님)를 전달하는 옵션은 없지만 useradd
Linux Shadow Password Utility Suite는 이를 수행합니다.
계정 생성 시 비밀번호를 입력하려면 반드시 passwd
단말기에서 비밀번호를 읽어보세요. 다른 소스(예: 웹 양식)에서 비밀번호를 얻은 경우 다음 passwd
에서 얻으십시오.예상되는스크립트- 예.
여기에 있는 문서를 사용하여 연습하는 경우 비밀번호는 있어야 할 곳에 없습니다. 여기에는 귀하가 게시한 내용과 관련된 문제를 해결하는 문서가 없습니다.