Presentaci - PowerPoint PPT Presentation

About This Presentation
Title:

Presentaci

Description:

2 Sistemas de Archivos Programaci n II Ing. Diego J. Arcusin info_at_digikol.com.ar Todo en Unix son archivos Sistema de archivos sencillo y f cil de usar. – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 26
Provided by: Rober903
Category:

less

Transcript and Presenter's Notes

Title: Presentaci


1
2 Sistemas de Archivos

Programación II
Ing. Diego J. Arcusin info_at_digikol.com.ar
2
Todo en Unix son archivos
  • Sistema de archivos sencillo y fácil de usar.
  • Archivo una secuencia de bytes
  • El sistema no impone estructura alguna sobre los
    archivos ni asigna significado a su contenido. El
    significado de los bytes depende únicamente de
    los programas que interpretan el archivo.

3
Comandos útiles
  • od - Octal dump (Vaciado octal)
  • opción c (interpreta bytes como caracteres)
  • opción b (muestra los bytes como números
    octales)
  • opción x (muestra los bytes como números
    hexadecimales)
  • file Indica los tipos de archivo (en base a
    suposiciones de acuerdo a su contenido)
  • du (Disk Usage) Fue diseñado para indicar
    cuánto espacio del disco está ocupado por los
    archivos de un directorio (incluyendo todos sus
    directorios).
  • opción a (all) Despliega todos los archivos que
    hay en un directorio.

4
Caracteres Especiales
  • La mayoría de los Sistemas UNIX utiliza el
    Sistema ASCII para la representación de
    Caracteres.
  • \n 012 Newline (Nueva línea)
  • \b 010 Backspace (Retroceso)
  • \r 015 Retorno de Carro
  • No existe un caracter especial Fin de Archivo. El
    UNIX identifica el final de un archivo cuando ya
    no encuentra datos en él.

5
El Directorio de Trabajo
  • El Directorio de Trabajo es un atributo de un
    proceso, no de una persona ni de un programa.
  • Si un proceso crea un proceso hijo, este hereda
    el directorio de trabajo de su padre. Pero si
    después el hijo cambia a un nuevo directorio de
    trabajo, el padre no es afectado (su directorio
    de trabajo permanece igual sin importa qué haga
    el hijo).

6
Más sobre Directorios
  • Independientemente del tratamiento particular que
    le da el Kernel a los directorios, estos residen
    como archivos ordinarios dentro del sistema de
    archivos.
  • Pueden ser leidos como archivos ordinarios, pero
    no se les puede crear, o escribir en ellos como
    tales (El núcleo se reserva esta tarea para
    conservar la integridad de la información de los
    mismos).
  • El formato de un archivo de directorio es una
    combinación de datos binarios y de texto. Cada
    entrada del directorio consiste en 16 bytes
  • Los dos primeros bytes indican donde se encuentra
    la información administrativa del archivo.
  • Los últimos 14 guardan el nombre del archivo
    rellenado con caracteres ASCII nulos (valor 0)

7
Introducción a los Permisos
  • Cada archivo tiene permisos asociados con él, los
    cuáles indican qué puede hacerse con el archivo y
    quién puede hacerlo.
  • Si bien un usuario inicia sesión mediante su
    nombre, el sistema reconoce al usuario por medio
    de un número conocido como uid.
  • El Unix permite que distintos usuarios tengan el
    mismo uid lo cuál los hace indistinguibles para
    el sistema (Situación indeseable desde un punto
    de vista de seguridad)
  • Además de un uid se le asigna al usuario un
    identificador de grupo (group-id)
  • El sistema de archivos determina lo que el
    usuario puede hacer mediante los permisos
    otorgados a su uid y group-id

8
/etc/passwd
  • El Archivo de contraseñas. Es un archivo de
    texto ordinario que contiene toda la información
    de inicio de sesión de cada usuario.
  • Los campos del /etc/passwd se encuentran
    separados por
  • identificador de inicio
  • Contraseña encriptada
  • uid
  • group-id
  • varios
  • Home Directory
  • Shell
  • El Archivo /etc/group contiene los nombres de
    grupos y sus identificadores, y define a los
    usuarios miembros de los grupos.

