Category Archives: Artículo

Permisos

Oh cielos.. se fijan lo que pasa cuando uno usa wizardcillos que hacen las cosas automagicamente..? Para que vean que no todos los wizardcillos son graficos y con botones de “Siguiente” y “Terminar”, ahi esta el ejemplo de la capacidad de trabajar con simbolos del chmod.. asi que aqui va una pequenia contribucion sobre los permisos de archivos en *nix:

En un sistema de archivos tipo Unix, todos los archivos tienen relacionados con ellos 12 bits de permisos, separados en 4 grupos:

xxx xxx xxx xxx
Especial Duenio Grupo Otros

Los bits menos significativos (duenio, grupo, otros) son los que todo el mundo conoce -bueno, mas o menos- y representan (en cada grupo de tres) permisos de

lectura (r), escritura (w) y ejecucion (x) ==> Para archivos normales
lectura (r), escritura (w) y exploracion (x) ==> Para directorios

Lectura y escritura deben ser claros para todo el mundo. Ejecucion es la forma en que se le indica al sistema operativo que este archivo se debe tratar como un programa (de hecho, se le indica al shell) y que aquellos que tienen permiso de ejecucion (usuarios, esto es) pueden utilizarlo.

El bit “x” para los directorios significa eXploracion, o sea que el usuario con ese permiso puede entrar a ese directorio. Un directorio puede no tener permisos de lectura ni de escritura para un usuario o grupo pero si de exploracion, lo cual permite ciertas situaciones interesantes, como que aunque no puedas ver el listado de archivos del directorio (no tienes permiso de lectura) si puedes entrar a ese directorio y ejecutar o leer un archivo que este ahi, siempre y cuando tengas permiso de exploracion.

Una nota sobre el significado de “duenio, grupo, otros”: todo archivo en el sistema debe pertenecer a algun usuario y a algun grupo. Los grupos de bits de duenio especifican que puede hacer el duenio del archivo con el, y lo mismo aplica para los de grupo respecto de lo que pueden hacer los usuarios en ese grupo con el. Los permisos de “Otros” dicen lo que pueden hacer aquellos usuarios que no son ni el duenio ni pertenecen al grupo del archivo.

Ahora, con los bits de permisos especiales. Son los 3 bits mas significativos (los que estan mas a la izquierda) de los 12 bits de permisos, y su significado es:

Establecer ID de usuario, Establecer ID de grupo y Salvar imagen
(Archivos normales)

Para directorios, el bit de “Salvar imagen” actua distinto: un directorio con ese bit establecido permite que solo el usuario que creo un archivo pueda borrarlo (asumiendo que tenia permiso de crearlo en primer lugar, desde luego).

Establecer ID de usuario (Set User ID o Set UID) tiene efecto solo en archivos con el bit de ejecucion establecido. Significa que al ejecutarse el programa el proceso generado tendra los mismos privilegios que el duenio del archivo, aun cuando sea ejecutado por alguien mas. Varios programas usan esta tecnica en su sistema, pueden encontrarlos con este comando:

find / -perm +1000 -exec ls -l {} \;

Establecer ID de grupo (Set Group ID o Set GID) tiene el mismo efecto del SUID, pero aplicable al grupo al que pertenece el archivo en lugar del duenio.

Finalmente, el archivo de “Salvar imagen” (Save text-image o Sticky bit==>pegajoso). En un archivo ejecutable significa que el sistema va a guardar en un buffer en memoria el codigo ejecutable del programa la primera vez que lo ejecutas, de forma que la siguiente vez que lo ejecutes no tengaque ser leido nuevamente del disco. Esto es bueno para comandos ejecutados frecuentemente como “ls”. Sin embargo, esta es una especificaicion antigua y
no todos los sistemas lo implementan (no estoy seguro de que Linux lo haga, por ejemplo).

En directorios, el “Sticky bit” ya explique lo que hace. Si alguien puede excribir en un directorio, nadie mas puede borrar sus archivos, aun si esas otras personas tienen permiso de escritura para el directorio. Un ejemplo esta en el directorio /tmp de muchas distribuciones: ls -l /tmp

