HTMLpointHTMLpoint HTMLpoint.com


 Utility para la creación de los usuarios



Ahora que ya sabemos como conceder y prohibir el acceso a determinadas directory en los servidores, ocupémonos de cómo crear el archivo. Éste, a diferencia del archivo de los grupos, contendrá líneas en las que está especificado el username y la contraseña criptada, del siguiente modo:

username:contraseña

Pero, ¿cómo crear las copias usuario-contraseña? Existen dos formas.

El primero y más complejo es el de crear un script del tipo:

#!/usr/bin/perl

print "Introduce un username:\n";
chomp($name=<STDIN>);
print "\nIntroduce la contraseña para $name:\n";
chomp($pwd=<STDIN>);
print "\nConfirma la contraseña para $name\n";
chomp($pwd_confirm=<STDIN>);
if ($pwd ne $pwd_confirm) {
# Las dos contraseñas tecleadas no son iguales
print "Confirma contraseña para $nombre no justa\n";
exit;
} else {
open(PASSWD, ">> /etc/apache/passwd")
|| die "No logro abrir el archivo. $!\n";

# Cripta la contraseña
$crypted_pwd = crypt($pwd,'aa');
#Escribe la copia:pwd en el archivo
print PASSWD "$name:$crypted_pwd";
close PASSWD;
print "\n¡Operación conseguida!\n";
}

Veamos en detalle qué hace el script. Tras haber solicitado un nombre y la contraseña, pide confirmación para la. Si la confirmación tiene un resultado negativo, advierte la diferencia entre las contraseñas tecleadas y sale; en caso contrario, abre el archivo que contiene las copias username-contraseña, cripta la contraseña introducida y escribe en el archivo"nombreusuario-contraseña". Cuando se concluye la operación cierra el archivo y adevierte del resultado de la operación.
El script, sobre todo para quien es un entendido en programación, no es desde luego una joya pero sirve para realizar nuestro trabajo. Si queréis utilizarlo sabed que es necesario hacerle unas modificaciones, como por ejemplo el control que un username no estpe ya presente en el archivo. Una instrucción que en caso de fracaso de la confirmación de la contraseña se mueva de tal forma que el script comience desde el principio, etc.

El segundo modo, en cambio, es el de utilizar la utility htpasswd, que crea y actualiza los archivos con las acreditaciones utilizadas por Apache.

La sintaxis es muy simple:

htpasswd -c file username contraseña

El flag "-c" dice a la utility que tiene que crear un archivo de las contraseñas en caso de que exista. ATENCIÓN, que si el archivo existe escribiremos encima con la consiguiente pérdida de los datos precedentes.
Veamos un par de ejemplos:

htpasswd -c /etc/apache/passwd user

creará el archivo "/etc/apache/passwd" e introducirá el "user" y solicitará la contraseña (con confirmación también en este caso) al usuario

htpasswd /etc/apache/passwd user

nos podemos comportar de dos modos. Si el usuario no existe, introduce el username y solicita la contraseña. Si en cambio el usuario existe, htpasswd entenderá que queremos cambiar la contraseña al usuario especificado, pidiéndonosla.

Y con esto, espero que hayáis entendicio a utilizar las autorizaciones de acceso con Apache para prohibir a los curiosos el acceso a determinadas directory del servidor de vuestra red o del servidor remoto.


  Volver al inicio de la página