Manuales

[LPIC] Cambiando contraseñas de usuarios en GNU/Linux

Siguiendo con mi enseñanza, de linux, hoy cheque como hacer esto de cambio de contraseñas de GNU/Linux.

Para poder cambiar la contraseña de un usuario necesitamos una de las siguientes dos cosas.

Ser root o ser el dueño de la cuenta la cual deseamos modificar el password.

La pregunta sencilla es, ¿Como se cambia?, la respuesta es simple, en nuestro linux abrimos una consola, o (si no usan entorno visual[kde,gnome,eligtmenth]) escribimos el comando siguiente.

//como usuario de la cuenta
$ passwd [nueva_contraseña]

//o de esta forma
$ passwd [enter]
Ingrese su nuevo password:
Repita su password:

ó

//Como root
# passwd [usuario] [enter]
Ingrese su nuevo password:
Repita su password:

Bueno con eso ya podran modificar sus contraseñas de los usuarios.

Nota: Tengo en mente un proyecto que la otra vez les platique, sin embargo como hire po partes vas a ser 3 proyectos, pero me voy a apurar para poder terminar uno a mas tardar en un mes(ups), que se que les va aser de gran ayuda a todos.

Saludos

Leer más

[Off-Topic] Feeds, RSS y Suscripciones por E-mail

Mi amigo dogguie, me dio permiso de usar este manual, y es para que si ustedes deseen, puedan suscribirse a este blog y asi recibir las actualizaciones de los post, casi en el momento en que los publico, pero mejor pongamos la explicacion que nos da Dogguie.

Escribo esta entrada animado por la cantidad de suscritos que dispone actualmente este humilde blog. Si son “moscas” (hábiles, cucos), se habrán dado cuenta en la derecha hay un contador de suscritos, que al momento de escribir esta entrada marca el número 38. ya son 38 suscritos que me leen con un lector de feeds o por e-mails. Un número más que alentador, y que en cierto sentido, es una de las formas de medir la aceptación de este sitio. Gracias a todos ustedes por hacerme sentir tan bien

Obviamente, esta cantidad no representa el total de los lectores habituales, ya que hay muchos (supongo que los menos experimentados) que solo nos tienen en los Favoritos de sus navegadores.

Si aún no te has suscrito, te invito a hacerlo ahora mismo (suena a amenaza ):

Suscríbete para leer el contenido de mi blog con un lector de feeds.

O si lo deseas, recibe las actualizaciones ingresando tu e-mail en este sencillo formulario:

Ingresa tu direccion de E-mail:


Te llegará un mensaje de confirmación en el correo que ingresaste. Fíjate en tu carpeta de correo basura (spam), porque a veces el proveedor de correos lo considera spam (f*k hotmail).

También puedes agregarme a tus favoritos en Technorati:

Add to Technorati Favorites

¿Quieres leer el contenido de mi blog con un lector de feeds y no tienes ni idea de cómo hacerlo?

Si ese es tu caso, creo que la información que viene a continuación está hecha a tu medida. Te indicaré paso a paso cómo suscribirte a un lector de feeds.

Información importante para novatos

¿Qué es un feed RSS?

Para entender esto, primero hay que saber que es un Archivo RSS. Pues bien, es un archivo generado por los blogs que contiene una versión de la información publicada en el sitio. Normalmente consta de un título, un resumen y un enlace o URL a la página web de origen o que contiene el texto completo. Además puede contener información adicional como la fecha de publicación o el nombre del autor del texto. Este archivo RSS se reescribe automáticamente cuando se produce alguna actualización en los contenidos del sitio web.

¿Ok… pero cuál es su utilidad?

Lo explicaré de esta manera: imagínate que visitas constantemente 20 sitios web (por poner cualquier número, podrían ser más). ¿Cómo haces para revisar los contenidos nuevos de cada sitio web?. Claro, entrando de uno en uno, lo que toma mucho tiempo.

Con un lector de feeds y el canal RSS del sitio web o blog, ya no tienes que entrar (navegar) a cada uno de ellos, ni recibir e-mails cada vez que hay actualizaciones. Desde un sólo sitio (lector de feeds) puedes chequear todos los blogs o sitios webs que desees.

¿Qué son los lectores de Feeds?

Los archivos RSS se leen con un lector de Feeds, que son programas de escritorio o aplicaciones web que realizan esa función.

