Criar novo usuário sem prompt com chpasswd

1

Estou tentando criar um novo usuário e associar diretamente uma senha (passagem de teste) em uma linha de comando sem ser avisado. Eu recebo este erro no 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.

Eu faço isso:

adduser --gecos "" plmadmin
echo testpass:testpass | chpasswd
adduser plmadmin sudo
    
por wawanopoulos 20.06.2017 / 15:40

1 resposta

0

Você pode usar este pequeno script e fornecer 2 argumentos para ele:

#!/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) Salve o script em um arquivo, por exemplo addUsers (sem extensão)

2) chmod u + x addUsers

3) ./addUsers username password

    
por 20.06.2017 / 16:03

Tags