crie um usuário via script

crie um usuário via script

Quero criar um novo usuário em um grupo específico ao emitir o comando abaixo.

sudo ./create_user.sh "test" "firstname lastname"

O create_user.shscript é semelhante ao abaixo.

#!bin/bash
#sudo adduser --gecos "$2" --ingroup testgroup $1

Porém, o problema é que tenho que evitar a inserção de senha (deveria ser simplesmente teste) com um documento aqui, mas não tenho ideia da sintaxe.

Tentei algumas soluções, mas nenhuma delas pareceu funcionar.

É assim que meu documento Try to here no script se parece

#<< EOF
#test
#test
#EOF

minha saída é assim

#adding user 'test' ...
#adding new user 'test' <1003> with group 'testgroup' ...
#Enter new UNIX password:

Responder1

adduserchama o passwdutilitário para definir uma senha. Como muitos programas que solicitam uma senha, passwdinsiste que sua saída venha de um terminal. Portanto, você não pode passar a entrada por meio de um documento aqui - que cria um arquivo temporário ou um canal e passwdnão aceita nenhum dos dois.

Você pode passar adduser(pelo menos a versão Debian) a --disabled-passwordopção se não quiser fazer login com uma senha (você ainda poderá fazer login com outros métodos, como chaves SSH, se você configurá-los) . addusernão tem a opção de passar o hash da senha (não a senha em si), mas useraddo conjunto de utilitários de senha shadow do Linux tem.

Se você quiser inserir uma senha durante a criação da conta, certifique-se de passwdlê-la no terminal. Se você obtiver a senha de alguma outra fonte (por exemplo, um formulário da web), ligue passwdde umesperarroteiro - exemplo.

Se este for um exercício de uso de um documento aqui, a senha não está onde você deve usá-la. Não vejo nenhum problema que um documento aqui resolveria no que você postou.

informação relacionada