Como usar o comando adduser com um script bash

0

Estou tentando encontrar a maneira de usar o adduser dessa maneira:

adduser $username $password

ou algo assim também:

adduser -u $username -p $password

Eu sei que eu poderia usar useradd e assim, mas agora eu quero usar o adduser.

Obrigado!

    
por user47579 22.03.2014 / 17:28

1 resposta

4

Não há como especificar a senha para adduser na linha de comando. A única maneira de fazer o script é fornecer a senha (e confirmação) para stdin , assim como acontece quando o programa interage com o usuário. Aqui está um exemplo usando um documento aqui :

adduser "$username" <<EOF
$password
$password
EOF

Observe também que, se a senha puder ser fornecida como argumento, essa seria a maneira mais insegura de fazê-lo. Enquanto o comando está em execução, os argumentos podem ser lidos por todos os usuários. Pelo menos desta forma, se o script é legível apenas pelo root, a senha não será legível por todos.

Atualizar

Na verdade, os documentos aqui podem criar arquivos temporários, que conteriam a senha. A abordagem mais segura parece ser usar echo e um canal (e garantir 700 de permissões para o script):

echo "$password
$password" | adduser "$username"
    
por 22.03.2014 / 18:02

Tags