9
Contraseñas
  • La contraseña del /etc/passwd se encuentra
    encriptada para evitar que pueda ser visualizada
    por cualquier usuario del sistema. El proceso de
    encriptación es de 1 vía. Este sistema permite
    pasar de la forma original a la forma codificada
    pero no viceversa.
  • Durante el proceso de login, la contraseña
    ingresada por el usuario es encriptada y
    comparada con la contraseña encriptada residente
    en el archivo /etc/passwd. Si ambas coinciden se
    permite el ingreso de sesión.
  • Para lograr mayor seguridad, algunos sistemas
    UNIX contienen las contraseñas en otros archivos
    (Por ejemplo /etc/shadow)

10
Permisos
  • Existen 3 tipos de permisos para cada archivo
  • leer (Read) - Examinar el contenido del archivo
  • escribir (Write) Cambiar su contenido
  • ejecutar (eXecute) Ejecutarlo como un programa
  • Estos permisos se pueden aplicar en forma
    independiente a
  • El dueño del archivo (Owner)
  • El grupo del dueño del archivo (Group)
  • Los restantes usuarios (World or Others)
  • Ejemplos
  • -rw-rw-r 1 root 5115 Aug 30 1940
    prueba.txt
  • -rwxrwxr-x 1 root 6348 mar 29 1994
    /bin/who
  • drwxrwxr-x 3 carlos 80 Sep 27 0611 .

11
Permisos (El Set Uid)
  • Es una idea simple pero elegante que resuelve
    varios problemas de seguridad.
  • La existencia de un permiso s en lugar del
    permiso de ejecución para el dueño del archivo
    indica que, cuando el comando se ejecuta, se le
    darán los permisos correspondientes al dueño del
    archivo.
  • El usuario toma prestada la identificación del
    dueño del archivo mientras se ejecuta el comando.
  • Sin embargo es un concepto potencialmente
    peligroso. Qué pasaría con un archivo cuyo
    dueño fuera root con permisos rwsrwxrwx ?

12
Permisos en directorios
  • Si bien los permisos en los directorios funcionan
    de manera diferente, la idea básica es la misma
  • r El usuario puede leer el directorio, por lo
    que,por ejemplo, puede ver que archivos hay en él
    por medio de ls)
  • w El usuario puede crear y borrar archivos en
    este directorio (De hecho el usuario puede
    escribir sobre el archivo del directorio).Los
    permisos para borrar archivos son independientes
    del archivo mismo. Si el usuario tiene permisos
    de escritura sobre el directorio puede borrar
    archivos de él , aún los archivos estén
    protegidos contra escritura.
  • x Determina si puede accederse o no a un
    archivo en él.si se crea un directorio con
    permisos x significa que los usuarios pueden
    acceder a cualquier archivo que conozcan en el
    directorio, pero no pueden ejecutar ls sobre él.

13
El comando chmod
  • Permite el cambio de los permisos sobre los
    archivos.
  • Posee dos formas para especificar los permisos
  • Forma OctalSe asignan 3 dígitos. El primer
    dígito indica los permisos asignados al dueño, el
    segundo al grupo, y el tercero al reso. Los
    dígitos especifican los permisos sumando
    simultáneamente 4 para lectura, 2 para escritura
    y 1 para ejecución.
  • Forma SimbólicaPermite activar o desactivar
    permisos puntuales mediante y
  • Solo los dueños de los archivos pueden cambiar
    sus permisos.
  • Utilice man chmod para una descripción completa
    de este comando.