A modo de ejemplo les muestro una captura del lector de feeds que yo utilizo: Feed Reader para windows, aunque tendre que buscar o hacer uno para linux, pero puedes usa Google Reader.

¿Cómo funciona Google Reader?

Tienes que disponer de una cuenta en Google para poder utilizarlo. Si no lo tienes, entra a Google Reader y hazte de una cuenta de forma rápida y gratuita.

Una vez creada tu cuenta, ya podrás utilizar el lector agregando todos los canales RSS que desees.

Como ejemplo indicaré los procedimientos para agregar el canal RSS de www.ajaxman.net al Google Reader.

  1. Entra a la cuenta de Google Reader que acabas de crear (”logueate”). Te aparecerá una ventana como la captura anterior, vacía obviamente, ya que todavía no agregaste ningún canal RSS al lector.
  2. Clic en Añadir suscripción.
  3. En la ventanita que sale, escribir el canal RSS de este blog: http://feeds.feedburner.com/ajaxmanjs. Cópialo y pégalo.
  4. Clic en añadir
  5. Instantaneamente apareceran los últimos 8 artículos de mi sitio (qué emoción)

Leer más

[Manual]Programando aplicaciones con XUL: Botones

Capitulo 2:

Bien continuemos con nuestro manual de XUL, ya sabemos como hacer un Hola mundo, en Xul, así que hagamoslo mas interesante.

Ahora vamos a trabajar con botones(recuerden que aqui no hay visual studio jaja).

Botones en XUL

Para que podamos interactuar con nuestro entorno es necesario disponer de botones, como cualquier otro lenguaje de programación, de la misma forma que HTML, tambien XUL, dispone de una serie de etiquetas para crear los elementos de las interfaces de los usuarios.

Estos botones estan basados en la mas basica de estas etiquetas, esta es llamada Plantilla:XULElem que nos servira para crear un boton.

Cada elemento de tipo Boton, tiene dos propiedades asociadas label e image, mutuamente compatibles, se pueden tener un boton con imagen y/o con etiqueta

La etiqueta Plantilla:XULElement usa la siguiente sintaxis

<button id="identificador">
 label="Aceptar"
 image="imagenes/imagen.jpg"
 disabled="true"
 accesskey="t"/>

Cabe mencionar que todos estos atributos son opcionales y aceptan los siguientes datos.

  • id:Un identificador único (dentro de la página actual) que represente de forma inequívoca al botón. Es muy útil para referirse al botón desde una hoja de estilos CSS o desde un script de código, por ejemplo. Es recomendable rellenar este atributo en todas las etiquetas que uno declare.
  • class: Este atributo se refiere a que a un boton se le puede asignar una clase, con la cual le aplicaremos cierto estilo, usando CSS, como si fuera HTML, aunque no es necesario usar una clase, para poder aplicar estilos en los botones.
  • label: Este atributo se refiere a el texto que mostrara nuestro boton, si lo dejamos en blanco, simplemente no tendra texto.
  • image: El atributo image nos indica que imagen aparecera dentro del boton, claro si deseamos usar alguna imagen, si no se le indica alguna imagen simplemente nos aparecera sin ella, tambien se le puede especifiar una imagen a un boton mediante una hoja de estilos usando list-style-image.
  • disabled: Esta opcion creo que ya todos (o casi) la conocemos, esta opcion se refiere a que si la indicamos como true, el boton estara deshabilitado (no respondera a los click’s), y si lo ponemos como false el boton estara habilitado, si no se indica, el boton siempre estara habilitado.
  • acceskey: con este atributo, le podemos indicar que reaccione a cierta tecla de atajo (o tecla de acceso directo), con la cual le pasaremos el foco, a este elemento , que en este caso es el boton.

Aqui tenemos un ejemplo, de como quedaria nuestro archivo main.xul

Leer más

[Manual] Transformacion de fechas MySql a PHP

El otro dia en la programacion de una pagina web, tuve un problema, con el uso de fechas en Php y MySQL me tarde en resolverlo por eso mejor pongo un post que sin duda les ayudara a mas de uno , ya que yo practicamente nunca encontre una solucion eficaz.

La cosa esta asi, supongamos que tenemos, una base de datos MySQL, con una tabla en la cual, tenemos el campo fecha, este campo fecha es de tipo “date”.

En el campo date tenemos la siguiente fecha “2007-11-19″, y queremos que al llamarla desde Php nos muestre la fecha asi 19 de noviembre del 2007″.

