비 대화식으로 adduser 실행


198

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

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

답변:


262

대화식 부분 --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 세부 - 위키 백과

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


41

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"))'

1
언급 한 옵션 adduser은 내 (최근) Ubuntu 버전에 존재하지 않습니다 .
ᴠɪɴᴄᴇɴᴛ

1
@ ᴠɪɴᴄᴇɴᴛ는와 adduser구별되며 useradd혼란 스럽습니다.
ThorSummoner

1
실제로 이름을 거의 사용하지 않았다는 사실을 놓쳤다… 커맨드 라인 네임 스페이스를 보호하는 BDFL이 없는가? ; p
ᴠɪɴᴄᴇɴᴛ

1
@ mum007 이것은 일반적인 조언 일뿐입니다. 또는 ssh 명령에 추가 -v하거나 ssh 명령에 추가하여 무엇이 잘못되었는지 확인하고 여기 SO 또는 Google에서 오류 메시지를 검색하십시오. -vv-vvv
ThorSummoner

1
이 시도 @KovacsAkos sudo sed -i"" -e "s/PasswordAuthentication no/PasswordAuthentication yes/" /etc/ssh/sshd_configsudo service ssh restart
JSBach
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.