openssl passwdespera una contraseña de 0 a 10 caracteres.
Onnónimo
6
La razón por la que no funcionó es porque usermodla opción -p espera que la contraseña ya esté encriptada.
Desde usermodla página de manual de:
-p, --password PASSWORD
The encrypted password, as returned by crypt(3).
No se recomienda establecer una contraseña de esta manera.
En su lugar, debe usar passwd <username>. Esto (como usermod) debe hacerse como root (si no está cambiando la contraseña de los usuarios actualmente conectados).
Para cambiar la contraseña para el usuario foo.
sudo passwd foo
Esto solicitará una nueva contraseña.
Eche un vistazo a la página de manual para passwdobtener más información sobre la configuración, por ejemplo, el tiempo de caducidad.
Un comando de línea única no interactivo para cambiar la contraseña de un usuario:
sudo usermod -p `perl -e "print crypt("new-password","Q4")"` john
usermod -prequiere contraseña encriptada para funcionar. Tenga en cuenta new-passwordque será visible para los usuarios que pueden enumerar los procesos.
significa que TODAS las contraseñas muy similares funcionarán TODAS. Por ejemplo, en el servidor Oracle Linux 7.4 y el escritorio Ubuntu 17.10 considere:
encontrará que CUALQUIER contraseña que comience con "borkling" funcionará, p. ej.
borkling88 borklingjars
aunque "borkline" no funcionará, ya que, como se indicó anteriormente, cualquier contraseña que tenga "borkling" como prefijo también funcionará cuando la contraseña se establezca de esta manera.
Una forma de lograr que afaik no tenga este efecto secundario no deseado es el siguiente:
Respuestas:
La
usermod -p
bandera espera que los datos sean la contraseña ya en un formato cifrado.Use
openssl passwd
para generar los datos encriptados, o hágalo así:fuente
openssl passwd
espera una contraseña de 0 a 10 caracteres.La razón por la que no funcionó es porque
usermod
la opción -p espera que la contraseña ya esté encriptada.Desde
usermod
la página de manual de:No se recomienda establecer una contraseña de esta manera.
En su lugar, debe usar
passwd <username>
. Esto (comousermod
) debe hacerse como root (si no está cambiando la contraseña de los usuarios actualmente conectados).Para cambiar la contraseña para el usuario foo.
Esto solicitará una nueva contraseña.
Eche un vistazo a la página de manual para
passwd
obtener más información sobre la configuración, por ejemplo, el tiempo de caducidad.¡Buena suerte!
fuente
Puedes usar
passwd
:No necesitas
sudo
si eres tú mismo superusuariofuente
sudo
requerir contraseña de root :)superuser
representa?La forma de asignar una contraseña con usermod (que es lo que realmente solicitó el OP) es usar una
crypt()
contraseña hash para el-p
argumento.Luego use eso en su
usermod -p
argumento de línea de comando:fuente
Un comando de línea única no interactivo para cambiar la contraseña de un usuario:
usermod -p
requiere contraseña encriptada para funcionar. Tenga en cuentanew-password
que será visible para los usuarios que pueden enumerar los procesos.fuente
Algo que debería agregarse aquí es lo siguiente. Este método:
sudo usermod -p
perl -e "print crypt("new-password","Q4")"
johnsignifica que TODAS las contraseñas muy similares funcionarán TODAS. Por ejemplo, en el servidor Oracle Linux 7.4 y el escritorio Ubuntu 17.10 considere:
sudo usermod -p
perl -e "print crypt("borkling","Q4")"
orabuntuAhora si uno lo hace:
su - orabuntu
encontrará que CUALQUIER contraseña que comience con "borkling" funcionará, p. ej.
borkling88 borklingjars
aunque "borkline" no funcionará, ya que, como se indicó anteriormente, cualquier contraseña que tenga "borkling" como prefijo también funcionará cuando la contraseña se establezca de esta manera.
Una forma de lograr que afaik no tenga este efecto secundario no deseado es el siguiente:
(el crédito para estos va a "Sandeep" aquí:
/programming/2150882/how-to-automatically-add-user-account-and-password-with-a-bash-script )
En Linux RedHaty: (omita la "rueda -G" si no desea que se otorguen los sudo privs)
sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G wheel $ {USERNAME}
En Debiany Linux (omita el sudo -G si no quiere los sudo privs):
sudo useradd -m -p $ (openssl passwd -1 $ {CONTRASEÑA}) -s / bin / bash -G sudo $ {USERNAME}
fuente
Sólo tipo
De esta manera, el usuario normal puede cambiar su propia contraseña sin privilegios de root si no tiene.
fuente