메시지를 표시하지 않고 chpasswd를 사용하여 새 사용자 만들기

메시지를 표시하지 않고 chpasswd를 사용하여 새 사용자 만들기

새 사용자를 생성하고 메시지를 표시하지 않고 명령줄(테스트 통과)에서 직접 암호를 연결하려고 합니다. Debian에서 다음 오류가 발생합니다.

Enter new UNIX password: Retype new UNIX password: passwd: Authentication token manipulation error
passwd: password unchanged
Use of uninitialized value $answer in chop at /usr/sbin/adduser line 556.
Try again? [y/N] Use of uninitialized value $answer in pattern match (m//) at /usr/sbin/adduser line 557.

나는 이렇게 한다:

adduser --gecos "" plmadmin
echo testpass:testpass | chpasswd
adduser plmadmin sudo

답변1

이 작은 스크립트를 사용하여 2개의 매개변수를 지정할 수 있습니다.

#!/usr/bin/env bash

if (($# < 2));
  then
    printf 'Please provide the username and password\n'; exit 1
  else
    adduser "$1"
    printf "$1:%s" "$2" | chpasswd
  fi

1) addUsers(확장자 없음)와 같은 파일에 스크립트를 저장합니다.

2) chmod u+x 사용자 추가

3) ./addUsers 사용자 이름 및 비밀번호

답변2

   --disabled-password
   Like --disabled-login, but logins are still possible (for example using SSH RSA  keys)  but  not  using password authentication.

   -u, --unlock
       Unlock the password of the named account. This option re-enables a password by changing the password back to its previous value (to the value before using the -l option).


   adduser --disabled-password --gecos "" plmadmin
   echo -e "testpass\ntestpass\n" | passwd plmadmin
   passwd -u plmadmin
  1. 비밀번호 비활성화 비밀번호 로그인을 비활성화하면 비밀번호를 입력하라는 메시지가 표시되지 않습니다.
  2. 비밀번호는 귀하가 설정한 비밀번호로 변경됩니다.
  3. 계정의 비밀번호가 다시 활성화됩니다.

관련 정보