Encontré una guía que explica cómo configurar la contraseña de un usuario . Estoy tratando de automatizarlo y enviar un correo electrónico al usuario como:
userid created with password XYZ.
request to change the initial password.
De acuerdo con el documento anterior, se debe crear una contraseña cifrada usando Python y se debe alimentar al usermod
comando de esta manera:
usermod -p "<encrypted-password>" <username>
¿Hay alguna otra forma más sencilla de hacer esto? No quiero descargar ninguna utilidad especial para hacerlo; debe generalizarse tanto como sea posible.
Editar : Incluso el método proporcionado en el enlace anterior no parece funcionar para mí:
bash-3.00# python
Python 2.4.6 (#1, Dec 13 2009, 23:43:51) [C] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> import crypt; print crypt.crypt("<password>","<salt>")
<sOMrcxm7pCPI
>>> ^D
bash-3.00# useradd -g other -p "sOMrcxm7pCPI" -G bin,sys -m -s /usr/bin/bash mukesh2
UX: useradd: ERROR: project sOMrcxm7pCPI does not exist. Choose another.
UX: useradd: sOMrcxm7pCPI name should be all lower case or numeric.
usermod
cuando alguien usaps
para ver que el proceso que enumera la contraseña está visibleRespuestas:
Puedes usarlo
chpasswd
para hacerlo, así:Puede canalizar
chpasswd
desde otros programasecho
, si es conveniente, pero esto será suficiente.Editar: para generar la contraseña dentro del script de shell y luego configurarla, puede hacer algo como esto:
Para obtener más información sobre
chpasswd
, consulte http://linux.die.net/man/8/chpasswd(El comando para generar la contraseña era de http://nixcraft.com/shell-scripting/13454-command-generate-random-password-string.html )
fuente
sudo echo "username:newpass" | chpasswd
? Debido a que los permisos elevados desudo
no pasan a través de la tubería, tambiénchpasswd
se ejecutará como un usuario normal. Se puede arreglar moviendo elsudo
, como enecho "username:newpass" | sudo chpasswd
. También hay otros problemas que pueden causar ese mensaje de error, pero los errores de permisos como este son probablemente los más comunes.Puede usar OpenSSL para generar la contraseña aleatoria (16 caracteres, en este caso):
Luego alimente la contraseña con hash
useradd
ousermod
Crédito donde se debe: la generación de la contraseña se adapta de un método similar que utiliza en
/dev/urandom
lugar deopenssl
.fuente
useradd debería funcionar (lo he hecho en Ubuntu). Tal vez verifique que cada uno de sus argumentos sea correcto (existen grupos, la ruta es correcta para golpear). Puede ejecutar el comando con solo una contraseña y un usuario, y luego usar userdel para eliminar y luego volver a intentar con más parámetros, para ver qué causa el problema (enfoque de fuerza bruta).
También hay usuarios nuevos (vea la página del manual), al menos en Ubuntu, donde le da un archivo con contraseña como información, incluyendo contraseñas de texto sin formato y creará esos usuarios. Buena manera de hacer muchos usuarios a la vez.
fuente
newusers
comando para UbuntuLa forma más simple que encontré:
fuente
passwd: unrecognized option '--stdin'