14
Aclaraciones sobre Privacidad
  • No es posible garantizar con los permisos la
    completa privacidad de la información de los
    usuarios ya que los superusuarios (Usuario root)
    pueden leer o modificar cualquier archivo del
    sistema.
  • Si los usuarios requieren mayor privacidad puede
    utilizar el comando crypt . Este comando
    encripta un archivo, Modifica el contenido del
    mismo de tal forma que sea incomprensible para
    cualquier usuario que pueda ver su contenido.

15
i-Nodos
  • Estructura del sistema que almacena información
    administrativa de los archivos. Por ejemplo
  • Fecha de última modificación
  • Fecha de última utilización (Ejecución o lectura)
  • Fecha de última modificación al I-nodo (Por
    ejemplo para un cambio de permisos)
  • Permisos
  • Longitud del archivo
  • Región del disco donde se encuentra almacenado el
    archivo

16
i-nodos (Cont.)
  • Los i-nodos son los archivos. Lo único que hace
    la jerarquía de directorios es proporcionar
    nombres adecuados a los archivos. El
    identificador interno es el i-number (el número
    del i-nodo)
  • Los 2 primeros bytes para cada archivo dentro del
    archivo del directorio indican el número del
    i-nodo correspondiente a ese archivo.
  • En realidad un nombre de archivo en un directorio
    es en realidad un enlace (link o liga) que une un
    nombre en la jerarquía de directorios al archivo
    real (indicado por el i-nodo). El mismo número-i
    puede aparecer en más de un directorio dando
    lugar a los llamados links

17
Links o Ligas
  • El comando ln permite la creación de links. Esto
    permite crear dos nombres para un mismo archivo,
    para que este pueda aparecer en dos directorios
    diferentes.Dos links a un archivo apuntan al
    mismo nodo-i por lo que en cada uno de sus
    directorios contendrán el mismo i-number.
  • El comando rm en realidad no borra nodos-i sino
    que borra entradas del directorio a sus links.
    Sólo cuando el último link es eliminado, entonces
    el sistema borra el nodo-i, y en consecuencia los
    datos.

18
Dispositivos
  • El Unix abstrae a todos los periféricos (discos,
    unidades de Cd, impresoras, terminales, etc.)
    como archivos.
  • Los archivos de dispositivos residen en el
    directorio /dev
  • Por ejemplo en lugar de tener rutinas especiales
    para tratar a una diskettera, existe un archivo
    /dev/fd0Dentro del Kernel todas las referencias
    a ese archivo se traducen en los comandos de
    Hardware necesarios para acceder a la diskettera.
    Por ejemplo, una programa que lee el archivo
    /dev/fd0 en realidad leerá el contenido del
    diskette montado en esa unidad.
  • Existen dos tipos de dispositivos
  • Dispositivos de Caractéres, y
  • Dispositivos de bloque.

19
Dispositivos
  • Ejemplos de algunos archivos de dispositivos
  • hda (Disco duro a)
  • lp0 (Impresora de líneas 0)
  • tty (Terminales)
  • /dev/null Archivo especial para descarte.

20
Preguntas
  • ?

21
Ejercicios
  • 2.1. Cree un archivo de texto llamado ejemplo
    mediante el vi y luego analice la información
    brindada por los siguientes comandos
  • cat ejemplo
  • od c ejemplo
  • od cb ejemplo
  • file ejemplo
  • 2.2. Ejecute el siguiente comando y analice sus
    resultados
  • file /bin /bin/vi /usr/src/cmd/vi.c
    /usr/man/man1.vi.1
  • 2.3. Analice el siguiente comando. Cuál es la
    diferencia en su resultado?
  • du /etc cd /etc du
  • 2.4. Podría sugerir un comando para encontrar el
    archivo find mediante el uso del comando du.
  • 2.5. Analice el comando od cb / Qué significa
    el resultado?

