Explorar el Código

Correciones en la Gestion de las contraseñas

Guzmán Castanedo Villalba hace 6 años
padre
commit
8ce8df187f
Se han modificado 1 ficheros con 23 adiciones y 15 borrados
  1. 23 15
      userspanel.sh

+ 23 - 15
userspanel.sh

@@ -116,20 +116,7 @@ function altaUsuario {
 		opciones=$opciones" -G $otherGroups"
 	fi
 	if [ -z $password ]; then
-		igual=false
-		while [ $igual = false ]; do
-			printf "(PASSWORD)> "
-			read -s password
-			printf "\n(Confirme PASSWORD)> "
-			read -s password2
-			printf "\n"
-			if [ $password = $password2 ]; then
-				igual=true
-			else
-				printf "ERROR: No coinciden. Vuelva a intentarlo.\n"
-			fi
-		done
-		unset igual password2
+		leerPassword
 	fi
 	#opciones=$opciones" -p $password"
 	if [ -z $shell ]; then
@@ -229,7 +216,10 @@ function cambiarPassword {
 		printf "ERROR: el usuario $User no existe.\n"
 		return 1
 	fi
-	passwd $User
+	if [ -z $password ]; then
+		leerPassword
+	fi
+	printf "$password\n$password" | passwd $User >/dev/null 2>&1
 	if [ $? -ne 0 ]; then
 		printf "ERROR FATAL: No es posible cambiar la contraseña.\n"
 		return 1
@@ -247,6 +237,24 @@ function listarUsuarios {
 	unset lista
 }
 
+function leerPassword {
+#Lee contraseña y la guarda en $password
+	igual=false
+		while [ $igual = false ]; do
+			printf "(PASSWORD)> "
+			read -s password
+			printf "\n(Confirme PASSWORD)> "
+			read -s password2
+			printf "\n"
+			if [ $password = $password2 ]; then
+				igual=true
+			else
+				printf "ERROR: No coinciden. Vuelva a intentarlo.\n"
+			fi
+		done
+		unset igual password2
+}
+
 function existeUsuario {
 	#Comprobamos si un usuario ($User) existe
 	cat /etc/passwd | cut -d: -f1 | grep ^$User$ > /dev/null 2>&1