AHORA, todo comenzo porque muchos de ustede estan acostumbrados a trabajar simbolicamente con el chmod, pero eso los llevo a mucha confusion. Mi sugerencia es entonces que en lugar de hacerlo simbolicamente, le digan al chmod exactamente como quieren los permisos ahora que ya saben de donde salen. Recuerden que son 12 bits, si los dividen en 4 grupos de 3 bits entonces pueden representarlos con 4 digitos en octal. Ejemplos:

Lectura/escritura para duenio, solo lectura para grupo y otros:

-rw-r–r– 1 izto users 0 Aug 18 14:18 archivo
110100100 –> 110 100 100 –> 644 –> chmod 644 archivo

Lec/esc/ejecucion para duenio y grupo, nada para otros:

-rwxrwx— 1 izto users 0 Aug 18 14:18 archivo
111111000 –> 111 111 000 –> 770 –> chmod 770 archivo

Igual que el anterior, pero con SUID:

-rwsrwx— 1 izto users 0 Aug 18 14:18 archivo
111111000 (con bits especiales 100) –> 100 111 111 000 -> 4770->chmod 4770

Ahora con SGID:

-rwsrws— 1 izto users 0 Aug 18 14:18 archivo*
111111000 (con bits especiales 110) –> 110 111 111 000 -> 6770->chmod 6770

Espero que esto haya aclarado para alguien como estan organizados y como se manipulan los bits de permisos. Si no, su libro favorito de Unix se los explicara con toda claridad 😉

Busqueda semantica -Introducción-

La búsqueda semántica se ha descrito en diversas formas, en este momento se denotará como una manera de extraer información oportuna de una gran cantidad de datos existentes en la WEB.

En muchas ocasiones nos hemos encontrado con usuarios que navegan con intención de obtener información para su vida cotidiana así como para documentar procesos laborales, sin embargo, cuando entran a los motores de búsqueda los resultados no son los esperados, por lo que regularmente nos viene a la cabeza el dicho: “Busco, busco, pero no me busco”; esto significa que la información que necesita el usuario existe pero no se encuentra segmentada adecuadamente.

La mayoría de los buscadores de información ya han iniciado la incorporación de algunos algoritmos necesarios en la recolección de datos segmentados bajo los criterios de la búsqueda semántica donde radica su importancia como ante sala de la Web 3.0. Quizás aún estemos lejos de tener una Web Semántica, donde existan elementos tan ricos en información, que cuando pusiéramos en un buscador las palabras como por ejemplo “autor Octavio Paz” los resultados deberían de tratar sobre los escritos donde está definido como autor y no los que hablen sobre él.

¿Cómo podemos hacer uso de éstas nuevos algoritmos en los buscadores? Lo primero que se debe considerar es utilizar un lenguaje más natural enriqueciendo nuestros documentos con más sinónimos, ya que la búsqueda semántica nos agrupa las palabras con el mismo origen y genera un peso más acertado para encontrar lo que se necesita.

Adicionalmente es indispensable apoyarse de las herramientas tecnológicas que se tienen a nuestro alcance. Una forma de realizarlo es mediante la utilización de microformatos(1) los cuales no afectan el contenido del documento y permiten que los buscadores ofrezcan resultados más concisos. Los microformatos permiten la representación de eventos, información de contacto, relaciones sociales, direcciones, ubicaciones (coordenadas), etc.;

Cuando se realicen enlaces a otros documentos en Internet (archivos, imágenes, etc.), es indispensable ser más explícitos en cómo escribe la referencia; por ejemplo, es algo común leer sitios web donde para desplegar más información en una reseña de un evento solo tenemos una instrucción con un enlace que dice: “Dé clic aquí” sin que le dé al lector o usuario más pistas sobre lo que pasará al dar clic.

Unos cuantos cambios sutiles en nuestros documentos publicados en Internet, permiten enriquecer la experiencia de nuestros lectores y mejorar el posicionamiento entre los buscadores lo cual se puede reflejar en el aumento de las visitas a nuestro sitio web. Podemos concluir que un uso adecuado de la búsqueda semántica es indispensable para posicionarnos adecuadamente en la mayoría de los buscadores más utilizados en la época.

1Un microformato (a veces abreviado con μF o uF) es una forma simple de agregar significado semántico a un contenido legible por el humano y que para la máquina es sólo texto plano.