Como criar uma conta de usuário a partir do script de maneira não interativa sem que a senha seja vista?

1

A página man para useradd diz

link

-p, --password PASSWORD The encrypted password, as returned by crypt(3). The default is to disable the password. Note: This option is not recommended because the password (or encrypted password) will be visible by users listing the processes.

You should make sure the password respects the system's password policy.

Mas não parece haver outra maneira de criar uma conta. Além disso, diz que o padrão é desabilitar a senha - o que isso significa?

Estou usando o Debian Wheezy

    
por Kaizer Sozay 19.03.2015 / 02:17

1 resposta

0

extraído deste script link

Existe uma ótima linguagem chamada expect que interage com os programas. Aqui está o que você está procurando. Você sempre pode modificar isso para obter nome de usuário e senha de uma fonte externa.

#!/usr/bin/expect

set user "username"
set password "password"

send "useradd -m $user\r"

# Expect prompt
expect "$"

# Set password
send "passwd $user\r"

# Expect password prompt and send pass
expect "ass"
send "$password\r"

# Expect confirm
expect "ass"
send "$password\r"
    
por 19.03.2015 / 02:36