PHP:Autentificar usuarios en base de datos

Puedes hacer lo siguiente:

  • Creas una tabla en tu base de datos (para el ejemplo: MySQL) donde tendrás al menos el nombre de usuario (usr_login ) y su contraseña (usr_pass ).
  • es una buena práctica que pongas la conexión a la base de datos en un módulo aparte que sea llamado desde todas las páginas que usan la base de datos (en el ejemplo me conecto directamente)
  • crea un módulo (yo lo llamo seguridad.php ) y coloca el siguiente código en él:

/* Autenticación
*/
$muerte = 'Acceso Denegado!!!! :-p';

if(!isset($PHP_AUTH_USER)) {
header('WWW-Authenticate: Basic realm="Nombre del Site"');
header('HTTP/1.0 401 Unauthorized');
echo $muerte;
exit;
} else {
// valido mi clave en el servidor ...
if (@$db_link = mysql_connect("localhost", "usuario", "clave")) {
@mysql_select_db("base_de_datos");
}

$sql = "select * from usuarios
where ((usr_login = '$PHP_AUTH_USER')
and (usr_pass = '$PHP_AUTH_PW')) ";

$qpass= mysql_query($sql, $db_link);
if(mysql_num_rows($qpass)<>1) {
echo $muerte;
exit;
}

}
?

Ahora al principio de cada una de tus páginas que necesite
autenticar al usuario colocarás:



  • Para terminar te recuerdo que queda en tus manos el mejorar el código, por ejemplo puedes validar un límite de intentos fallidos, registrar fecha y hora de acceso del usuario así como las páginas "autenticadas" que ha visitado. También puedes darle más seguridad al código validando errores en el SQL, y muchos etcés ...


Nota: Este tipo de autentificación es vía HTTP y funciona bajo PHP instalado como Módulo de Apache y no como CGI

Fuente: http://www.forosdelweb.com/wiki/PHP:Autentificar_usuarios_en_base_de_datos

Subir datos desde un archivo .CSV a una BD MySql

No se han topado con este problema? bueno, les cuento mi experiencia.

Subí una BD a un servidor MySQL, creada con scripts (archivos de texto con sintaxis SQL) pero luego me topé con el problema, que los datos (y muchos) que iba a contener una tabla de la BD, me los proporcionarían en un archivo de Excel. Cómo hacerlo? Me valí de la potencia del php, afortunadamente, estaba en un sistema LAMP, así que no resultó complicada la solucion. A continuación detallo los pasos:

  1. Guardar el archivo de datos que está en Excel como archivo separado por comas (.csv)
  2. Colocar ese archivo donde el servidor web tenga acceso.
  3. Crear un archivo PHP que lea el archivo, le coloque sintaxis sql, y así, lo ingrese a la Base de Datos.
  4. Ejecutar la pagina .php
  5. Listo

A continuación les dejo el script php:

