비대화식으로 사용자를 어떻게 추가해야 합니까?

비대화식으로 사용자를 어떻게 추가해야 합니까?

서버를 준비하는 BASH 스크립트의 일부로 새 시스템에 사용자 세트를 추가해야 합니다. 비대화식으로 사용자를 추가하고, 홈 디렉토리를 생성하고, 그룹을 설정하고, 기본 비밀번호를 입력하는 방법은 무엇입니까?

예를 들어, 다음 사용자를 추가해야 한다면 어떻게 해야 합니까?

user: node
password: spoon
group: ultraMegaPermissions

user:serve
password: spoot
group: sortaNotMega

user:watcher
password: spoogle
group: notMega

답변1

이것은 오래된 질문이지만 궁금합니다. 다른 사람들은 이 명령을 고려할 수도 있습니다 newusers. 이는 제가 사용하고 있는 RHEL5.5 시스템과 Ubuntu 12.04 시스템 모두에 존재하므로 대부분의 배포판 저장소에서 사용할 수 있을 것으로 추측됩니다.

에서 man newusers:

newusers 명령은 사용자 이름과 일반 텍스트 비밀번호 쌍의 파일을 읽고 이 정보를 사용하여 기존 사용자 세트를 업데이트하거나 새 사용자를 생성합니다. 각 행의 형식은 아래 설명된 예외를 제외하고 표준 암호 파일(passwd(5) 참조)과 동일합니다.

답변2

useradd적어도 리눅스에서는요.

사용crypt(3)암호화된 비밀번호를 생성한 후 각 비밀번호에 대해 다음을 수행하십시오.

useradd -m -g [group] -p [crypt output] [user]

-m홈 디렉터리를 만듭니다. -g사용자의 초기 로그인 그룹을 설정합니다. -p반환된 암호화 비밀번호를 설정합니다 crypt(3)(사용자 생성 시 프로세스를 나열하는 사용자에게 암호화 비밀번호가 표시되므로 이 옵션은 적합하지 않을 수 있다는 점에 유의해야 합니다).

사용하고 싶은 다른 옵션도 있습니다(적어도 추측 -s). 이에 대해 읽어보세요 man 8 useradd.

답변3

사용자 비밀번호를 수동으로 입력해야 하는 경우:

echo -n "Enter $MY_USER password: "
read -sa MY_PASS
echo ${MY_USER}:${MY_PASS}::::/home/${MY_USER}:${DEFAULT_SHELL} | newusers

완전히 비대화형이어야 한다면 일반 텍스트 비밀번호($MY_PASS)를 사용하여 마지막 명령을 실행하세요. 이는 일반적으로 좋은 생각이 아닙니다.

답변4

newuser 명령이 서버에 존재하지 않는 경우.

passwd 명령의 도움을 사용할 수 있습니다.

 echo "new_passwd" | passwd  --stdin new_user

관련 정보