jueves, 22 de abril de 2010
El sistema de archivos de Unix; esta basado en un modelo arborescente y recursivo, en el cual los nodos pueden ser tanto archivos como directorios, y estos últimos pueden contener a su vez directorios o subdirectorios. Debido a esta filosofía, se maneja al sistema con muy pocas órdenes, que permiten una gran gama de posibilidades. Todo archivo de Unix está controlado por múltiples niveles de protección, que especifican los permisos de acceso al mismo. La diferencia que existe entre un archivo de datos, un programa, un manejador de entrada/salida o una instrucción ejecutable se refleja en estos parámetros, de modo que el sistema operativo adquiere características de coherencia y elegancia que lo distinguen. La gestión de archivos viene implementada por mecanismos propios de UNIX. Esta aproximación tiene consecuencias directas sobre la seguridad del sistema.$ file /bin /bin/de /usr/ src/ cmd/ de.c/ usr/ man/ man1/ de.1 /bin : directory /bin/ de : pure executable /usr/ src/ cmd/ de.c : c program text /usr/ man /,an.1/ de.1 : roff, nroff, or eqn input text Estos son cuatro archivos típicos, relacionados todos con el editor : el directorio en el cual este se encuentra (/ bin), el programa mismo en su forma ejecutable o binaria (/ bin/ ed) , el o conjunto de instrucciones en C que definen el programa (/ usr/ src/ cmd/ de.c) y el manual (/ usr/ man/ man1/ de.1).Para determinar los tipos, File no puso atención a los nombres (aunque podría hacerlo), ya que las convenciones con los nombres, por el echo mismo de no ser mas que convenciones, no son confiables. Por ejemplo, los archivos con sufijo .c son programas fuentes en C, pero nada impide al usuario crear un archivo .c con un contenido arbitrario. En vez de eso, el comando file lee unos cuantos cientos de bytes al principio del archivo y busca indicios que indiquen el tipo de archivo en cuestión.Algunas veces los indicios para identificar un archivos son obvios. Un programa ejecutable se marca con un “numero mágico” binario al principio. El comando od sin ninguna opción vacía el archivo en palabras de 16 bits (o dos bytes) y hacen visible el numero mágico : $ od /bin /de0000000 000410 025000 000462 011444 000000 000000 000000 0000010000020 170011 016600 000002 005060 177776 010600 162706 0000040000040 016616 000004 005720 010066 000002 005720 001376 020076 El valor octal 410 “marca” un programa ejecutable puro, un programa cuyo código puede ser compartido por varios procesos. (los números mágicos específicos son dependientes del sistema). El patrón de bits representado por 410 no es un texto en ASCII, por lo que este valor no podría ser generado inadvertidamente por un programa tal como un editor. Sin embargo, el lector puede crear un archivo así ejecutando un programa propio, y el sistema entenderá la convención de que tales archivo son programas en binario.Para archivos de texto, los indicios que indicar el tipo de archivo en cuestión pueden encontrarse mas escondidos en el. Por ejemplo, el comando file buscará palabras como #include para identificar programas fuente en C, o líneas que comiencen con un punto para identificar entradas para nroffo o troff.
Suscribirse a:
Enviar comentarios (Atom)

No hay comentarios:
Publicar un comentario