Muchos pensaran en el uso de un array con los meses, pero nos es lo mas optimo, el codigo es simple imaginemos nuestro query con el siguiente ejemplo


$sql='select * from Registros';
$q=mysql_query($sql,$conexion_mysql);
while($fila=mysql_fetch_assoc($q))
 {
  echo 'se registro el dia'. $fila['fecha'] .'
';
 }

esto nos mostraria lo siguiente

se registro el dia 2007-11-19
se registro el dia 2007-11-18
se registro el dia 2007-11-18
se registro el dia 2007-11-17
se registro el dia 2007-10-10
Etc…

Como vieron, no es lo mas optimo para mostrar fechas aqui que hagamoslo mas entendible para el usuario.

$sql='select * from Registros';
$q=mysql_query($sql,$conexion_mysql);
while($fila=mysql_fetch_assoc($q))
 {
  $Fecha_Mysql=$fila['fecha']
  $Fecha = @strtotime($Fecha_Mysql); //el arroba es para evitar que nos muestre errores en caso de que la variable este vacia
  $FECHA=strftime("%d de %B del %Y",$Fecha);
  echo 'se registro el dia'. $FECHA .'
';
 }

De est foma veremos de resultados lo siguiente

se registro el dia 19 de noviembre del 2007
se registro el dia 18 de noviembre del 2007
se registro el dia 18 de noviembre del 2007
se registro el dia 17 de noviembre del 2007
se registro el dia 10 de octubre del 2007
Etc….

Y listo, como vieron fue simple y sencillo

¿Dudas, Preguntas y Demas ? en los comentarios…

Leer más

[PDF] Libro gratis, de Administracion Basica de GNU/Linux en PDF

vía Ubuntulife, me entero que Jesús David Navarro, ha puesto ha disposición de todos un excelente libro, completamente en español, y en Pdf, sobre la administración básica de sistemas GNU/Linux; Todos a bajarlo, sin duda un gran aporte que nos hacia falta.

Curso de administración básica GNU_Linux

Enlace de Descarga del libro

Leer más

[Manual] Uso de APT: Obteniendo información de los paquetes

bueno les sigo poniendo mas info sobre el uso del APT.

Existen algunas interfaces para el APT que lo hacen más fácil de utilizar.

Pero nuestro objetivo aquí es aprender a manejar APT puro. Así que, ¿cómo podría saber el nombre de un paquete que quiere instalar?

Tenemos numerosos recursos para realizar esa tarea. Empezaremos con apt-cache. Este programa es utilizado por APT para mantener su base de datos. Nosotros sólo veremos un poco de sus aplicaciones

Descubriendo nombres de paquetes

Por ejemplo, supongamos que usted quiere revivir la gloria de la época dorada del Atari 2600. Quiere utilizar APT para instalar un emulador de Atari, y después bajar algunos juegos, puede hacer lo siguiente:

# apt-cache search atari
atari-fdisk-cross - Partition editor for Atari (running on non-Atari)
circuslinux - The clowns are trying to pop balloons to score points!
madbomber - A Kaboom! clone
tcs - Character set translator.
atari800 - Atari emulator for svgalib/X/curses
stella - Atari 2600 Emulator for X windows
xmess-x - X binaries for Multi-Emulator Super System

Hemos encontrado muchos paquetes relacionados con lo que estamos buscando. Para obtener mayor información de un paquete específico, hacemos lo siguiente:

Leer más

[Manual] Ataques XSS, peligros de $_GET

Me encontre un muy buen manual sobre XSS, y pues nos hay mucho que agregar, esta muy digerible y en español.

Aqui lo tienen.


Que es XSS

Sobre XSS, no hay mucho que decir que no se haya dicho antes. Yo definiría a XSS como un ataque que se basa en explotar métodos poco correctos de programación para ejecutar script malicioso de cliente (comunmente JavaScript) al momento que un usuario desprevenido ingresa al sitio víctima del ataque. Que yo, atacante, pueda hacer que en el sitio víctima se ejecute un script JavaScript arbitrario, aunque a algunos les pueda parecer inofensivo, resulta realmente peligroso. Un código JavaScript puede redireccionar usuarios a otras URL’s, puede cambiar la información que se muestra en el sitio y, quizá lo más interesante, puede obtener los valores de las cookies que el navegador del usuario posea en ese momento. Obtener el valor de las cookies equivale a obtener el Session ID (SID a partir de ahora), el cual se utiliza para que el servidor reconozca al usuario “Pepe” como “Pepe” y no como ningún otro. Suponiendo que se utiliza sistema de sesiones nativas de PHP (session_start() y sus secuaces), si yo tengo el SID de “Pepe” que se almacena en sus cookies, puedo ingresar como “Pepe” aunque no lo sea.