function Conectarse()
{
if (!($link=mysql_connect("localhost","miusuario","mipassword"))) {
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("mibd",$link)) {
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}

$row = 1;
$handle = fopen("datos.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
$row++;
$cadena = "insert into miTabla(Campo1,Campo2,Campo3,Campo4) values(";
for ($c=0; $c < $num; $c++) {
if ($c==($num-1))
$cadena = $cadena."'".$data[$c] . "'";
else
$cadena = $cadena."'".$data[$c] . "',";
}

$cadena = $cadena.");";
echo $cadena."
";

$enlace=Conectarse();
$result=mysql_query($cadena, $enlace);
mysql_close($enlace);
}

fclose($handle);

?>

Se insertaron Registros en la tabla miTabla



Fuente:http://gualinx.wordpress.com/2007/10/01/subir-datos-desde-un-archivo-csv-a-una-bd-mysql/

MANUAL BÁSICO DE CRON

Esta es una introducción a cron, cubre lo básico de lo que cron puede hacer y la manera de usarse.

¿Qué es cron?

Cron es el nombre del programa que permite a usuarios Linux/Unix ejecutar automáticamente comandos o scripts (grupos de comandos) a una hora o fecha específica. Es usado normalmente para comandos de tareas administrativas, como respaldos, pero puede ser usado para ejecutar cualquier cosa. Como se define en las páginas del manual de cron (#> man cron) es un demonio que ejecuta programas agendados.

En prácticamente todas las distribuciones de Linux se usa la versión Vixie Cron, por la persona que la desarrolló, que es Paul Vixie, uno de los grandes gurús de Unix, también creador, entre otros sistemas, de BIND que es uno de los servidores DNS más populares del mundo.

Iniciar cron

Cron es un demonio (servicio), lo que significa que solo requiere ser iniciado una vez, generalmente con el mismo arranque del sistema. El servicio de cron se llama crond. En la mayoría de las distribuciones el servicio se instala automáticamente y queda iniciado desde el arranque del sistema, se puede comprobar de varias maneras:

#> /etc/rc.d/init.d/crond status
#> /etc/init.d/crond status Usa cualquiera de los dos dependiendo de tu distro
crond (pid 507) is running...

o si tienes el comando service instalado:
#> service crond status
crond (pid 507) is running...

se puede también revisar a través del comando ps:
# ps -ef | grep crond

si por alguna razón, cron no esta funcionando:
#> /etc/rc.d/init.d/crond start
Starting crond: [ OK ]

Si el servicio no estuviera configurado para arrancar desde un principio, bastaría con agregarlo con el comando chkconfig:

#> chkconfig --level 35 crond on
Usando cron

Hay al menos dos maneras distintas de usar cron:

La primera es en el directorio /etc, donde muy seguramente encontrarás los siguientes directorios:

  • cron.hourly
  • cron.daily
  • cron.weekly
  • cron.monthly

Si se coloca un archivo tipo script en cualquiera de estos directorios, entonces el script se ejecutará cada hora, cada día, cada semana o cada mes, dependiendo del directorio.

Para que el archivo pueda ser ejecutado tiene que ser algo similar a lo siguiente:

 #!/bin/sh
#script que genera un respaldo
cd /usr/documentos
tar czf * respaldo
cp respaldo /otra_directorio/.

Nótese que la primera línea empieza con #!, que indica que se trata de un script shell de bash, las demás líneas son los comandos que deseamos ejecute el script. Este script podría nombrarse por ejemplo respaldo.sh y también debemos cambiarle los permisos correspondientes para que pueda ser ejecutado, por ejemplo:

#> chmod 700 respaldo.sh
#> ls -l respaldo.sh
-rwx------ 1 root root 0 Jul 20 09:30 respaldo.sh

La "x" en el grupo de permisos del propietario (rwx) indica que puede ser ejecutado.

Si este script lo dejamos en cron.hourly, entonces se ejecutará cada hora con un minuto de todos los días, en un momento se entenderá el porque.


Como segundo modo de ejecutar o usar cron es a través de manipular directamente el archivo /etc/crontab. En la instalación por defecto de varias distribuciones Linux, este archivo se verá a algo como lo siguiente:

#> cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Las primeras cuatro líneas son variables que indican lo siguiente:

SHELL es el 'shell' bajo el cual se ejecuta el cron. Si no se especifica, se tomará por defecto el indicado en la línea /etc/passwd correspondiente al usuario que este ejecutando cron.

PATH contiene o indica la ruta a los directorios en los cuales cron buscará el comando a ejecutar. Este path es distinto al path global del sistema o del usuario.

MAIL TO es a quien se le envía la salida del comando (si es que este tiene alguna salida). Cron enviará un correo a quien se especifique en este variable, es decir, debe ser un usuario válido del sistema o de algún otro sistema. Si no se especifica, entonces cron enviará el correo al usuario propietario del comando que se ejecuta.

HOME es el directorio raíz o principal del comando cron, si no se indica entonces, la raíz será la que se indique en el archivo /etc/passwd correspondiente al usuario que ejecuta cron.

Los comentarios se indican con # al inicio de la línea.

Después de lo anterior vienen las líneas que ejecutan las tareas programadas propiamente. No hay límites de cuantas tareas pueda haber, una por renglón. Los campos (son 7) que forman estas líneas están formados de la siguiente manera:

Minuto Hora DiaDelMes Mes DiaDeLaSemana Usuario Comando
CampoDescripción
MinutoControla el minuto de la hora en que el comando será ejecutado, este valor debe de estar entre 0 y 59.
HoraControla la hora en que el comando será ejecutado, se especifica en un formato de 24 horas, los valores deben estar entre 0 y 23, 0 es medianoche.
Día del MesDía del mes en que se quiere ejecutar el comando. Por ejemplo se indicaría 20, para ejecutar el comando el día 20 del mes.
MesMes en que el comando se ejecutará, puede ser indicado numéricamente (1-12), o por el nombre del mes en inglés, solo las tres primeras letras.
Día de la semanaDía en la semana en que se ejecutará el comando, puede ser numérico (0-7) o por el nombre del día en inglés, solo las tres primeras letras. (0 y 7 = domingo)
UsuarioUsuario que ejecuta el comando.
ComandoComando, script o programa que se desea ejecutar. Este campo puede contener múltiples palabras y espacios.

Un asterisco * como valor en los primeros cinco campos, indicará inicio-fin del campo, es decir todo. Un * en el campo de minuto indicará todos los minutos.

Para entender bien esto de los primeros 5 campos y el asterisco usaré mejor varios ejemplos:

EjemploDescripción
01 * * * *Se ejecuta al minuto 1 de cada hora de todos los días
15 8 * * * A las 8:15 a.m. de cada día
15 20 * * *A las 8:15 p.m. de cada día
00 5 * * 0A las 5 a.m. todos los domingos
* 5 * * SunCada minuto de 5:00a.m. a 5:59a.m. todos los domingos
45 19 1 * *A las 7:45 p.m. del primero de cada mes
01 * 20 7 *Al minuto 1 de cada hora del 20 de julio
10 1 * 12 1A la 1:10 a.m. todos los lunes de diciembre
00 12 16 * WenAl mediodía de los días 16 de cada mes y que sea Miércoles
30 9 20 7 4A las 9:30 a.m. del dia 20 de julio y que sea jueves
30 9 20 7 *A las 9:30 a.m. del dia 20 de julio sin importar el día de la semana
20 * * * 6Al minuto 20 de cada hora de los sábados
20 * * 1 6Al minuto 20 de cada hora de los sábados de enero

También es posible especificar listas en los campos. Las listas pueden estar en la forma de 1,2,3,4 o en la forma de 1-4 que sería lo mismo. Cron, de igual manera soporta incrementos en las listas, que se indican de la siguiente manera:

Valor o lista/incremento
De nuevo, es más fácil entender las listas e incrementos con ejemplos:
EjemploDescripción
59 11 * 1-3 1,2,3,4,5A las 11:59 a.m. de lunes a viernes, de enero a marzo
45 * 10-25 * 6-7Al minuto 45 de todas las horas de los días 10 al 25 de todos los meses y que el día sea sábado o domingo
10,30,50 * * * 1,3,5En el minuto 10, 30 y 50 de todas las horas de los días lunes, miércoles y viernes
*/15 10-14 * * *Cada quince minutos de las 10:00a.m. a las 2:00p.m.
* 12 1-10/2 2,8 *Todos los minutos de las 12 del día, en los días 1,3,5,7 y 9 de febrero a agosto. (El incremento en el tercer campo es de 2 y comienza a partir del 1)
0 */5 1-10,15,20-23 * 3Cada 5 horas de los días 1 al 10, el día 15 y del día 20 al 23 de cada mes y que el día sea miércoles
3/3 2/4 2 2 2Cada 3 minutos empezando por el minuto 3 (3,6,9, etc.) de las horas 2,6,10, etc (cada 4 horas empezando en la hora 2) del día 2 de febrero y que sea martes

Como se puede apreciar en el último ejemplo la tarea cron que estuviera asignada a ese renglón con esos datos, solo se ejecutaría si se cumple con los 5 campos (AND). Es decir, para que la tarea se ejecute tiene que ser un martes 2 de febrero a las 02:03. Siempre es un AND booleano que solo resulta verdadero si los 5 campos son ciertos en el minuto específico.

El caso anterior deja claro entonces que:

El programa cron se invoca cada minuto y ejecuta las tareas que sus campos se cumplan en ese preciso minuto.

Incluyendo el campo del usuario y el comando, los renglones de crontab podrían quedar entonces de la siguiente manera:

0 22 * * * root /usr/respaldodiario.sh
0 23 * * 5 root /usr/respaldosemanal.sh
0 8,20 * * * sergio mail -s "sistema funcionando" sgd@ejemplo.com

Las dos primeras líneas las ejecuta el usuario root y la primera ejecuta a las 10 de la noche de todos los días el script que genera un respaldo diario. La seguna ejecuta a las 11 de la noche de todos los viernes un script que genera un respaldo semana. La tercera línea la ejecuta el usuario sergio y se ejecutaría a las 8 de la mañana y 8 de la noche de todos los día y el comando es enviar un correo a la cuenta sgd@ejemplo.com con el asunto "sistema funcionando", una manera de que un administrador este enterado de que un sistema remoto esta activo en las horas indicadas, sino recibe un correo en esas horas, algo anda mal.

Siendo root, es posible entonces, modificar directamente crontab:

#> vi /etc/crontab
Ejecutando Cron con múltiples usuarios, comando crontab

Linux es un sistema multiusuario y cron es de las aplicaciones que soporta el trabajo con varios usuarios a la vez. Cada usuario puede tener su propio archivo crontab, de hecho el /etc/crontab se asume que es el archivo crontab del usuario root, aunque no hay problema que se incluyan otros usuarios, y de ahí el sexto campo que indica precisamente quien es el usuario que ejecuta la tarea y es obligatorio en /etc/crontab.

Pero cuando los usuarios normales (e incluso root) desean generar su propio archivo de crontab, entonces utilizaremos el comando crontab.

En el directorio /var/spool/cron (puede variar según la distribución), se genera un archivo cron para cada usuario, este archivo aunque es de texto, no debe editarse directamente.

Se tiene entonces, dos situaciones, generar directamente el archivo crontab con el comando:

$> crontab -e
Con lo cual se abrira el editor por default (generalemente vi) con el archivo llamado crontab vacio y donde el usuario ingresará su tabla de tareas y que se guardará automáticamente como /var/spool/cron/usuario.

El otro caso es que el usuario edite un archivo de texto normal con las entradas de las tareas y como ejemplo lo nombre 'mi_cron', después el comando $> crontab mi_cron se encargará de establecerlo como su archivo cron del usuario en /var/spool/cron/usuario:

$> vi mi_cron
# borra archivos de carpeta compartida
0 20 * * * rm -f /home/sergio/compartidos/*
# ejecuta un script que realiza un respaldo de la carpeta documentos el primer día de
cada mes
0 22 1 * * /home/sergio/respaldomensual.sh
# cada 5 horas de lun a vie, se asegura que los permisos sean los correctos en mi home
1 *5 * * * 1-5 chmod -R 640 /home/sergio/*
:wq (se guarda el archivo)
$> ls
mi_cron
$> crontab mi_cron
(se establece en /var/spool/cron/usuario)

Resumiendo lo anterior y considerando otras opciones de crontab:

$> crontab archivo.cron (establecerá el archivo.cron como el crontab del usuario)
$> crontab -e (abrirá el editor preestablecido donde se podrá crear o
editar el archivo crontab)

$> crontab -l (lista el crontab actual del usuario, sus tareas de cron)
$> crontab -r (elimina el crontab actual del usuario)

En algunas distribuciones cuando se editan crontabs de usuarios normales es necesario reiniciar el servicio para que se puedan releer los archivos de crontab en /var/spool/cron.

#> service crond restart

Para entender mejor como iniciar/detener/reiniciar servicios, en este artículo encontrarás más información.

Controlando el acceso a cron

Cron permite controlar que usuarios pueden o no pueden usar los servicios de cron. Esto se logra de una manera muy sencilla a través de los siguientes archivos:

  • /etc/cron.allow
  • /etc/cron.deny

Para impedir que un usuario utilice cron o mejor dicho el comando crontab, basta con agregar su nombre de usuario al archivo /etc/cron.deny, para permitirle su uso entonces sería agregar su nombre de usuario en /etc/cron.allow, si por alguna razón se desea negar el uso de cron a todos los usuarios, entonces se puede escribir la palabra ALL al inicio de cron.deny y con eso bastaría.

#> echo ALL >>/etc/cron.deny
o para agregar un usuario mas a cron.allow
#> echo juan >>/etc/cron.allow

Si no existe el archivo cron.allow ni el archivo cron.deny, en teoría el uso de cron esta entonces sin restricciones de usuario. Si se añaden nombres de usuarios en cron.allow, sin crear un archivo cron.deny, tendrá el mismo efecto que haberlo creado con la palabra ALL. Esto quiere decir que una vez creado cron.allow con un solo usuario, siempre se tendrán que especificar los demás usuarios que se quiere usen cron, en este archivo.

Fuente: http://www.linuxtotal.com.mx/index.php?cont=info_admon_006

Deep Freeze (Congelador)

Deep Freeze (Congelador)

Instalación

Por favor salga de todos los programas, cierre todas las ventanas y deshabilite cualquier programa de seguridad (firewall, antivirus, …) antes de proceder con la instalación. Estos programas pueden interferir en la correcta instalación y tener como resultado una instalación incompleta o corrupta. NO DETENER el proceso de instalación una vez iniciado. Instalación sobre una instalación anterior del programa (DEMO también) Se debe desinstalar utilizando Añadir o Quitar programas desde el Panel de Control antes de proceder a la instalación del programa. NO intente desinstalar el congelador manualmente (borrando ficheros), esto puede ocasionar graves errores y debería formatear su disco duro.

Windows 95/98/Me

Inserte el CD-ROM suministrado

Seleccione Install Deep Freeze for windows 95/98/Me Standard desde el menú de arranque. Si no se ejecuta automáticamente al insertar el CD, mediante el explorador de windows ejecutar Setup.exe que se encuentra en la carpeta \installs\deepfreeze9x.

Windows 2000/XP


1. Seleccione Install Deep Freeze for windows2000XP Standard desde el menu de arranque. Si no se ejecuta automáticamente al insertar el CD, mediante el explorador de windows ejecutar deepfreeze2000XP.exe que se encuentra en la carpeta \installs

2.Seleccione las unidades a congelar si tiene más de una unidad lógica

3.Pulse Instalar Instalación silenciosa (quick install) Rápida instalación del Congelador en el sistema: la instalación silenciosas puede ser usada para instalar en mútiples equipos en una red. Línea de comandos: [/install] Instalación silenciosa del congelador 2000XP [/PW=”nueva contraseña”] Activa la contraseña elegida durante la instalación[/reboot] Reinicia el equipo después de la instalación o desinstalación [/freeze=C:,D:,…] Congelar sólo las unidades elegidas, el resto descongeladas [/thaw=D:,E:,…] Unidades sin congelar, el resto congeladas [/unistall] Desinstalar el Congelador del sistemaEjemplo de instalación por línea de comandos: Deepfreeze2000XPIinstall/freeze=C:/pw=easyone/reboto

NOTA
: La instalación silenciosa no funciona sin el comando /install

ACCESO MENÚ Para acceder al menú mantener pulsada SHIFT y hacer doble clic en el icono del congelador que aparece en la barra de tareas de windows, junto a la hora. La siguiente ventana aparecerá y deberá inserta la contraseña de administrador

Deep Freeze

NOTA: Otra manera de acceder a esta pantalla es mediante la combinación de teclas CTRL.+ALT+SHIFT+F6

ESTADO DEL SISTEMA (system status) Únicamente lo utiliza el servicio de asistencia para verificar su estado.

CONTROL DE ARRANQUE Puede elegir tres modos de arranque. Por defecto se activa BOOT FROZEN (arrancar congelado), la siguiente opción es BOOT THAWED ON NEXT… (arrancar descongelado en los reinicios siguientes…) esta opción se utiliza para permitir al equipo hacer cambios durante esos reinicios y después de ellos arrancar de nuevo congelado. Por último está la opción BOOT THAWED (arrancar descongelado) para desactivar el programa mientras se hacen modificaciones, esta opción es indefinida, se le debe decir cuándo volver a congelar. Cuando en la barra de inicio el indicador del congelador aparece con una cruz roja parpadeando significa que está descongelado

Deep Freeze










CONTRASEÑAS DE EQUIPO

Mientras no se introduzca la contraseña de administrador saldrá el mensaje “Passwordhas not been set up” (la contraseña no se ha configurado). Es recomendable poner contraseña parea evitar cambios no esperados por los usuarios.

CAMBIO DE CONTRASEÑA

La ventana de inicio en la pestaña (password) permite cambiar la contraseña

Deep Freeze


DESINSTALACIÓN DEL CONGELADOR

Windows 95/98/Me y Windows 2000/XP a través del Panel de Control1.Se debe descongelar con la opción THAWED del menú de control, reiniciar el equipo2. En el Panel de Control Añadir o Quitar programas desinstalar DEEP FREEZE. Windows 2000/XP vía línea de comandos1.Ejecutar DEEPFREEZE2000XP.exe y elegir unistall

SEGURIDAD
El Congelador NO protege de los arranques desde disquetes. Su BIOS debe estar configurada para arrancar primero desde el disco duro (c:\) y después desde el disco A: y proteger la BIOS con contraseña.

SOPORTE
Hemos hecho todos los esfuerzos para que este software sea lo más sencillo de manejar y libre de problemas. De todas formas,si encuentra cualquier problema o tiene alguna dificultad en el manejo puede contactar con nuestro servicio técnico en la dirección e-mail info@easy-networks.com y en breve le ayudarán en su problema. El soporte queda sujeto a tener contratado el servicio de mantenimiento.

CONTACTO WEB: http://www.easy-networks.com E-Mail: info@easy-networks.com Teléfono: 935315946FAX: 93 5315982 Dirección: CL Mariscal Cabanes, 9 1º 4ª; 08918 Badalona (Barcelona)

UTILIZACIÓN Y OPTIMIZACIÓN DEL CONGELADOR

Funcionamiento

El programa permite congelar nuestro disco duro de manera que trabajamos normalmente con él (crear y borrar archivos, instalar y desinstalar programas, modificar el aspecto del escritorio, etc) pero cuando arranquemos de nuevo, ningún cambio habrá tenido efecto, es decir: el disco duro tendrá exactamente el mismo contenido que al principio. Si queremos instalar un programa debemos desactivar la congelación, instalarlo y volver a activar la congelación. Estas activaciones y desactivaciones no se producen de forma instantánea sino que surten efecto en el siguiente arranque del sistema, por lo que para instalar un programa habrá querearrancar el sistema 2 veces (aparte de la que la propia instalación del programa pueda requerir).

Inconvenientes

Los inconvenientes de este sistema de protección están en los mecanismos de activación y desactivación anteriormente mencionados. Es verdad que no se instalan programas todos los días, pero hay otras operaciones más cotidianas como recibir y enviar correo, agregar una dirección a Favoritos, crear y guardar un archivo, etc… que requerirían la desactivación del Congelador, lo que haría su uso especialmente incómodo.

Solución a los inconvenientes

Cuando el ordenador tiene varias unidades de disco (bien físicas o particiones) el programa nos permite elegir en la instalación las unidades que serán controladas por él, con lo que la solución pasa por tener al menos dos unidades de disco. En el caso de tener sólo una unidad de disco duro, hay varios programas que nos permiten hacer dos particiones sin perder los datos. El más extendido y conocido es probablemente “Partitión Magic” de Power Quest. Si nuestro disco es de 6Gb o más, podemos hacer las particiones al 50% (rara vez usamos más de 2 ó 3 Gb del disco duro), lo que nos permitiría usar también esa segunda partición para guardar una imagen de la primera partición hecha con el programa Ghost. En el caso de disponer de menos espacio, dedicaríamos sólo 500Mb o menos para esa segunda partición renunciando entonces a la opción de guardar la imagen de Ghost en ella. Una vez hecha esa segunda partición (unidad D), redirigiremos hacia ella una serie de elementos que no queremos tener congelados cuando instalemos Deep Freeze, como pueden ser: El Correo electrónico (Outlook Express) Mis documentos Favoritos de Internet Explorer Historial de Internet Explorer También convendría desinstalar el antivirus e instalarlo en la unidad D para que las actualizaciones del mismo se puedan hacer sin desactivar la congelación de C.

Redireccionamientos

De los cuatro elementos citados anteriormente estudiaremos por una parte el correo y por otra los elementos restantes pues tienen formas distintas de reconfigurar su ubicación.

Correo electrónico (Outlook Express)

En primer lugar creamos en la unidad D una carpeta en la que guardaremos a partir de ahora el correo, podemos llamarla Correo Outlook por ejemplo. A continuación ejecutamos Outlook Express y vamos a Herramientas->Opciones

En la pestaña de Mantenimiento pulsamos sobre la opción de Carpeta de almacén y nos aparece un cuadro en el cual nos indica el lugar donde actualmente se almacenan los datos relativos al correo como direcciones, agenda…

Pulsando sobre el botón Cambiar indicamos la nueva ubicación, en nuestro caso D:\ Correo Outlook , aceptamos y a partir de este momento toda la información relativa al correo se almacenará en esa nueva carpeta.

Deep Freeze

Mis documentos, Favoritos e Historial En este caso las carpetas no se copian solas como ha ocurrido con el correo, además hay que hacer una serie de cambios en el registro de Windows. Comenzamos por abrir Mi PC y en el menú Ver->Opciones de Carpeta… y en la pestaña Ver, activamos la opción Mostrar todos los archivos. Esta opción es necesaria porque vamos a copiar algún archivo oculto que si no, no se copiaría.

Deep Freeze

A continuación copiamos de C a D la carpeta Mis documentos. Creamos en D una carpeta a la que llamaremos Windows y copiaremos en ella las carpetas Favoritos e Historial de la carpeta C:\Windows. Cerramos Mi PC, vamos al escritorio y pulsamos con el botón derecho sobre el icono de Mis documentos y en el menú contextual elegimos propiedades.

Nos aparecerá la ubicación de Mis documentos que en estos momentos es C:\Mis documentos. No tenemos más que cambiarla por D:\Mis documentos.

Finalmente hay que hacer unos cuantos apaños en el registro de Windows, por lo que ejecutaremos el editor del registro. Pulsamos en Inicio->Ejecutar y en la ventana que aparece tecleamos regedit y aceptamos

Deep Freeze

Nos aparece la siguiente pantalla

Deep Freeze

Pulsamos en Edición-> Buscar y en la ventana que aparece tecleamos C:\Windows\Favoritos y pulsamos en Buscar siguiente

Cuando nos aparezca la expresión buscada, la sustituimos por D:\Windows\Favoritos y seguimos pulsando Buscar siguiente hasta que lleguemos al final del registro.

A continuación hacemos lo mismo para cambiar C:\windows\Historial por D:\windows\Historial, y C:\Mis documentos por D:\Mis documentos. Esta última expresión aparecerá muchas veces pues hay muchos programas que la tienen registrada como carpeta donde guardar sus archivos por defecto.

NOTA: Observemos que todas estas operaciones son también aconsejables para su uso con el programa Ghost pues al restaurar una imagen de la unidad C perderíamos todas las variaciones que se hubieran producido en el correo, Favoritos, Historial y contenido de Mis documentos desde la realización de la copia de seguridad, en caso de que estos elementos estuvieran ubicados en dicha unidad. Una restauración del disco C no afectaría a dichos elementos.

Aparte de lo expuesto, hay muchos programas que configuran el almacenamiento de algunos datos en C y convendría redireccionar a D, por ejemplo las plantillas de documentos y archivos de autorrecuperación de Word entre otros

Fuente: http://www.trucoswindows.net/tutorial-35-TUTORIAL-Uso-y-configuracion-de-Deep-Freeze--Congelador--Standad.html

101 Microsoft Visual Basic .NET Applications

http://i100.photobucket.com/albums/m32/ganelon9/0cd76b96.jpg


Author(s): Sean Campbell, Scott Swigart, Bob Carver
Publisher: MS Press
Year: 2003
ISBN: 0735618917
Language: English
File type: CHM
Pages: 561
Size (for download): 9.2 MB

The 101 sample applications that make up this book contain code that answers many common questions a beginner-to-intermediate-level Microsoft Visual Basic .NET developer is faced with when building Microsoft .NET applications.

Each sample application was developed using a set of coding conventions (which you’ll find in this book), and each sample shares a common look and feel, as much as possible. Each sample also includes a readme.htm file that explains some basics of the application in case you’re reviewing a sample without having the book close at hand.


The samples in this book are ready to be run in either the Microsoft Visual Studio .NET 2002 or 2003 development environment. You can find the Visual Studio .NET 2003 files in Chapter folders within the \101VBApps folder; look inside the VS2002 folder within the \101VBApps folder for the Visual Studio .NET 2002 files.


Finally each application is designed to be “F5-able,” meaning that they should all run out of the box, without any special configuration. Any circumstances for which specific software or setup is needed is fully documented in the readme. The only general requirement is that you have Microsoft SQL Server installed either as a default instance or an instance installed with the name NETSDK. You can easily install a version of SQL Server by installing the version of MSDE that ships with the .NET Framework quickstarts.

Explore 101 of the most useful Visual Basic .NET applications in action—and jumpstart your own Microsoft .NET Framework-based development projects. This guide provides expert, behind-the-code commentary on 101 fully executable code samples—distilling more than 700 hours of programming time into best practices for Microsoft Windows Forms development. Each code sample demonstrates core features and functions of Visual Basic .NET and the .NET Framework, explains the underlying programming concepts, and provides a complete code walkthrough. From creating basic data entry forms to drilling deep into the .NET Framework, you’ll learn the techniques that Microsoft’s own developers use to write real-world applications with Visual Basic .NET.


TABLE OF CONTENT:
Chapter 01 - Working with Microsoft Visual Studio .NET 2003 and Microsoft .NET Framework 1.1
Chapter 02 - Working with the Microsoft Visual Basic .NET Language
Chapter 03 - Data Access
Chapter 04 - Building Windows Forms User Interfaces
Chapter 05 - Building Web Applications
Chapter 06 - Working with Console Applications
Chapter 07 - Interacting with the Operating System
Chapter 08 - Working with the .NET Framework
Chapter 09 - Advanced .NET Framework
Chapter 10 - GDI+
Chapter 11 - Building Enterprise Services Applications
Chapter 12 - COM Interop/PInvoke
Chapter 13 - Visual Studio .NET
Chapter 14 - Securing Applications
Chapter 15 - Coding Conventions
Chapter 16 - Windows Server 2003 for .NET Developers


Download:

http://rapidshare.com/files/29861001/101_vbnet_app.rar
password: ganelon

SuperAntiSpyware Professional 4.27.1000 (MultiLenguaje - Final - Full)



SUPERAntiSpyware es el explorador más cuidadoso en el mercado. Nuestro multidimensional de la exploración y la Tecnología de la interrogación detectará el spyware la otra falta de los productos. Eliminar fácilmente las plagas, como WinFixer, SpyAxe, SpyFalcon, y miles más. SUPERAntiSpyware será detectar y eliminar miles de Spyware, Adware, Malware, troyanos, keyloggers, dialers, Hi-Jackers, y gusanos. SUPERAntiSpyware muchas características únicas y poderosas tecnologías elimina los programas espía y otras amenazas que las aplicaciones no eliminar.

SUPERAntiSpyware Professional incluye bloqueo en tiempo real de amenazas programadas de escaneo, ilimitado y gratuito de Atención al Cliente por e-mail. También incluye una característica de reparación que le permite restaurar la configuración de diferentes que a menudo son cambiadas por programas malware, pero normalmente no se corrige por la simple eliminación de los parásitos. Reparación de las conexiones quebradas del Internet, PCs, registro que corrige y más con nuestro sistema único de la reparación. Dedicado equipo de investigación de amenazas rastrea la web para las nuevas amenazas y proporciona actualizaciones diarias de la definición.

Eliminar fácilmente más de 1 millón de plagas y componentes, tales como amenaza VirusRay, AntiVirGear, VirusProtectPro, DriveCleaner, SmitFraud, Vundo, WinFixer, SpyAxe, SpyFalcon, WinAntiVirus, AntiVermins, AntiSpyGolden y miles más!

Características:

* Rápido, completo y personalizado de escaneo de discos duros, unidades extraíbles, memoria, registro, carpetas individuales y más! Incluye artículos y Confiando Excluyendo carpetas para completar la personalización de la digitalización!
* Detectar y eliminar Spyware, Adware, Malware, troyanos, dialers, gusanos, keyloggers, secuestradores y otros muchos tipos de amenazas.
* Luz en los recursos del sistema y no ralentizar el equipo al igual que muchos otros productos anti-spyware. No en conflicto con su actual anti-spyware o anti-virus para el!
* Reparación de las conexiones quebradas del Internet, PCs, registro que corrige y más con nuestro sistema único de la reparación!
* El bloqueo en tiempo real de las amenazas! Evitar posibles software de la instalación o volver a instalar!
* Multidimensional de la exploración detecta las amenazas existentes, así como las amenazas del futuro mediante el análisis de la amenaza características, además de patrones de código.
* Primera Oportunidad Prevención examina más de 50 puntos críticos de su sistema cada vez que su sistema arranca y se apaga para eliminar las amenazas antes de que tengan la oportunidad de infectar y de infiltrarse en su sistema.
* Tecnología de la interrogación del proceso permite que las amenazas a ser detectado sin importar donde se esconden en su sistema.
* Calendario bien rápida, completa o personalizada Escanea diario o semanal para asegurarse de que su ordenador esté libre de software dañino.
* Equipo de investigación dedicado de la amenaza friega la tela para las nuevas amenazas y proporciona actualizaciones diarias de la definición

Tamaño: 6,6 MB

http://anonym.to/?http://uploading.com/files/X54JQGAD/SUPERAS.rar.htmlhttp://anonym.to/?http://uploading.com/files/X54JQGAD/SUPERAS.rar.html

http://anonym.to/?http://hotfile.com/dl/9966609/de4106c/SUPERAS.rar.html

Consulta a base de datos MySQL:

| 0 comentarios

Partiendo de que tenemos una base de datos MySQL instalada en el servidor poblada con valores, vamos a realizar un sistema de consulta por parte del usuario a esa base de datos.

Necesitamos dos archivos un html y otro php.

En el archivo html introducimos un formulario con los campos de texto que necesitamos para realizar la consulta, constará de un campo de texto seleccionable y otro para introducir el término que se desea buscar:


Tipo de Búsqueda:




¿Qué deseas buscar?:







Ahora configuramos el archivo php (consulta.php) que conectará con la base de datos y devolverá los resultados de la búsqueda:



Creamos una condicional para comprobar que el campo se ha seleccionado e introducido valores:

trim ($busqueda);
if (!$tipobusqueda || !$busqueda)
{
echo "Campo de búsqueda vacío . Inténtalo de nuevo. ";
exit;
}


Ahora, para que no puedan entrar carácteres que puedan interferir en la interpretación del script como puede ser las comillas, la función addslashes añade las barras inversas para estirilizar el campo, posteriormente deberemos eliminarlas en los resultados de búsqueda con la función stripslashes.

$tipobusqueda = addslashes($tipobusqueda);
$terminobusqueda = addslashes($busqueda);


Conectamos con nuestra base de datos y guardamos los datos de conexión en una variable para posteriormente realizar la condicional de error de conexión. Utilizamos la @ delante para que no nos devuelva los datos de la conexión en la pantalla.

@ $db = mysql_pconnect("host", "usuario", "contraseña");

if (!$db)
{
echo "Error: No se ha podido conectar a la base de datos. Por favor, prueba de nuevo más tarde.";
exit;
}
mysql_select_db("bdconsulta");


Llevamos a cabo la consulta:

$consulta = "select * from tabla where ".$tipobusqueda." like '%".$busqueda."%' ";
$resultado = mysql_query($consulta);


Mostramos los resultados según el número obtenido:

$numerode_resultados = mysql_num_rows($resultado);

echo "

Número de resultados encontrados: ".$numerode_resultados."

";

for ($i=0; $i <$numerode_resultados; $i++)
{
$filas = mysql_fetch_array($resultado);


Utilizamos la función stripslashes para eliminar las posibles barras inversas y mostramos la búsqueda:

echo "

".($i+1).". Búsqueda A: ";
echo stripslashes($filas["a"]);
echo "
Búsqueda B: ";
echo stripslashes($filas["b"]);
echo "
Búsqueda C ";
echo stripslashes($filas["c"]);
echo "

";
}
?>


Fuente: http://www.hucreative.com/php/php3.html

Eliminar MSN Messenger del sistema

Si no utilizas el Messenger seguramente querrás eliminarlo del sistema. La forma más sencilla de hacerlo es pulsado en el botón de inicio -> ejecutar:

RunDll32 advpack.dll,LaunchINFSection %windir%\INF\msmsgs.inf,BLC.Remove

Una vez borrado y reiniciado el equipo no quedará rastro del dichoso Messenger.

Fuente: http://www.elhacker.net

ListBox en Visual Basic .NET

The ListBox control displays a list of items from which we can make a selection. We can select one or more than one of the items from the list. The ListBox control is based on the ListControl class which is based on the Control class. The image below displays a ListBox.

ListBox

Notable Properties of the ListBox

In the Behavior Section

HorizontalScrollbar: Displays a horizontal scrollbar to the ListBox. Works when the ListBox has MultipleColumns.
MultiColumn: The default value is set to False. Set it to True if you want the list box to display multiple columns.
ScrollAlwaysVisible: Default value is set to False. Setting it to True will display both Vertical and Horizontal scrollbar always.
SelectionMode: Default value is set to one. Select option None if you do not any item to be selected. Select it to MultiSimple if you want multiple items to be selected. Setting it to MultiExtended allows you to select multiple items with the help of Shift, Control and arrow keys on the keyboard.
Sorted: Default value is set to False. Set it to True if you want the items displayed in the ListBox to be sorted by alphabetical order.

In the Data Section

Notable property in the Data section of the Properties window is the Items property. The Items property allows us to add the items we want to be displayed in the list box. Doing so is simple, click on the ellipses to open the String Collection Editor window and start entering what you want to be displayed in the ListBox. After entering the items click OK and doing that adds all the items to the ListBox.

ListBox Event

The default event of ListBox is the SelectedIndexChanged which looks like this in code:

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

End Sub

Working with ListBoxes

Drag a TextBox and a ListBox control to the form and add some items to the ListBox with it's items property.

Referring to Items in the ListBox

Items in a ListBox are referred by index. When items are added to the ListBox they are assigned an index. The first item in the ListBox always has an index of 0 the next 1 and so on.

Code to display the index of an item

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
TextBox1.Text = ListBox1.SelectedIndex
'using the selected index property of the list box to select the index
End Sub

When you run the code and select an item from the ListBox, it's index is displayed in the textbox.

Counting the number of Items in a ListBox

Add a Button to the form and place the following code in it's click event.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e _
As System.EventArgs) Handles Button1.Click
TextBox1.Text = ListBox1.Items.Count
'counting the number of items in the ListBox with the Items.Count
End Sub

When you run the code and click the Button it will display the number of items available in the ListBox.

Code to display the item selected from ListBox in a TextBox

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
TextBox1.Text = ListBox1.SelectedItem
'using the selected item property
End Sub

When you run the code and click an item in the ListBox that item will be displayed in the TextBox.

Code to Remove items from a ListBox

You can remove all items or one particular item from the list box.

Code to remove a particular item

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e _
As System.EventArgs) Handles Button1.Click
ListBox1.Items.RemoveAt(4)
'removing an item by specifying it's index
End Sub

Code to Remove all items

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
ListBox1.Items.Clear()
'using the clear method to clear the list box
End Sub
Fuente: http://www.startvbdotnet.com/controls/listbox.aspx

Consola de recuperacion en XP

La Consola de Recuperación en su línea de comandos, pero puede ser utilizada para recuperarnos de serios problemas de inicio, accediendo a ella como usuario con derechos administrativos.
La ejecución de la Consola de Recuperación se puede llevar a cabo de dos maneras:
Iniciándola directamente desde el CD de Windows XP.
Instalándola en nuestro sistema y accediendo a ella desde el menú de inicio

INICIO DE LA CONSOLA DESDE EL CD DE WINDOWS XP

Cambiamos la secuencia de arranque de nuestro equipo desde las opciones Advance BIOS Features de nuestra BIOS y colocamos el CD como primer dispositivo de lectura en el arranque o reinicio First Boot Device
Colocamos el CD de Windows XP en su bandeja y reiniciamos nuestro equipo
Pulsamos cualquier tecla para iniciar desde CD (veras un aviso en el extremo inferior de la pantalla Presiona cualquier tecla para iniciar desde el CD)
Esperamos a la carga de archivos
Aparecerá la pantalla de instalación de Windows XP y seleccionamos la opción del medio Para recuperar una instalación de Windows XP usando la consola de recuperación, presiona la tecla R
Si tenemos multiarranque, seleccionaremos el sistema a recuperar mediante el numeral correspondiente al que este asociado en la pantalla
Te solicitará posteriormente la contraseña de administrador que pusiste cuando instalaste el sistema por primera vez.
Para ver los comandos, desde la pantalla de la Consola de Recuperación, escribe help, una vez obtenidos, puedes ver una descripción de los mismos escribiendo help comando
Para salir de la Consola de Recuperación y reiniciar el equipo, escribiremos exit.

INSTALACIÓN DE LA CONSOLA DE RECUPERACIÓN EN EL MENU DE INICIO

Colocamos el CD de Windows XP en su unidad y desde Inicio ?> Ejecutar, escribimos:
X:i386winnt32.exe /cmdcons
Donde ?X? corresponde a la letra de la unidad donde se encuentra el CD.
Aparecerá un mensaje del programa de instalación que describe la opción de la Consola de Recuperación, el espacio que requiere en el disco duro y la pregunta: Desea instalar la Consola de Recuperación?
Pulsamos SI y la próxima vez que arranquemos nuestro equipo, tendremos en el menú de arranque la opción de la Consola de Recuperación.
Una de las mayores ventajas de la Consola de Recuperación respecto por ejemplo al modo seguro, es que esta, nos permite acceder incluso en el caso que existan archivos corruptos y desde la misma es posible realizar las siguientes opciones:
- Copiar, cambiar, reemplazar, cambiar el nombre de archivos y carpeta de XP
- Activar o desactivar Servicios o dispositivos
- Crear y dar formato a unidades
- Reparar el sector de arranque
- Reparar el sistema desde un CD

RESTRICCIONES
Solo será posible acceder a los archivos que se encuentren en las siguientes ubicaciones:
El directorio raíz de cualquier volumen
La carpeta %SystemRoot% y las carpetas que cuelgan de ella donde XP se haya instalado (C:Windows por regla general)
La carpeta Cmdcons de la Consola de Recuperación y sus subcarpetas (solo si hemos instalado la Consola de Recuperación como opción en el menú de inicio)
Loas archivos y carpetas que se encuentran en discos extraíbles (CD, ZIP,disquetes)

REPARAR ARCHIVOS DE ARRANQUE DAÑADOS

Archivo boot.ini esta dañado o no aparece,desde la Consola de Recuperación, escribimos:
bootcfg/scan para ver las instalaciones de XP disponibles en todos los discos
bootcfg/rebuild para reemplazar automáticamente el archivo boot.ini existente
bootcfg/add para añadir una instalación de XP a boot.ini sin cambiar las entradas existentes.
Archivos críticos del sistema están dañados o no están:
Podemos restaurar los archivos Ntldr, Ntoskrnl.exe, Ntdetect.com y controladores en función de su ubicación, si el archivo esta en el CD de XP, podemos usar el comando copy especificando origen y destino.
Windows abre automáticamente los archivos comprimidos, en el caso que estos se encuentren en un archivo *.cab, deberemos utilizar el comando expand.
Otro sistema ha reemplazado el código del sector de arranque:
Escribiremos: Fixboot
Para rescribir el código del sector de arranque, deberemos reiniciar el sistema.

ACTIVAR-DESACTIVAR SERVICIO Y CONTROLADORES
Debemos saber que no todos los servicios de XP pertenecen al sistema, algunos de ellos son instalados por terceros, por ejemplo, Nvidia, así como los controladores.
Algunas veces estos servicios y controladores de terceros, no están escritos o programados de manera eficiente y causan problemas en XP generando reinicios o paradas del sistema incluso entrando al mismo en ?modo seguro?.
Con la Consola de Recuperación, podremos por ejemplo desactivar un servicio si sospechamos que es el causante del problema y no podemos acceder al sistema en ?modo seguro?.
Listsvc Con este comando, podemos ver una lista de los servicios y controladores del sistema y su estado actual
Disable Con este comando, seguido del nombre del controlador o servicio, podremos detenerlo. Este comando define el tipo de inicio del servicio como service_disabled,así que antes de hacerlo, deberemos consultar el valor del tipo de inicio actual del servicio a deshabilitar: service_boot_start, service_system_start,service_auto_start o service_demand_start y tomar nota del mismo para el caso de volverlo a activar.
Enable Con este comando, seguido del nombre del servicio o controlador mas el valor del tipo de inicio que anotamos al deshabilitarlo, podremos volver a activar el servicio o controlador deshabilitado, una vez comprobado que no es el causante de nuestro problema.

COMANDOS DE LA CONSOLA DE RECUPERACIÓN

Attrib
Cambia los atributos de archivo de un único archivo o directorio. Este comando establece o quita los atributos de sólo lectura, sistema, oculto y comprimido asignados a los archivos o a los directorios.
El comando attrib con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando attrib con distintos parámetros está disponible desde el símbolo del sistema.
attrib [+r|-r] [+s|-s] [+h|-h] [+c|-c] [[unidad:][rutaDeAcceso] nombreDeArchivo]

Parámetros
+r Establece el atributo de archivo de sólo lectura.
-r Quita el atributo de archivo de sólo lectura.
+s Establece el atributo de archivo del sistema.
-s Quita el atributo de archivo del sistema.
+h Establece el atributo de archivo oculto.
-h Quita el atributo de archivo oculto.
+c Establece el atributo de archivo comprimido.
-c Quita el atributo de archivo comprimido.
[[unidad:][rutaDeAcceso] nombreDeArchivo]
Especifica la ubicación y el nombre del archivo o el directorio que desea procesar. Puede cambiar los atributos para sólo un archivo o un directorio cada vez.

Nota
- Puede cambiar varios atributos para un archivo o un directorio determinados con un único comando.


Batch
Ejecuta los comandos especificados en un archivo de texto. El comando batch sólo está disponible cuando se utiliza la Consola de Recuperacion, que se puede iniciar desde el CD de instalación.
batch archivoDeEntrada [archivoDeSalida]

Parámetros
archivoDeEntrada
Especifica el archivo de texto que contiene la lista de comandos que se van a ejecutar. archivoDeEntrada puede constar de una letra de unidad seguida de un signo de dos puntos, un nombre de directorio, un nombre de archivo o una combinación de ellos.
archivoDeSalida
Si se especifica alguno, almacena el resultado de los comandos en el archivo citado. Si no se especifica este parámetro, el resultado se presentará en la pantalla.
Ejemplo
El ejemplo siguiente ejecuta el archivo de proceso por lotes C:TrabajosBuscar.txt y almacena el resultado en el archivo C:TrabajosResultados.txt:
batch c: trabajosbuscar.txtc: trabajos resultados.txt

Nota
· Un archivo por lotes no puede contener un comando batch anidado.


Bootcfg
Utilice el comando bootcfg para la configuración y recuperación de inicio (boot.ini en la mayoría de los equipos).
El comando bootcfg con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando bootcfg con distintos parámetros está disponible desde el símbolo del sistema.

Uso:
bootcfg /default
Establece la entrada de inicio predeterminada.
bootcfg /add
Agrega una instalación de Windows a la lista de inicio.
bootcfg /rebuild
Se repite en todas las instalaciones de Windows y permite al usuario elegir qué elementos agregará.

Nota
- Antes de utilizar bootcfg /rebuild debe haber hecho previamente una copia de seguridad del archivo boot.ini mediante bootcfg /copy.
bootcfg /scan
Analiza todos los discos para encontrar instalaciones de Windows y muestra los resultados.

Nota
- Estos resultados se almacenan estáticamente durante la sesión actual. Si la configuración del disco cambia durante esta sesión, deberá reiniciar el equipo y volver a examinar los discos para poder obtener un recorrido actualizado.
bootcfg /list
Enumera las entradas ya incluidas en la lista de inicio.
bootcfg /disableredirect
Deshabilita la redirección en el cargador de inicio.
bootcfg /redirect [velocidadBaudiosPuerto] | [utilizarConfiguraciónBios]
Habilita la redirección en el cargador de inicio con la configuración especificada.
Ejemplo:
bootcfg /redirect com1 115200
bootcfg /redirect useBiosSettings


Chdir (Cd)
Muestra el nombre del directorio actual o cambia la carpeta actual.
El comando chdir o cd con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando chdir con distintos parámetros está disponible desde el símbolo del sistema.
chdir [unidad:][rutaDeAcceso] [..]
o bien
cd [unidad:][rutaDeAcceso] [..]

Parámetros
ninguno
Si utiliza el comando chdir sin parámetros, muestra el nombre de la carpeta y la unidad actuales. Si lo utiliza solamente con una letra de unidad (por ejemplo, cd C:), chdir muestra el directorio actual de la unidad especificada.
[unidad:][rutaDeAcceso]
Especifica la unidad (si es distinta de la unidad actual) y el directorio a los que desea cambiar.
[..]
Especifica que desea cambiar a la carpeta principal. Utilice un espacio en blanco entre chdir y el signo de dos puntos.

Notas
· Chdir trata los espacios como delimitadores. Utilice comillas alrededor de un nombre de directorio que contenga espacios en blanco. Por ejemplo:
cd "caché de controladores"
· Chdir funciona únicamente dentro de los directorios del sistema de la instalación actual de Windows, en los medios extraíbles, en el directorio raíz de cualquier partición de disco duro o en los orígenes de la instalación local.


Chkdsk
Crea y muestra un informe de estado del disco duro. El comando chkdsk también enumera y corrige los errores del disco.
El comando chkdsk con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando chkdsk con distintos parámetros está disponible desde el símbolo del sistema.
chkdsk [unidad:] [/p] [/r]

Parámetros
ninguno
Si se utiliza sin parámetros, chkdsk muestra el estado del disco de la unidad actual.
unidad:
Especifica la unidad que se desea comprobar mediante chkdsk.
/p
Realiza una comprobación exhaustiva aunque la unidad no esté marcada para que se ejecute chkdsk. Este parámetro no realiza cambios en la unidad.
/r
Encuentra los sectores defectuosos y recupera la información que sea legible. Implica /p.

Nota
· El comando chkdsk requiere el archivo Autochk.exe. Si no lo puede encontrar en el directorio de inicio (\%systemroot%System32, de forma predeterminada), lo buscará en el CD de instalación de Windows. Si dispone de un equipo de inicio múltiple, asegúrese de especificar este comando desde la unidad que contiene Windows.


Cls
Borra la pantalla.
La pantalla mostrará únicamente el símbolo del sistema y el punto de inserción.
cls

Parámetros
Ninguno


Copy
Copia un archivo a otra ubicación. El comando copy con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando copy con distintos parámetros está disponible desde el símbolo del sistema.
copy origen [destino]

Parámetros
origen
Especifica el nombre y la ubicación del archivo que se va a copiar. Origen puede constar de una letra de unidad y un signo de dos puntos, un nombre de directorio, un nombre de archivo o una combinación de ellos.
destino
Especifica la ubicación y el nombre del archivo o el conjunto de archivos donde se colocará la copia. Destino puede constar de una letra de unidad y un signo de dos puntos, un nombre de carpeta, un nombre de archivo o una combinación de ellos.

Notas
· El origen puede ser medios extraíbles, cualquier directorio contenido en los directorios del sistema de la instalación actual de Windows, el directorio raíz de cualquier unidad, los orígenes de instalación local o el directorio Cmdcons.
· El destino puede ser cualquiera de las mismas ubicaciones que el origen, salvo los medios extraíbles. Si no se especifica un destino, la copia se realizará de forma predeterminada en el directorio actual.
· Los archivos comprimidos del CD de instalación de Windows se descomprimen a medida que se copian.
· Copy no acepta caracteres comodín.


Delete (Del)
Elimina un archivo. El comando delete o del con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando delete o del con distintos parámetros está disponible desde el símbolo del sistema.
delete [unidad:][rutaDeAcceso] nombreDeArchivo
o bien
del [unidad:][rutaDeAcceso] nombreDeArchivo

Parámetros
[unidad:][rutaDeAcceso] nombreDeArchivo
Especifica la ubicación y el nombre del archivo que desea eliminar.
Nota
· Delete funciona únicamente dentro de los directorios del sistema de la instalación actual de Windows, en los medios extraíbles, en el directorio raíz de cualquier partición de disco duro o en los orígenes de la instalación local.


Dir
Muestra una lista de los archivos y subdirectorios de un directorio. El comando dir con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando dir con distintos parámetros está disponible desde el símbolo del sistema.
dir [unidad:][rutaDeAcceso][nombreDeArchivo]

Parámetros
[unidad:][rutaDeAcceso]
Especifica la unidad y el directorio cuya lista desea ver.
[nombreDeArchivo]
Especifica el archivo o el grupo de archivos cuya lista desea ver. Pueden utilizarse varios nombres de archivo. Los nombres de archivo pueden separarse mediante espacios en blanco, comas o signos de punto y coma. Puede utilizar caracteres comodín (? y *) con el parámetro nombreDeArchivo para mostrar un grupo de archivos.
Dir también muestra la etiqueta de volumen y el número de serie del disco, así como el número total de archivos enumerados, su tamaño acumulado y el espacio libre (en bytes) que queda en el disco. Para cada archivo y subdirectorio, dir muestra la extensión del nombre de archivo, el tamaño en bytes del archivo, la fecha y la hora en que se modificó por última vez el archivo y los siguientes atributos, si procede:
Abreviatura Atributo
d Directorio
h Archivo oculto
s Archivo del sistema
e Cifrado
r Sólo lectura
a Archivos listos para archivar
c Comprimidos
p Punto de análisis repetido

Nota
· Dir funciona únicamente dentro de los directorios del sistema de la instalación actual de Windows, en los medios extraíbles, en el directorio raíz de cualquier partición de disco duro y en los orígenes de la instalación local.


Disable
Deshabilita un servicio o un controlador de dispositivo del sistema de Windows XP, Windows 2000 o Windows NT 4.0. El comando disable sólo está disponible cuando se utiliza la Consola de recuperación.
disable {nombreDeServicio] | [nombreDeControladorDeDispositivo}

Parámetros
nombreDeServicio
El nombre del servicio del sistema que desea deshabilitar.
nombreDeControladorDeDispositivo
El nombre del controlador de dispositivo que desea deshabilitar.
Ejemplo
El siguiente ejemplo deshabilita el servicio Registro de sucesos:
disable eventlog

Notas
- El comando disable establece el tipo de inicio como SERVICE_DISABLED para el servicio o el controlador que especifique.
- Cuando utilice el comando disable para deshabilitar un servicio del sistema o un controlador de dispositivo, el nombre del tipo de inicio anterior correspondiente al servicio del sistema o al controlador de dispositivo aparecerá en la pantalla. Debe anotar este nombre por si tiene que restaurar el tipo de inicio a su configuración anterior mediante el comando enable.
- Hay cinco tipos de inicio: Los tres primeros, SERVICE_AUTO_START, SERVICE_DISABLED y SERVICE_DEMAND_START, corresponden a los tipos de inicio estándar (Automático, Deshabilitado y Manual) que suele configurar mediante Servicios en la herramienta administrativa Administración de equipos. Los dos últimos, SERVICE_BOOT_START y SERVICE_SYSTEM_START, se utilizan normalmente para configurar el modo en que se cargan los controladores de dispositivo; por ejemplo, cuando se inicia el equipo o cuando se inicia Windows.


Diskpart
Crea y elimina particiones de discos duros. El comando diskpart sólo está disponible cuando se utiliza la Consola de recuperación.
diskpart [/add | /delete] [nombreDeDispositivo | nombreDeUnidad | nombreDePartición] [tamaño]

Parámetros
ninguno
Si se utiliza sin parámetros, el comando diskpart inicia la versión en modo de caracteres de Windows de diskpart.
/add
Crea una partición nueva.
/delete
Elimina una partición existente.
nombreDeDispositivo
El dispositivo en el que desea crear o eliminar una partición. El nombre se puede obtener del resultado del comando map. He aquí un ejemplo de un nombre de dispositivo:
DeviceHardDisk0
nombreDeUnidad
La partición que desea eliminar, por letra de unidad. Sólo se utiliza con /delete. A continuación se muestra un ejemplo de nombre de unidad:
D:
nombreDePartición
La partición que desea eliminar, por nombre de partición. Se puede utilizar en lugar de nombreUnidad. Sólo se utiliza con /delete. He aquí un ejemplo de nombre de partición:
DeviceHardDisk0Partition1
tamaño
El tamaño, en megabytes (MB), de la partición que desea crear. Sólo se utiliza con /add.
Ejemplos
Los siguientes ejemplos eliminan una partición:
diskpart /delete DeviceHardDisk0Partition3
diskpart /delete F:
El siguiente ejemplo agrega una partición de 20 MB al disco duro:
diskpart /add DeviceHardDisk0 20


Enable
Habilita o inicia un servicio un controlador de dispositivo del sistema de Windows XP, Windows 2000 o Windows NT 4.0. El comando enable sólo está disponible cuando se utiliza la Consola de recuperación.
enable {nombreDeServicio | nombreDeControladorDeDispositivo} [tipoDeInicio]

Parámetros
nombreDeServicio
El nombre del servicio del sistema que desea habilitar.
nombreDeControladorDeDispositivo
El nombre del controlador de dispositivo que desea habilitar.
tipoDeInicio
El tipo de inicio que desea designar para el servicio o el controlador de dispositivo. Entre los tipos de inicio válidos se incluyen:
· SERVICE_BOOT_START
· SERVICE_SYSTEM_START
· SERVICE_AUTO_START
· SERVICE_DEMAND_START
Ejemplo
El siguiente ejemplo establece el tipo de inicio para el servicio Registro de sucesos como Automático o SERVICE_AUTO_START:
enable eventlog service_auto_start

Notas
· Si no designa un tipo de inicio, el comando enable muestra el tipo de inicio actual para el servicio o el controlador de dispositivo que especificó en nombreDeServicio.
· Cuando utilice el comando enable para cambiar un tipo de inicio, el nombre del tipo de inicio anterior aparecerá en la pantalla. Debe anotar este nombre por si tiene que restaurar el tipo de inicio a su configuración anterior.


Exit
Cierra la Consola de recuperación y reinicia el equipo. El comando exit está disponible cuando utiliza la Consola de recuperación.
exit

Parámetros
ninguno


Expand
Extrae un archivo de un archivo comprimido. Utilice este comando para extraer un archivo de controlador de un archivo contenedor (.cab) o un archivo comprimido.
El comando expand con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando expand con distintos parámetros está disponible desde el símbolo del sistema.
expand origen [/F:especificaciónDeArchivo}] [destino] [/d] [/y]

Parámetros
origen
Especifica el archivo que se va a expandir. Utilice este atributo si el archivo de origen sólo contiene un archivo. Origen puede constar de una letra de unidad y un signo de dos puntos, un nombre de directorio, un nombre de archivo o una combinación de ellos. No puede utilizar caracteres comodín.
/f:especificaciónDeArchivo
Si el origen contiene más de un archivo, especifica el nombre del archivo que desea extraer. Puede utilizar caracteres comodín para los archivos que desea extraer.
destino
Especifica el directorio de destino y el nombre de archivo para el archivo extraído, o cada uno por separado.
/d
Muestra una lista de los archivos incluidos en el archivo contenedor sin expandirlo y sin extraer dichos archivos del mismo.
/y
Suprime la pregunta de si desea sobrescribir archivos cuando expande o extrae archivos.
Ejemplos
El siguiente ejemplo extrae el archivo Msgame.sys del archivo contenedor Drivers de un CD de instalación y lo copia a C:WindowsSystemDrivers:
expand d:i386driver.cab /f:msgame.sys c:Windowssystemdrivers
El siguiente ejemplo expande el archivo comprimido Access.cp_:
expand d:i386acces.cp_ c:Windowssystem32access.cpl
El siguiente ejemplo enumera todos los archivos incluidos en el archivo contenedor Drivers del CD de instalación:
expand /d d:i386driver.cab

Importante
· El archivo contenedor Driver, que alberga la mayoría de los controladores suministrados por Windows, incluye miles de archivos. El proceso de expansión de todos los archivos desde este archivo contenedor al disco duro tardará algunos minutos y ocupará mucho espacio en disco. Se recomienda que de este archivo sólo extraiga el archivo que necesite.

Notas
· Si no se ha especificado el destino, el archivo se copiará al directorio actual.
· No puede especificar como destino un medio extraíble, por ejemplo una unidad de disco o un CD-ROM.


Fixboot
Escribe un nuevo sector de inicio de partición en la partición del sistema. El comando fixboot sólo está disponible cuando se utiliza la Consola de recuperación.
fixboot [unidad]

Parámetro
unidad
La unidad en la que se escribirá un sector de inicio. Reemplaza la unidad predeterminada, que es la partición del sistema en la que ha iniciado la sesión. A continuación se muestra un ejemplo de unidad:
D:
Ejemplo
El siguiente ejemplo escribe un nuevo sector de inicio de partición en la partición del sistema de la unidad D:
fixboot d:

Nota
· Si utiliza el comando fixboot sin ningún parámetro, se escribirá un nuevo sector de inicio de partición en la partición del sistema en la que inició la sesión.


Fixmbr
Repara el registro de inicio maestro del disco de inicio. El comando fixmbr sólo está disponible cuando se utiliza la Consola de recuperacion.
fixmbr [nombreDeDispositivo]

Parámetro
nombreDeDispositivo
El dispositivo (unidad) en el que se desea escribir un nuevo registro de inicio maestro. El nombre se puede obtener del resultado del comando map. He aquí un ejemplo de un nombre de dispositivo:
DeviceHardDisk0.
Ejemplo
El siguiente ejemplo escribe un nuevo registro de inicio maestro en el dispositivo especificado:
fixmbr DeviceHardDisk0

Notas
- Si no especifica un nombreDeDispositivo, se escribirá un nuevo registro de inicio maestro en el dispositivo de inicio, que es la unidad en la que se carga el sistema principal.
- Si se detecta una firma de tabla de particiones no estándar o no válida, el sistema le preguntará si desea seguir. Si no tiene problemas de acceso a las unidades, no debe continuar. Si escribe un registro de inicio maestro en la partición del sistema, podría dañar la tablas de particiones e imposibilitar el acceso a las particiones.


Format
Formatea la unidad especificada con el sistema de archivos especificado. El comando format con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando format con distintos parámetros está disponible desde el símbolo del sistema.
format [unidad:] [/q] [/fs:sistemaDeArchivos]

Parámetros
unidad:
Especifica la unidad que desea formatear. No puede formatear un disquete desde la Consola de recuperación.
/q
Realiza un formateo rápido de la unidad. No se comprueba si existen zonas dañadas en la unidad, por lo que sólo debe utilizar este parámetro en aquellas unidades que haya formateado previamente.
/fs:sistemaDeArchivos
Especifica el sistema de archivos que se va a utilizar: FAT, FAT32 o NTFS. Si no especifica ningún sistema de archivos, se utilizará el formato del sistema de archivos existente.


Help
Proporciona información en pantalla acerca de los comandos de la Consola de recuperación.
help [nombreDeComando]

Parámetro
ninguno
Enumera los comandos disponibles en la Consola de recuperación.
nombreDeComando
Proporciona información acerca del comando, incluidos los parámetros que puede utilizar con el comando

Nota: Existen dos maneras de obtener Ayuda en pantalla acerca de un comando. Puede especificar el nombre del comando a continuación del comando help o puede escribir el nombre del comando seguido del modificador /? en el símbolo del sistema. Por ejemplo, puede escribir cualquiera de los comandos siguientes para obtener información acerca del comando extract:
help extract
extract /?

Listsvc
Enumera los servicios y los controladores disponibles en el equipo. El comando listsvc sólo está disponible cuando se utiliza la Consola de recuperación.
listsvc
Parámetros
Ninguno

Logon

Inicia una sesión en una instalación de Windows. El comando logon sólo está disponible cuando se utiliza la Consola de recuperación.
logon

Parámetros
ninguno

Notas
El comando logon enumerará todas las instalaciones detectadas de Windows y solicitará la contraseña del administrador local de dicha instalación para iniciar la sesión.
Después de tres intentos fallidos de inicio de sesión se cerrará la Consola de recuperación y se reiniciará el equipo.

Map
Muestra la asignación de letras de unidad a nombres de dispositivos físicos. Esta información es útil cuando ejecuta los comandos fixboot y fixmbr. El comando map sólo está disponible cuando se utiliza la Consola de recuperación.
Map [arc]

Parámetro
arc
Indica al comando map que muestre nombres de dispositivo Informática avanzada de RISC (ARC) en lugar de los nombres de dispositivo. A continuación se muestra un ejemplo de nombre de dispositivo ARC:
multi(0)disk(0)rdisk(0)partition(1)
El nombre de dispositivo equivalente es:
\Device\HardDisk0\Partition1
Ejemplo
El siguiente ejemplo asigna los nombres de dispositivo físico a las letras de unidad utilizando nombres de dispositivo ARC:
map arc

Notas
Si no utiliza el parámetro arc, el comando map muestra los nombres de dispositivo de Windows.
El comando map muestra también el tipo de sistema de archivos y el tamaño de cada disco en megabytes (MB).

Mkdir (Md)
Crea un directorio o un subdirectorio. El comando mkdir con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando mkdir con distintos parámetros está disponible desde el símbolo del sistema.
mkdir [unidad:]rutaDeAcceso
o bien
md [unidad:]rutaDeAcceso

Parámetros
unidad:
Especifica la unidad en la que desea crear el nuevo directorio.
rutaDeAcceso
Especifica el nombre y la ubicación del nuevo directorio. No puede utilizar caracteres comodín.

Nota
Mkdir funciona únicamente dentro de los directorios del sistema de la instalación actual de Windows, en los medios extraíbles, en el directorio raíz de cualquier partición de disco duro o en los orígenes de la instalación local.

More
Presenta el contenido de un archivo de texto. Utilice el comando more o type para examinar un archivo de texto sin modificarlo. El comando more con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando more con distintos parámetros está disponible desde el símbolo del sistema.
more [unidad:][rutaDeAcceso] nombreDeArchivo
o bien
type [unidad:][rutaDeAcceso] nombreDeArchivo

Parámetro
[unidad:][rutaDeAcceso] nombreDeArchivo
Especifica la ubicación y el nombre del archivo que desea examinar.
Si utiliza una unidad NTFS y el nombre de archivo contiene espacios en blanco, deberá escribir el nombre de archivo entre comillas (").

Net use
Conecta un recurso compartido de red a una letra de unidad. El comando net use con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando net use con distintos parámetros está disponible desde el símbolo del sistema.
Sintaxis
net use [\nombreDeEquipo\nombreDeRecursoCompartido [/user:[nombreDeDominio\] nombreDeUsuario] contraseña] | [letraDeUnidad:] [/d]

Parámetros
\nombreDeEquipo\nombreDeRecursoCompartido
Especifica el nombre del servidor y del recurso compartido. Si nombreDeEquipo contiene caracteres en blanco, escriba entre comillas el nombre completo del equipo, desde las dos barras diagonales inversas (\) hasta el final del nombre del equipo. El nombre de equipo puede tener entre 1 y 15 caracteres.
/user:
Especifica el nombre de usuario con el que se realiza la conexión.
nombreDeDominio
Nombre de dominio que debe utilizarse al validar las credenciales del usuario.
NombreDeUsuario
Especifica el nombre de usuario con el que se iniciará la sesión.
Contraseña
Especifica la contraseña necesaria para tener acceso al recurso compartido. Déjela en blanco para que se le pida la contraseña. Los caracteres de la contraseña no se muestran en la pantalla a medida que los escribe.
/d
Indica que esta conexión se va a desconectar.

Rename (Ren)
Cambia el nombre de un archivo. El comando rename con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando rename con distintos parámetros está disponible desde el símbolo del sistema.
rename [unidad:][rutaDeAcceso] nombreDeArchivo1 nombreDeArchivo2
o bien
ren [unidad:][rutaDeAcceso] nombreDeArchivo1 nombreDeArchivo2
Parámetros
[unidad:][rutaDeAcceso] nombreDeArchivo1
Especifica la ubicación y el nombre del archivo cuyo nombre desea cambiar. No puede utilizar caracteres comodín.
nombreDeArchivo2
Especifica el nuevo nombre del archivo. No es posible indicar una unidad o una ruta de acceso nueva cuando se cambia el nombre de archivos.

Rmdir (Rd)
Quita (elimina) un directorio. El comando rmdir con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando rmdir con distintos parámetros está disponible desde el símbolo del sistema.
rmdir [unidad:]rutaDeAcceso
o bien
rd [unidad:]rutaDeAcceso

Parámetros
[unidad:]rutaDeAcceso
Especifica la ubicación y el nombre del directorio que desea eliminar. No puede utilizar caracteres comodín.

Notas
El directorio debe estar vacío o el comando no se ejecutará correctamente.
Rmdir funciona únicamente dentro de los directorios del sistema de la instalación actual de Windows, en los medios extraíbles, en el directorio raíz de cualquier partición de disco duro o en los orígenes de la instalación local.

Set
Muestra y establece las variables de entorno de la Consola de recuperación. El comando set es un comando opcional que debe utilizarse con plantillas de seguridad.
El comando set con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando set con distintos parámetros está disponible desde el símbolo del sistema.
set [variable=[cadena]]

Parámetros
variable
Especifica la variable que desea establecer o modificar.
La Consola de recuperación admite las siguientes variables de entorno:
Variable Descripción
AllowWildCards Permite el uso de caracteres comodín con algunos comandos (como el comando del).
AllowAllPaths Permite el acceso a todos los archivos y directorios del sistema.
AllowRemovableMedia Permite copiar archivos a medios extraíbles, como un disco.
NoCopyPrompt No pregunta nada al sobrescribir un archivo existente.

cadena
Especifica la cadena que desea asociar a la variable especificada.
Ejemplos
El siguiente ejemplo le permite utilizar caracteres comodín con algunos comandos de la Consola de recuperación:
set allowwildcards=true
El siguiente ejemplo desactiva la pregunta cuando va a sobrescribir archivos:
set nocopyprompt=true

Notas
Cuando se utiliza sin parámetros, el comando set muestra las variables de entorno actuales.
El comando set está deshabilitado de forma predeterminada. Para habilitar el comando set, utilice las plantillas de seguridad. El atributo Habilitar el comando Set para la Consola de recuperación se encuentra en el árbol de la consola, bajo Directiva de equipo local/Configuración del equipo/Configuración de Windows/Configuración de seguridad/Directivas locales/Opciones de seguridad.
Todas las variables de entorno están establecidas de forma predeterminada como FALSE (Falso).

Systemroot
Establece el directorio actual en la carpeta raiz del sistema de la instalación de Windows en la que inició la sesión. El comando systemroot sólo está disponible cuando se utiliza la Consola de recuperación.
systemroot

Parámetros
Ninguno

Type
Presenta el contenido de un archivo de texto. Utilice el comando type o more para examinar un archivo de texto sin modificarlo. El comando type con los parámetros que se enumeran a continuación sólo está disponible cuando se utiliza la Consola de recuperación. El comando type con distintos parámetros está disponible desde el símbolo del sistema.
type [unidad:][rutaDeAcceso] nombreDeArchivo
o bien
more [unidad:][rutaDeAcceso] nombreDeArchivo

Parámetro
[unidad:][rutaDeAcceso] nombreDeArchivo
Especifica la ubicación y el nombre del archivo que desea examinar.
Si utiliza una unidad NTFS y el nombre de archivo contiene espacios en blanco, deberá escribir el nombre de archivo entre comillas

Fuente: http://www.trucoswindows.net/tutorial-1-TUTORIAL-Consola-de-recuperacion-en-XP.html

Cómo configurar Squid: Parámetros básicos para Servidor Intermediario (Proxy).

Introducción.

¿Qué es Servidor Intermediario (Proxy)?

El término en ingles «Proxy» tiene un significado muy general y al mismo tiempo ambiguo, aunque invariablemente se considera un sinónimo del concepto de «Intermediario». Se suele traducir, en el sentido estricto, como delegado o apoderado (el que tiene el que poder sobre otro).

Un Servidor Intermediario (Proxy) se define como una computadora o dispositivo que ofrece un servicio de red que consiste en permitir a los clientes realizar conexiones de red indirectas hacia otros servicios de red. Durante el proceso ocurre lo siguiente:

Cliente se conecta hacia un Servidor Intermediario (Proxy).
Cliente solicita una conexión, fichero u otro recurso disponible en un servidor distinto.
Servidor Intermediario (Proxy) proporciona el recurso ya sea conectándose hacia el servidor especificado o sirviendo éste desde un caché.
En algunos casos el Servidor Intermediario (Proxy) puede alterar la solicitud del cliente o bien la respuesta del servidor para diversos propósitos.

Los Servidores Intermediarios (Proxies) generalmente se hacen trabajar simultáneamente como muro cortafuegos operando en el Nivel de Red, actuando como filtro de paquetes, como en el caso de iptables, o bien operando en el Nivel de Aplicación, controlando diversos servicios, como es el caso de TCP Wrapper. Dependiendo del contexto, el muro cortafuegos también se conoce como BPD o Border Protection Device o simplemente filtro de paquetes.

Una aplicación común de los Servidores Intermediarios (Proxies) es funcionar como caché de contenido de Red (principalmente HTTP), proporcionando en la proximidad de los clientes un caché de páginas y ficheros disponibles a través de la Red en servidores HTTP remotos, permitiendo a los clientes de la red local acceder hacia éstos de forma más rápida y confiable.

Cuando se recibe una petición para un recurso de Red especificado en un URL (Uniform Resource Locator) el Servidor Intermediario busca el resultado del URL dentro del caché. Si éste es encontrado, el Servidor Intermediario responde al cliente proporcionado inmediatamente el contenido solicitado. Si el contenido solicitado no estuviera disponible en el caché, el Servidor Intermediario lo traerá desde servidor remoto, entregándolo al cliente que lo solicitó y guardando una copia en el caché. El contenido en el caché es eliminado luego a través de un algoritmo de expiración de acuerdo a la antigüedad, tamaño e historial de respuestas a solicitudes (hits) (ejemplos: LRU, LFUDA y GDSF).

Los Servidores Intermediarios para contenido de Red (Web Proxies) también pueden actuar como filtros del contenido servido, aplicando políticas de censura de acuerdo a criterios arbitrarios.

Acerca de Squid.

Squid es un Servidor Intermediario (Proxy) de alto desempeño que se ha venido desarrollando desde hace varios años y es hoy en día un muy popular y ampliamente utilizado entre los sistemas operativos como GNU/Linux y derivados de Unix®. Es muy confiable, robusto y versátil y se distribuye bajo los términos de la Licencia Pública General GNU (GNU/GPL). Siendo sustento lógico libre, está disponible el código fuente para quien así lo requiera.

Entre otras cosas, Squid puede funcionar como Servidor Intermediario (Proxy) y caché de contenido de Red para los protocolos HTTP, FTP, GOPHER y WAIS, Proxy de SSL, caché transparente, WWCP, aceleración HTTP, caché de consultas DNS y otras muchas más como filtración de contenido y control de acceso por IP y por usuario.

Squid consiste de un programa principal como servidor, un programa para búsqueda en servidores DNS, programas opcionales para reescribir solicitudes y realizar autenticación y algunas herramientas para administración y y herramientas para clientes. Al iniciar Squid da origen a un número configurable (5, de modo predefinido a través del parámetro dns_children) de procesos de búsqueda en servidores DNS, cada uno de los cuales realiza una búsqueda única en servidores DNS, reduciendo la cantidad de tiempo de espera para las búsquedas en servidores DNS.

NOTA ESPECIAL: Squid no debe ser utilizado como Servidor Intermediario (Proxy) para protocolos como SMTP, POP3, TELNET, SSH, IRC, etc. Si se requiere intermediar para cualquier protocolo distinto a HTTP, HTTPS, FTP, GOPHER y WAIS se requerirá implementar obligatoriamente un enmascaramiento de IP o NAT (Network Address Translation) o bien hacer uso de un servidor SOCKS como Dante (http://www.inet.no/dante/).

URL: http://www.squid-cache.org/

Algoritmos de caché utilizados por Squid.

A través de un parámetro (cache_replacement_policy) Squid incluye soporte para los siguientes algoritmos para el caché:

LRU Acrónimo de Least Recently Used, que traduce como Menos Recientemente Utilizado. En este algoritmo los objetos que no han sido accedidos en mucho tiempo son eliminados primero, manteniendo siempre en el caché a los objetos más recientemente solicitados. Ésta política es la utilizada por Squid de modo predefinido.


LFUDA Acrónimo de Least Frequently Used with Dynamic Aging, que se traduce como Menos Frecuentemente Utilizado con Envejecimiento Dinámico. En este algoritmo los objetos más solicitados permanecen en el caché sin importar su tamaño optimizando la eficiencia (hit rate) por octetos (Bytes) a expensas de la eficiencia misma, de modo que un objeto grande que se solicite con mayor frecuencia impedirá que se pueda hacer caché de objetos pequeños que se soliciten con menor frecuencia.


GDSF Acrónimo de GreedyDual Size Frequency, que se traduce como Frecuencia de tamaño GreedyDual (codicioso dual), que es el algoritmo sobre el cual se basa GDSF. Optimiza la eficiencia (hit rate) por objeto manteniendo en el caché los objetos pequeños más frecuentemente solicitados de modo que hay mejores posibilidades de lograr respuesta a una solicitud (hit). Tiene una eficiencia por octetos (Bytes) menor que el algoritmo LFUDA debido a que descarta del caché objetos grandes que sean solicitado con frecuencia.

Sustento lógico necesario.

Para poder llevar al cabo los procedimientos descritos en este manual y documentos relacionados, usted necesitará tener instalado al menos lo siguiente:

Al menos squid-2.5.STABLE6
httpd-2.0.x (Apache), como auxiliar de caché con aceleración.
Todos los parches de seguridad disponibles para la versión del sistema operativo que esté utilizando. No es conveniente utilizar un sistema con posibles vulnerabilidades como Servidor Intermediario.

Debe tomarse en consideración que, de ser posible, se debe utilizar siempre las versiones estables más recientes de todo sustento lógico que vaya a ser instalado para realizar los procedimientos descritos en este manual, a fin de contar con los parches de seguridad necesarios. Ninguna versión de Squid anterior a la 2.5.STABLE6 se considera como apropiada debido a fallas de seguridad de gran importancia.

Squid no se instala de manera predeterminada a menos que especifique lo contrario durante la instalación del sistema operativo, sin embargo viene incluido en casi todas las distribuciones actuales. El procedimiento de instalación es exactamente el mismo que con cualquier otro sustento lógico.

Instalación a través de yum.

Si cuenta con un sistema con CentOS o White Box Enterprise Linux 3 o versiones posteriores, utilice lo siguiente y se instalará todo lo necesario junto con sus dependencias:

yum -y install squid httpd

Instalación a través de up2date.

Si cuenta con un sistema con Red Hat™ Enterprise Linux 3 o versiones posteriores, utilice lo siguiente y se instalará todo lo necesario junto con sus dependencias:

up2date -i squid httpd

Otros componentes necesarios.

El mandato iptables se utilizará para generar las reglas necesarias para el guión de Enmascaramiento de IP. Se instala de modo predefinido en todas las distribuciones actuales que utilicen núcleo (kernel) versiones 2.4 y 2.6.

Es importante tener actualizado el núcleo del sistema operativo por diversas cuestiones de seguridad. No es recomendable utilizar versiones del kernel anteriores a la 2.4.21. Actualice el núcleo a la versión más reciente disponible para su distribución.

Si cuenta con un sistema con CentOS o White Box Enterprise Linux 3 o versiones posteriores, utilice lo siguiente para actualizar el núcleo del sistema operativo e iptables, si acaso fuera necesario:

yum -y update kernel iptables

Si cuenta con un sistema con Red Hat™ Enterprise Linux 3 o versiones posteriores, utilice lo siguiente para actualizar el núcleo del sistema operativo, e iptables si acaso fuera necesario:

up2date -u kernel iptables

Antes de continuar.

Tenga en cuenta que este manual ha sido comprobado varias veces y ha funcionado en todos los casos y si algo no funciona solo significa que usted no lo leyó a detalle y no siguió correctamente las indicaciones.

Evite dejar espacios vacíos en lugares indebidos. El siguiente es un ejemplo de como no se debe habilitar un parámetro.

Mal

# Opción incorrectamente habilitada
http_port 3128

El siguiente es un ejemplo de como si se debe habilitar un parámetro.

Bien

# Opción correctamente habilitada
http_port 3128

Configuración básica.

Squid utiliza el fichero de configuración localizado en /etc/squid/squid.conf, y podrá trabajar sobre este utilizando su editor de texto simple preferido. Existen un gran número de parámetros, de los cuales recomendamos configurar los siguientes:

http_port
cache_dir
Al menos una Lista de Control de Acceso
Al menos una Regla de Control de Acceso
httpd_accel_host
httpd_accel_port
httpd_accel_with_proxy

Parámetro http_port: ¿Que puerto utilizar para Squid?

De acuerdo a las asignaciones hechas por IANA y continuadas por la ICANN desde el 21 de marzo de 2001, los Puertos Registrados (rango desde 1024 hasta 49151) recomendados para Servidores Intermediarios (Proxies) pueden ser el 3128 y 8080 a través de TCP.

De modo predefinido Squid utilizará el puerto 3128 para atender peticiones, sin embargo se puede especificar que lo haga en cualquier otro puerto disponible o bien que lo haga en varios puertos disponibles a la vez.

En el caso de un Servidor Intermediario (Proxy) Transparente, regularmente se utilizará el puerto 80 o el 8000 y se valdrá del re-direccionamiento de peticiones de modo tal que no habrá necesidad alguna de modificar la configuración de los clientes HTTP para utilizar el Servidor Intermediario (Proxy). Bastará con utilizar como puerta de enlace al servidor. Es importante recordar que los Servidores HTTP, como Apache, también utilizan dicho puerto, por lo que será necesario volver a configurar el servidor HTTP para utilizar otro puerto disponible, o bien desinstalar o desactivar el servidor HTTP.

Hoy en día puede no ser del todo práctico el utilizar un Servidor Intermediario (Proxy) Transparente, a menos que se trate de un servicio de Café Internet u oficina pequeña, siendo que uno de los principales problemas con los que lidian los administradores es el mal uso y/o abuso del acceso a Internet por parte del personal. Es por esto que puede resultar más conveniente configurar un Servidor Intermediario (Proxy) con restricciones por clave de acceso, lo cual no puede hacerse con un Servidor Intermediario (Proxy) Transparente, debido a que se requiere un diálogo de nombre de usuario y clave de acceso.

Regularmente algunos programas utilizados comúnmente por los usuarios suelen traer de modo predefinido el puerto 8080 (servicio de cacheo WWW) para utilizarse al configurar que Servidor Intermediario (Proxy) utilizar. Si queremos aprovechar esto en nuestro favor y ahorrarnos el tener que dar explicaciones innecesarias al usuario, podemos especificar que Squid escuche peticiones en dicho puerto también. Siendo así localice la sección de definición de http_port, y especifique:

#
# You may specify multiple socket addresses on multiple lines.
#
# Default: http_port 3128
http_port 3128
http_port 8080

Si desea incrementar la seguridad, puede vincularse el servicio a una IP que solo se pueda acceder desde la red local. Considerando que el servidor utilizado posee una IP 192.168.1.254, puede hacerse lo siguiente:

#
# You may specify multiple socket addresses on multiple lines.
#
# Default: http_port 3128
http_port 192.168.1.254:3128
http_port 192.168.1.254:8080

Parámetro cache_mem.

El parámetro cache_mem establece la cantidad ideal de memoria para lo siguiente:

Objetos en tránsito.
Objetos frecuentemente utilizados (Hot).
Objetos negativamente almacenados en el caché.

Los datos de estos objetos se almacenan en bloques de 4 Kb. El parámetro cache_mem especifica un límite máximo en el tamaño total de bloques acomodados, donde los objetos en tránsito tienen mayor prioridad. Sin embargo los objetos Hot y aquellos negativamente almacenados en el caché podrán utilizar la memoria no utilizada hasta que esta sea requerida. De ser necesario, si un objeto en tránsito es mayor a la cantidad de memoria especificada, Squid excederá lo que sea necesario para satisfacer la petición.

De modo predefinido se establecen 8 MB. Puede especificarse una cantidad mayor si así se considera necesario, dependiendo esto de los hábitos de los usuarios o necesidades establecidas por el administrador.

Si se posee un servidor con al menos 128 MB de RAM, establezca 16 MB como valor para este parámetro:

cache_mem 16 MB

Parámetro cache_dir: ¿Cuanto desea almacenar de Internet en el disco duro?

Este parámetro se utiliza para establecer que tamaño se desea que tenga el caché en el disco duro para Squid. Para entender esto un poco mejor, responda a esta pregunta: ¿Cuanto desea almacenar de Internet en el disco duro? De modo predefinido Squid utilizará un caché de 100 MB, de modo tal que encontrará la siguiente línea:

cache_dir ufs /var/spool/squid 100 16 256

Se puede incrementar el tamaño del caché hasta donde lo desee el administrador. Mientras más grande sea el caché, más objetos se almacenarán en éste y por lo tanto se utilizará menos el ancho de banda. La siguiente línea establece un caché de 700 MB:

cache_dir ufs /var/spool/squid 700 16 256

Los números 16 y 256 significan que el directorio del caché contendrá 16 directorios subordinados con 256 niveles cada uno. No modifique esto números, no hay necesidad de hacerlo.

Es muy importante considerar que si se especifica un determinado tamaño de caché y éste excede al espacio real disponible en el disco duro, Squid se bloqueará inevitablemente. Sea cauteloso con el tamaño de caché especificado.

Parámetro ftp_user.

Al acceder a un servidor FTP de manera anónima, de modo predefinido Squid enviará como clave de acceso Squid@. Si se desea que el acceso anónimo a los servidores FTP sea más informativo, o bien si se desea acceder a servidores FTP que validan la autenticidad de la dirección de correo especificada como clave de acceso, puede especificarse la dirección de correo electrónico que uno considere pertinente.

ftp_user proxy@su-dominio.net

Controles de acceso.

Es necesario establecer Listas de Control de Acceso que definan una red o bien ciertas máquinas en particular. A cada lista se le asignará una Regla de Control de Acceso que permitirá o denegará el acceso a Squid. Procedamos a entender como definir unas y otras.

Listas de control de acceso.

Regularmente una lista de control de acceso se establece con la siguiente sintaxis:

acl [nombre de la lista] src [lo que compone a la lista]

Si se desea establecer una lista de control de acceso que abarque a toda la red local, basta definir la IP correspondiente a la red y la máscara de la sub-red. Por ejemplo, si se tiene una red donde las máquinas tienen direcciones IP 192.168.1.n con máscara de sub-red 255.255.255.0, podemos utilizar lo siguiente:

acl miredlocal src 192.168.1.0/255.255.255.0

También puede definirse una Lista de Control de Acceso especificando un fichero localizado en cualquier parte del disco duro, y la cual contiene una lista de direcciones IP. Ejemplo:

acl permitidos src "/etc/squid/permitidos"

El fichero /etc/squid/permitidos contendría algo como siguiente:

192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.15
192.168.1.16
192.168.1.20
192.168.1.40

Lo anterior estaría definiendo que la Lista de Control de Acceso denominada permitidos estaría compuesta por las direcciones IP incluidas en el fichero /etc/squid/permitidos.

Reglas de Control de Acceso.

Estas definen si se permite o no el acceso hacia Squid. Se aplican a las Listas de Control de Acceso. Deben colocarse en la sección de reglas de control de acceso definidas por el administrador, es decir, a partir de donde se localiza la siguiente leyenda:

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

La sintaxis básica es la siguiente:

http_access [deny o allow] [lista de control de acceso]

En el siguiente ejemplo consideramos una regla que establece acceso permitido a Squid a la Lista de Control de Acceso denominada permitidos:

http_access allow permitidos

También pueden definirse reglas valiéndose de la expresión !, la cual significa no. Pueden definirse, por ejemplo, dos listas de control de acceso, una denominada lista1 y otra denominada lista2, en la misma regla de control de acceso, en donde se asigna una expresión a una de estas. La siguiente establece que se permite el acceso a Squid a lo que comprenda lista1 excepto aquello que comprenda lista2:

http_access allow lista1 !lista2

Este tipo de reglas son útiles cuando se tiene un gran grupo de IP dentro de un rango de red al que se debe permitir acceso, y otro grupo dentro de la misma red al que se debe denegar el acceso.

Aplicando Listas y Reglas de control de acceso.

Una vez comprendido el funcionamiento de la Listas y las Regla de Control de Acceso, procederemos a determinar cuales utilizar para nuestra configuración.

Caso 1.

Considerando como ejemplo que se dispone de una red 192.168.1.0/255.255.255.0, si se desea definir toda la red local, utilizaremos la siguiente línea en la sección de Listas de Control de Acceso:

acl todalared src 192.168.1.0/255.255.255.0

Habiendo hecho lo anterior, la sección de listas de control de acceso debe quedar más o menos del siguiente modo:

Listas de Control de Acceso: definición de una red local completa

#
# Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl todalared src 192.168.1.0/255.255.255.0

A continuación procedemos a aplicar la regla de control de acceso:

http_access allow todalared

Habiendo hecho lo anterior, la zona de reglas de control de acceso debería quedar más o menos de este modo:

Reglas de control de acceso: Acceso a una Lista de Control de Acceso.

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
http_access allow localhost
http_access allow todalared
http_access deny all

La regla http_access allow todalared permite el acceso a Squid a la Lista de Control de Acceso denominada todalared, la cual está conformada por 192.168.1.0/255.255.255.0. Esto significa que cualquier máquina desde 192.168.1.1 hasta 192.168.1.254 podrá acceder a Squid.

Caso 2.

Si solo se desea permitir el acceso a Squid a ciertas direcciones IP de la red local, deberemos crear un fichero que contenga dicha lista. Genere el fichero /etc/squid/listas/redlocal, dentro del cual se incluirán solo aquellas direcciones IP que desea confirmen la Lista de Control de acceso. Ejemplo:

192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.15
192.168.1.16
192.168.1.20
192.168.1.40

Denominaremos a esta lista de control de acceso como redlocal:

acl redlocal src "/etc/squid/listas/redlocal"

Habiendo hecho lo anterior, la sección de listas de control de acceso debe quedar más o menos del siguiente modo:

Listas de Control de Acceso: definición de una red local completa

#
# Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl redlocal src "/etc/squid/listas/redlocal"

A continuación procedemos a aplicar la regla de control de acceso:

http_access allow redlocal

Habiendo hecho lo anterior, la zona de reglas de control de acceso debería quedar más o menos de este modo:

Reglas de control de acceso: Acceso a una Lista de Control de Acceso.

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
http_access allow localhost
http_access allow redlocal
http_access deny all

La regla http_access allow redlocal permite el acceso a Squid a la Lista de Control de Acceso denominada redlocal, la cual está conformada por las direcciones IP especificadas en el fichero /etc/squid/listas/redlocal. Esto significa que cualquier máquina no incluida en /etc/squid/listas/redlocal no tendrá acceso a Squid.

Parámetro chache_mgr.

De modo predefinido, si algo ocurre con el caché, como por ejemplo que muera el procesos, se enviará un mensaje de aviso a la cuenta webmaster del servidor. Puede especificarse una distinta si acaso se considera conveniente.

cache_mgr joseperez@midominio.net

Parámetro cache_peer: caches padres y hermanos.

El parámetro cache_peer se utiliza para especificar otros Servidores Intermediarios (Proxies) con caché en una jerarquía como padres o como hermanos. Es decir, definir si hay un Servidor Intermediario (Proxy) adelante o en paralelo. La sintaxis básica es la siguiente:

cache_peer servidor tipo http_port icp_port opciones

Ejemplo: Si su caché va a estar trabajando detrás de otro servidor cache, es decir un caché padre, y considerando que el caché padre tiene una IP 192.168.1.1, escuchando peticiones HTTP en el puerto 8080 y peticiones ICP en puerto 3130 (puerto utilizado de modo predefinido por Squid) ,especificando que no se almacenen en caché los objetos que ya están presentes en el caché del Servidor Intermediario (Proxy) padre, utilice la siguiente línea:

cache_peer 192.168.1.1 parent 8080 3130 proxy-only

Cuando se trabaja en redes muy grandes donde existen varios Servidores Intermediarios (Proxy) haciendo caché de contenido de Internet, es una buena idea hacer trabajar todos los caché entre si. Configurar caches vecinos como sibling (hermanos) tiene como beneficio el que se consultarán estos caches localizados en la red local antes de acceder hacia Internet y consumir ancho de banda para acceder hacia un objeto que ya podría estar presente en otro caché vecino.

Ejemplo: Si su caché va a estar trabajando en paralelo junto con otros caches, es decir caches hermanos, y considerando los caches tienen IP 10.1.0.1, 10.2.0.1 y 10.3.0.1, todos escuchando peticiones HTTP en el puerto 8080 y peticiones ICP en puerto 3130, especificando que no se almacenen en caché los objetos que ya están presentes en los caches hermanos, utilice las siguientes líneas:

cache_peer 10.1.0.1 sibling 8080 3130 proxy-only
cache_peer 10.2.0.1 sibling 8080 3130 proxy-only
cache_peer 10.3.0.1 sibling 8080 3130 proxy-only

Pueden hacerse combinaciones que de manera tal que se podrían tener caches padres y hermanos trabajando en conjunto en una red local. Ejemplo:

cache_peer 10.0.0.1 parent 8080 3130 proxy-only
cache_peer 10.1.0.1 sibling 8080 3130 proxy-only
cache_peer 10.2.0.1 sibling 8080 3130 proxy-only
cache_peer 10.3.0.1 sibling 8080 3130 proxy-only

Caché con aceleración.

Cuando un usuario hace petición hacia un objeto en Internet, este es almacenado en el caché de Squid. Si otro usuario hace petición hacia el mismo objeto, y este no ha sufrido modificación alguna desde que lo accedió el usuario anterior, Squid mostrará el que ya se encuentra en el caché en lugar de volver a descargarlo desde Internet.

Esta función permite navegar rápidamente cuando los objetos ya están en el caché de Squid y además optimiza enormemente la utilización del ancho de banda.

La configuración de Squid como Servidor Intermediario (Proxy) Transparente solo requiere complementarse utilizando una regla de iptables que se encargará de re-direccionar peticiones haciéndolas pasar por el puerto 8080. La regla de iptables necesaria se describe más adelante en este documento.

Proxy Acelerado: Opciones para Servidor Intermediario (Proxy) en modo convencional.

En la sección HTTPD-ACCELERATOR OPTIONS deben habilitarse los siguientes parámetros:

httpd_accel_host virtual
httpd_accel_port 0
httpd_accel_with_proxy on

Proxy Acelerado: Opciones para Servidor Intermediario (Proxy) Transparente.

Si se trata de un Servidor Intermediario (Proxy) transparente, deben utilizarse las siguientes opciones, considerando que se hará uso del caché de un servidor HTTP (Apache) como auxiliar:

# Debe especificarse la IP de cualquier servidor HTTP en la
# red local o bien el valor virtual
httpd_accel_host 192.168.1.254
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Proxy Acelerado: Opciones para Servidor Intermediario (Proxy) Transparente para redes con Internet Exlorer 5.5 y versiones anteriores.

Si va a utilizar Internet Explorer 5.5 y versiones anteriores con un Servidor Intermediario (Proxy) transparente, es importante recuerde que dichas versiones tiene un pésimo soporte con los Servidores Intermediarios (Proxies) transparentes imposibilitando por completo la capacidad de refrescar contenido. Si se utiliza el parámetro ie_refresh con valor on puede hacer que se verifique en los servidores de origen para nuevo contenido para todas las peticiones IMS-REFRESH provenientes de Internet Explorer 5.5 y versiones anteriores.

# Debe especificarse la IP de cualquier servidor HTTP en la
# red local
httpd_accel_host 192.168.1.254
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
ie_refresh on

Lo más conveniente es actualizar hacia Internet Explorer 6.x o definitivamente optar por otras alternativas. Mozilla es en un conjunto de aplicaciones para Internet, o bien Firefox, que es probablemente el mejor navegador que existe en el mercado. Firefox es un navegador muy ligero y que cumple con los estándares, y está disponible para Windows, Linux, Mac OS X y otros sistemas operativos.

Estableciendo el idioma de los mensajes mostrados por de Squid hacia el usuario.

Squid incluye traducción a distintos idiomas de las distintas páginas de error e informativas que son desplegadas en un momento dado durante su operación. Dichas traducciones se pueden encontrar en /usr/share/squid/errors/. Para poder hacer uso de las páginas de error traducidas al español, es necesario cambiar un enlace simbólico localizado en /etc/squid/errors para que apunte hacia /usr/share/squid/errors/Spanish en lugar de hacerlo hacia /usr/share/squid/errors/English.

Elimine primero el enlace simbólico actual:

rm -f /etc/squid/errors

Coloque un nuevo enlace simbólico apuntando hacia el directorio con los ficheros correspondientes a los errores traducidos al español.

ln -s /usr/share/squid/errors/Spanish /etc/squid/errors

Nota: Este enlace simbólico debe verificarse, y regenerarse de ser necesario, cada vez que se actualizado Squid ya sea a través de yum, up2date o manualmente con el mandato rpm.

Iniciando, reiniciando y añadiendo el servicio al arranque del sistema.

Una vez terminada la configuración, ejecute el siguiente mandato para iniciar por primera vez Squid:

service squid start

Si necesita reiniciar para probar cambios hechos en la configuración, utilice lo siguiente:

service squid restart

Si desea que Squid inicie de manera automática la próxima vez que inicie el sistema, utilice lo siguiente:

chkconfig squid on

Lo anterior habilitará a Squid en todos los niveles de corrida.

Depuración de errores

Cualquier error al inicio de Squid solo significa que hubo errores de sintaxis, errores de dedo o bien se están citando incorrectamente las rutas hacia los ficheros de las Listas de Control de Acceso.

Puede realizar diagnóstico de problemas indicándole a Squid que vuelva a leer configuración, lo cual devolverá los errores que existan en el fichero /etc/squid/squid.conf.

service squid reload

Cuando se trata de errores graves que no permiten iniciar el servicio, puede examinarse el contenido del fichero /var/log/squid/squid.out con el mandato less, more o cualquier otro visor de texto:

less /var/log/squid/squid.out

Ajustes para el muro corta-fuegos.

Si se tiene poca experiencia con guiones de cortafuegos a través de iptables, sugerimos utilizar Firestarter. éste permite configurar fácilmente tanto el enmascaramiento de IP como el muro corta-fuegos. Si se tiene un poco más de experiencia, recomendamos utilizar Shorewall para el mismo fin puesto que se trata de una herramienta más robusta y completa.

Firestarter: http://www.fs-security.com/
Shorewall: http://www.shorewall.net/

Re-direccionamiento de peticiones a través de iptables y Firestarter.

En un momento dado se requerirá tener salida transparente hacia Internet para ciertos servicios, pero al mismo tiempo se necesitará re-direccionar peticiones hacia servicio HTTP para pasar a través del el puerto donde escucha peticiones Squid (8080), de modo que no haya salida alguna hacia alguna hacia servidores HTTP en el exterior sin que ésta pase antes por Squid. No se puede hacer Servidor Intermediario (Proxy) Transparente para los protocolos HTTPS, FTP, GOPHER ni WAIS, por lo que dichos protocolos tendrán que ser filtrados a través del NAT.

El re-direccionamiento lo hacemos a través de iptables. Considerando para este ejemplo que la red local se accede a través de una interfaz eth0, el siguiente esquema ejemplifica un re-direccionamiento:

/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

Lo anterior, que requiere un guión de cortafuegos funcional en un sistema con dos interfaces de red, hace que cualquier petición hacia el puerto 80 (servicio HTTP) hecha desde la red local hacia el exterior, se re-direccionará hacia el puerto 8080 del servidor.

Utilizando Firestarter, la regla anteriormente descrita se añade en el fichero /etc/firestarter/user-post.

Re-direccionamiento de peticiones a través de la opción REDIRECT en Shorewall.

La acción REDIRECT en Shorewall permite redirigir peticiones hacia protocolo HTTP para hacerlas pasar a través de Squid. En el siguiente ejemplo las peticiones hechas desde la zona que corresponde a la red local serán redirigidas hacia el puerto 8080 del cortafuegos, en donde está configurado Squid configurado como Servidores Intermediario (Proxy) transparente.

#ACTION  SOURCE  DEST PROTO DEST
REDIRECT loc 8080 tcp 80

Autor: Joel Barrios Dueñas
Correo electrónico: jbarrios arroba linuxparatodos punto net
Sitio de Red: http://www.linuxparatodos.net/