비 대화식으로 adduser 실행 adduser명령 을 사용하여

adduser명령 을 사용하여 쉘 스크립트를 통해 사용자 (비활성화 된 비밀번호 사용)를 추가 하고 싶습니다 .

기본적으로 adduser다양한 값 (예 : 전체 이름)을 입력하라는 메시지가 표시됩니다. 명령 행을 통해 이러한 값을 제출할 수있는 방법이 있습니까? 아니면 useradd대신 해야 합니까?



답변

대화식 부분 --gecos을 건너 뛰 려면 옵션을 사용하십시오 chfn.

adduser --disabled-password --gecos "" username

모두 맨 페이지에 있습니다. 가장 명백한 공식은 아닙니다.

--gecos GECOS
          Set  the  gecos field for the new entry generated.  adduser will
          not ask for finger information if this option is given.

GECOS 필드는 다음과 같은 쉼표로 구분 된 목록입니다 Full name,Room number,Work phone,Home phone, 그 사람 페이지가 언급에도 불구하고 finger information 세부 – 위키 백과

이것이 도움이되기를 바랍니다.


답변

useradd 또한 사용자를 추가 할 수 있으며 프롬프트 형태가 내장되어 있지 않습니다.

useradd -m -p <encryptedPassword> -s /bin/bash <user>
  • -m, --create-home: 사용자 홈 디렉토리 생성
  • -p, --password: 사용자 비밀번호를 지정합니다. 사용하지 않도록 건너 뛰기
  • -s, --shell: 로그온 사용자를위한 기본 셸

    공백은 SHELL변수에 지정된 기본 로그인 쉘을 사용 합니다./etc/default/useradd

  • <user>로그인 이름으로 대체
  • 대체 <encryptedPassword>암호화 된 비밀번호

해시 된 비밀번호 생성 :

있습니다 많은 해시 된 암호를 생성 할 수 있습니다 crypt3 구현은. 모든 것은 당신의 해시 암호입니다.

Sha-512 기반

결과 출력 형식 : 해시 메커니즘 ( $6sha-512의 경우), 임의의 소금 (두 번째 달러 기호 뒤의 8 바이트 $ASDF1234), 나머지는 페이로드입니다.

  • mkpasswd mkpasswd -m sha-512

    ( 패키지에서 mkpasswd제공 whois)

DES 기반 :

결과 출력 형식 : 처음 2 바이트는 소금이고 나머지는 페이로드입니다. 모든 것은 해시 된 비밀번호입니다.

  • mkpasswd : mkpasswd( whois패키지에서 제공 )
  • openssl : openssl passwd -crypt
  • 펄 : perl -e "print crypt('password');"
  • 파이썬 : python3 -c 'import crypt; print(crypt.crypt("password"))'

답변