Tipos de vulnerabilidades y sus consecuencias

Lo que voy a mostrar aquí es uno de los tipos de vulnerabilidad XSS el cual es llamado “Tipo 1″ o “No persistente”. Una vulnerabilidad no persistente será aquella en la que el script malicioso debe ser enviado explícitamente mediante el navegador del usuario víctima cada vez que el atacante desea ejecutar código maligno en ese navegador. Para enviar script maligno se utilizan las variables $_GET, $_POST y $_COOKIES. Leyendo lo antedicho pueden que estén pensando en que un usuario nunca será tan inocente como para enviar código malicioso desde su navegador existiendo la posibilidad que sus cookies sean vulneradas… el problema es que el atacante puede inducir mediante Ingeniería Social al usuario víctima a hacer click en una URL del tipo index.php?titulo=%3Cscript%3Ealert%28%22XSS%22%29%3B%3C%2Fscript%3E con lo que ya se estaría logrando la inyección de código malicioso codificado e imperceptible para la visión de un usuario con poco conocimiento.
Por otra parte les comento solo a modo informativo que existen vulnerabilidades XSS “Tipo 2″ o “Persistentes” en las cuales el código malicioso no necesita ser inyectado cada vez mediante el navegador del usuario víctima, sino que este código ha sido previamente guardado por el atacante en la base de datos que utiliza el sitio víctima. De esta forma cada vez que el sitio recupere y muestre registros de su base de datos, el script maligno estará allí y será ejecutado para cualquier usuario visitante. Es sencillo deducir que este tipo de vulnerabilidad puede resultar muchísimo más peligrosa debido a la persistencia del código maligno, pero en este artículo centraremos nuestra atención en el tipo anterior.

Entrando en tema: algunos ataques “inocentes”

Supongamos algo simple: una página que, para mostrar su título se vale de un parámetro recibido por la URL (via $_GET). Su código se vería algó así:

test.php

< ? php '.echo $_GET["title"]; ?>

Pues bien, esto no parece demasiado peligroso y puede que sea algo que comunmente hacemos en nuestros scripts. Pero que tal si nuestro tan odiado atacante mediante Ingeniería Social induce a un pobre usuario víctima a ingresar con:

test.php?title=

Para quien no tenga ganas de probar le comento el resultado: en el sitio víctima saldrá un “cartelito” con el mensaje “Este Sitio es un peligro”. Pueden argumentar con cierta razón que la URL anterior se me medio sospechosa, y que nadie en su sano juicio ingresaria al sitio clickeandola, pero siempre el atacante puede codificarla un poco para que se vea algo más inocente:

// Codificación realizada mediante urlencode() de PHP
test.php?title=%3C%2Ftitle%3E%3Cscript%3Ealert%28%22%A1Este+Sitio+es+un+peligro%21%22%29%3C%2Fscript%3E

Ahora ya no se ve tan peligrosa… quizá un usuario ingrese inocentemente llevándose la sorpresa del molesto cartelito.
Hasta ahora los ataques XSS no se ven tan dañinos; al fin y al cabo mostrar un alert() no daña demasiado a nadie. La realidad es que cuando en nuestro sitio dejamos abierta la posibilidad que nos ataquen mediante esta técnica, la gravedad del ataque está limitada únicamente a la imaginación del atacante y las posibilidades que nos brinda JavaScript. Cualquier cosa que JS permita hacer, puede ser realizada en un ataque XSS. Por ejemplo ¿qué pasaría si test.php fuera llamado de la esta manera?:

test.php?title=

Pueden leer el contenido del articulo completo en Formatoweb XSS

Modificado a petición del autor

Leer más

Historico de entradas

febrero 2012
L M X J V S D
« ene    
 12345
6789101112
13141516171819
20212223242526
272829  

Ajaxman

Mi nombre es Javier, soy desarrollador web con especialización en PHP (avanzado), HTML, CSS y Javascript(Medio).

Me considero evangelizador de Kohana Framework, Mozilla Firefox y GNU/Linux Debian.

Estoy casado, y tengo dos hermosos hijos.

Todos los contenidos a menos que se exprese lo contrario estan bajo licencia Creative Commons.

Enlazanos!!

hit counters online counter