22
Ejercicios (cont)
  • 2.6. Investigue que opción de ls debería
    utilizar para permitir que ls l . muestre
    información acerca de un directorio en lugar de
    información de los archivos contenidos en dicho
    directorio
  • 2.7. Para que sirve el comando newgrp?
  • 2.8. Intente el siguiente comando date gt .
    Qué ocurre?Porqué?
  • 2.9. Para que sirven las opciones c y u del
    comando ls? Con qué criterio ordena la opción
    t?Cómo se podrá modificar este criterio?
  • 2.10. Analice para que sirve la opción i de ls.
  • 2.11.   a) Transformar los siguientes permisos a
    Octales  rwxr-xr-x    r-xr--r--    rw-r-----   
    r-x--x--x  b) Transformar los siguientes
    permisos octales en simbólicos  644    755   
    610    631 777 700 4755
  •   c) Fijar, en modo simbólico, los permisos
    de test.out en modo 754.  d) Fijar, en modo
    Octal, los permisos de test.out en modo
    rwxr-x--x.

23
Ejercicios (cont)
  • 2.12.   -rwsr-xr-x 1 victor docentes 29024 ene
    1 1629 ejecuta  -rw-rw-r-- 1 victor docentes
    2300 may 18 0937 prueba.txt  -rw-r--r-- 1
    victor docentes 5895 may 15 1208 index.htm 
    -rwxr-xr-x 1 victor docentes 29024 ene 1 1629
    borratodo  -rwxr--r-- 1 victor docentes 29024
    ene 1 1629 leer  drwxrwxrwt 2 victor soporte
    1024 may 1 1723 practicos  drwxr-xr-x 2
    victor soporte 1024 oct 16 1998 navegador 
    drwxrwx--x 2 victor soporte 1024 may 11 729
    cashflow  drwxrwxr-x 2 victor soporte 1024
    jul 7 654 redes  drwxr-xr-x 2 diego docentes
    1024 jun 17 1935 procedimientosDada la salida
    del comado ls y suponiendo que el usuario diego,
    del grupo docentes, tiene acceso al presente
    listado. Indicara) Archivos de los que puede
    mostrar su contenido.b) Archivos que puede
    ejecutar como programa.c) Archivos en los que
    puede modificar contenido.d) Subdirectorios en
    los que puede ingresar.e) Subdirectorios en que
    puede grabar.f) Subdirectorios en los que puede
    borrar archivos que no sean de él.g)
    Subdirectorios en los que puede ejecutar
    programas contenidos en ellos.

24
Ejercicios (cont)
  • 2.13. Fijar los permisos del directorio dirnotas
    de modo que todos lo puedan leer y recorrer, pero
    sólo el dueño pueda modificar sus archivos a)
    en modo simbólico b) en modo Octal
  • 2.14 Modificar para que el grupo también pueda
    modificar archivos
  • 2.15. Ejecute ls l /etc/passwd . Analice los
    permisos del archivo. Quién es el dueño del
    archivo?
  • 2.16. Si el archivo de contraseñas sólo tiene
    permiso de escritura para el dueño (root) cómo es
    posible que el comando passwd ejecutado por
    cualquier usuario permita cambiar la contraseña,
    y por lo tanto, cambiar el contenido de
    /etc/passwd
  • 2.17. Investigue el comando umask. Modifique su
    .profile para que todos los archivos que cree
    sólo tengan permiso de lectura y escritura para
    usted.

25
Ejercicios (cont)
  • 2.18. Indique dónde muestra el comando ls l
    información acerca de los links que posee un
    archivo
  • 2.19. Al utilizar el comando mv para mover el
    archivo de un directorio a otro. Son los datos
    los que se mueven? Qué información interna
    piensa usted que se modifica?
  • 2.20. Visualice los dispositivos existentes en
    /dev con el comando ls l /dev Puede determinar
    cuáles dispositivos son de caracter y cuáles de
    bloque?
  • 2.21. Trasládese al directorio /usr/bin y
    ejecute ls F . Identifique dos vínculos y 5
    archivos binarios.
  • 2.22. Averigüe dónde se encuentran las
    contraseñas en su sistema.
Write a Comment
User Comments (0)
About PowerShow.com