3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn...

43
3 Sistemas de ficheros, CLI, usuarios Introducci´ on a los Sistemas Operativos, 2019-2020 Pablo Gonz´ alez Nalda Depto. de Lenguajes y Sistemas Inform´ aticos EU de Ingenier´ ıa de Vitoria-Gasteiz, UPV/EHU 18 de febrero de 2020

Transcript of 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn...

Page 1: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

3 Sistemas de ficheros, CLI,usuarios

Introduccion a los Sistemas Operativos,2019-2020

Pablo Gonzalez Nalda

Depto. de Lenguajes y Sistemas InformaticosEU de Ingenierıa de Vitoria-Gasteiz,

UPV/EHU

18 de febrero de 2020

Page 2: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Contenidos de la presentacion

1 Sistemas de Ficheros

2 Permisos

3 Operacion sobre permisos y ficheros

4 ¿Mas preguntas?

2 / 43

Page 3: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

1 Sistemas de Ficheros

2 Permisos

3 Operacion sobre permisos y ficheros

4 ¿Mas preguntas?

3 / 43

Page 4: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

¿�e es un Sistema de Ficheros?

El sistema de ficheros es un arbol cuyos nodos son losdirectorios y las hojas los ficheros.

Un camino o ruta (path) es la enumeracion de directorios hastanombrar al final el fichero.

Si es respecto al directorio actual, es relativo:../Escritorio/pruebas/hola.c desde el directorioactual /home/pablo/Documentos/

Si es respecto a la raız del sistema, es absoluto:/home/pablo/Escritorio/pruebas/hola.c

cp /home/pablo/Escritorio/pruebas/hola.c .

Unix solo tiene una raız para todo el sistema, mientras queWindows tiene una raız por particion.

4 / 43

Page 5: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Gestion de ficheros

Ficheros: almacenamiento de informacion de formapermanente, no volatil. El Sistema de Ficheros (FS) es unaestructura de datos creada en el dispositivo para representarlos ficheros y otra informacion.

Nombre [+extension]

Directorios ⇒ organizacion jerarquica. Enlaces

Operaciones sobre ficheros: crear, leer, escribir, posicionar,borrar, ejecutar

Permisos de acceso

Acceso concurrente para ciertas operaciones

Un fichero es un conjunto de registros logicos. Accesosecuencial (leyendo desde el principio del fichero) odirecto.

5 / 43

Page 6: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Gestion de ficheros

Bloque: unidad de acceso y ubicacion. El dispositivo es unatabla unidimensional de bloques. Cada fichero es unsubconjunto ordenado de bloques dentro de un dispositivo oparticion.

Aplicacion → regs. logicos (posicion y longitud en bytes) →bloques → sectores CPS → dispositivo hardware

UNIX: pipes o tuberıas y los buzones y los dispositivos de E/Sson ficheros especiales

6 / 43

Page 7: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Gestion de los atributos

Dos metodos de gestion de los metadatos o atributos de unfichero:

Interna en Directorio la informacion esta en la estructura dedatos de todo el directorio (FAT)

Estructura externa la informacion esta en una estructura(inodo) y el directorio solo contiene elnombre del fichero y un enlace duro alinodo (el numero de inodo)

7 / 43

Page 8: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Compartir ficheros entre directorios

Enlaces duros Un enlace duro referencia un inodo desdeun directorio, y el inodo almacena elnumero de enlaces duros. Al llegar a cero(unlink) el fichero se borra. No sepermiten enlaces duros a directorios, paraevitar ciclos.

Enlaces simbolicos Fichero especial que contiene el camino aun fichero (directorios incluidos). Loscomandos y aplicaciones deciden el ficheroal abrirlo. En entorno Windows se llamanaccesos directos.

8 / 43

Page 9: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Traduccion de direcciones

Un acceso a un registro logico de un fichero se convierte en unacceso a ciertos bytes. Esos bytes pueden estar en memoria onecesitar leer varios bloques, ademas de obligar a una escriturapara librar un bufer del sistema.

El sistema pasara de bytes a bloques de fichero, segun eltamano de bloque (definido al formatear), y de bloque relativode fichero a bloque absoluto de disco, consultando el FS.

El controlador o driver (manejador) traducira de bloqueabsoluto de disco a cilindro, pista y sectores.

9 / 43

Page 10: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Traduccion de direcciones

10 / 43

Page 11: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Modos de ubicacion

Correspondencia entre bloque relativo de fichero y bloqueabsoluto de dispositivo:

Contigua: los bloques de ficheros se ubicanconsecutivamente, por lo que solo se necesita unpuntero al primer bloque y el nº de bloques delfichero. Crece de forma muy dificultosa, por loque es interesante para CD-ROM y otrosdispositivos de solo lectura.

Encadenada: bloques dispersos, los ficheros son listas debloques. Si el puntero al siguiente bloque esta enlos bloques, hay que leer los bloques anteriores alque queremos acceder, y esto produce muchosfallos. Si la lista se implementa externa a losbloques se evitan estos problemas, como haceFAT.

11 / 43

Page 12: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Modos de ubicacion

Correspondencia entre bloque relativo de fichero y bloqueabsoluto de dispositivo:

Indexada: Los apuntadores se almacenan separados enbloques para cada fichero, para cargar la ubicacionde solo los ficheros que estan abiertos.Los bloques de punteros pueden formar una lista oun arbol.

12 / 43

Page 13: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Contigua

13 / 43

Page 14: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Encadenada

14 / 43

Page 15: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Indexada

15 / 43

Page 16: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Gestion del espacio libre

Gestion del espacio libre: bloques de tamano fijo ⇒ mapa debits (excepto ubicacion contigua, que se puede pensar que losficheros son las unidades de uso del disco)

Ya que el acceso a los ficheros es normalmente secuencial, lomas eficiente es ubicarlos de forma contigua (cabezales,rotacion). Por ello se usan listas de huecos (tiras de bloqueslibres) en vez de o junto a los mapas de bits.

Tiene sentido hablar de fragmentacion externa y necesidad decompactacion, ya que compactando no se optimiza en espacio,sino en tiempo de acceso.

16 / 43

Page 17: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

FAT

17 / 43

Page 18: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

inodo

18 / 43

Page 19: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Sistemas multiusuario

Gestion de personas usuarias y sus datos.

Uso compartido, simultaneo o alternado

Identificacion de usuarias, autenticacion (contrasena)

Mecanismos de seguridad en el acceso a la informacion:ficheros y procesos

19 / 43

Page 20: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros¿�e es un Sistema deFicheros?

Gestion de ficheros

Representacion de losdirectorios

Compartir ficheros entredirectorios

Traduccion de direcciones

Modos de ubicacion

Gestion del espacio libre

Gestion de sistemasmultiusuario

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?

Gestion de sistemas multiusuario

Contabilidad (reparto (cuotas), cobro, parametrizacion)

Seguridad: Confidencialidad, Integridad y Disponibilidad

Privilegios en el acceso a recursos

20 / 43

Page 21: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

PermisosDominios de proteccion

Dominios en Unix

Estructura del inodo

Operacion sobrepermisos yficheros

¿Mas preguntas?

1 Sistemas de Ficheros

2 Permisos

3 Operacion sobre permisos y ficheros

4 ¿Mas preguntas?

21 / 43

Page 22: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

PermisosDominios de proteccion

Dominios en Unix

Estructura del inodo

Operacion sobrepermisos yficheros

¿Mas preguntas?

Dominios de proteccion

Formalizacion del sistema de permisos.

Dominios: grupos de elementos actores (procesos, usuarios)

Recursos: informacion o dispositivos

Operaciones: acciones permitidas para ese Dominio sobre eseRecurso

Ejemplo: el grupo alumno (Dominio) tiene permitida laoperacion de acceso de lectura sobre el Recursofichero.txt

22 / 43

Page 23: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

PermisosDominios de proteccion

Dominios en Unix

Estructura del inodo

Operacion sobrepermisos yficheros

¿Mas preguntas?

Dominios en Unix

Privilegios posibles: ninguno, conocimiento, ejecucion,acceso, lectura, adicion, escritura, borrado. . .

UNIX: Lectura, Escritura y Ejecucion

Dominios: Propietario, Grupo y Resto/Otrosu:rwx,g:rwx,o:rwx

La informacion de proteccion se encuentra en el inodo oi-node.

23 / 43

Page 24: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

PermisosDominios de proteccion

Dominios en Unix

Estructura del inodo

Operacion sobrepermisos yficheros

¿Mas preguntas?

Estructura del inodo

Contenido de cada inodo:

Tipo de fichero: ordinario, directorio, dispositivo decaracteres, dispositivo de bloques, tuberıa, enlacesimbolico, socket.Permisos u:rwx,g:rwx,o:rwxPropietario y GrupoTamano del ficheroFechas de acceso, modificacion y creacionnumero de enlaces duros (numero de nombres en elsistema de ficheros)otros datos (Sticky Bit, SUID, SGID)http://thegeekdiary.com/what-is-suid-sgid-and-sticky-bit/Estructura de datos que contiene los numeros de losbloques del disco donde estan los datos del fichero.

24 / 43

Page 25: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

PermisosDominios de proteccion

Dominios en Unix

Estructura del inodo

Operacion sobrepermisos yficheros

¿Mas preguntas?

Datos del inodo

Datos del inodo:

1 $ stat xFichero: ((x))Tamano: 7251 Bloques: 16

4 Bloque E/S: 4096 fichero regularDispositivo: 801h/2049d Nodo-i: 3666Enlaces: 2

7 Acceso: (0755/-rwxr-xr-x)Uid: ( 1001/ pablo) Gid: ( 1001/ pablo)Acceso: 2016-02-15 01:08:46.508050011 +0100

10 Modificacion: 2016-02-14 22:18:16.641342925 +0100Cambio: 2016-02-15 00:56:33.103508887 +0100Creacion: -

25 / 43

Page 26: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

PermisosDominios de proteccion

Dominios en Unix

Estructura del inodo

Operacion sobrepermisos yficheros

¿Mas preguntas?

Estructura del inodo

El inodo contiene ademas una estructura de datos que contienelos numeros de los bloques del disco donde estan los datos delfichero.

Por ejemplo, tenemos una particion que lo forman 230 bloques(un “GigaBloque” 1 ) de 4KB (en total, 4TB).

Una particion es una matriz unidimensional de bloquesnumerados con un entero (30 bits). Se identifica con, porejemplo, /dev/sda1

Un fichero de 38 KB ocupara 10 bloques. Depende del sistemade ficheros si los bloques son contiguos o no, en la tabla que esel disco.

1 210=1K 220=1M 230=1G 240=1T 250=1P 260=1E26 / 43

Page 27: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

PermisosDominios de proteccion

Dominios en Unix

Estructura del inodo

Operacion sobrepermisos yficheros

¿Mas preguntas?

Estructura del inodo

27 / 43

Page 28: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

PermisosDominios de proteccion

Dominios en Unix

Estructura del inodo

Operacion sobrepermisos yficheros

¿Mas preguntas?

Estructura del inodo

28 / 43

Page 29: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

PermisosDominios de proteccion

Dominios en Unix

Estructura del inodo

Operacion sobrepermisos yficheros

¿Mas preguntas?

Control de los permisos sobre un fichero

El control de los permisos sobre un fichero se realiza al abrir elfichero.

29 / 43

Page 30: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

PermisosDominios de proteccion

Dominios en Unix

Estructura del inodo

Operacion sobrepermisos yficheros

¿Mas preguntas?

Control de los permisos sobre un fichero

El control de los permisos sobre un fichero se realiza al abrir elfichero.

30 / 43

Page 31: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficherosLınea de comandos

Llamadas al Sistema

¿Mas preguntas?

1 Sistemas de Ficheros

2 Permisos

3 Operacion sobre permisos y ficheros

4 ¿Mas preguntas?

31 / 43

Page 32: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficherosLınea de comandos

Llamadas al Sistema

¿Mas preguntas?

Lınea de comandos

mkdir directoriols -ali

3 stat nombrefichero.txttouch ficheronuevo.txtumask ---> 0002

6 ls -l ficheronuevo.txt -->-rw-rw-r-- 1 pablo pablo 0 feb 16 18:46 fich...

9 rwx rwx rwx rwx rwx rwx110 110 110 111 100 0006 6 6 7 4 0

32 / 43

Page 33: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficherosLınea de comandos

Llamadas al Sistema

¿Mas preguntas?

Lınea de comandos

1 chown pablo:pablo fichero.txtchgrp pablo fichero.txtchmod u+rwx fichero.sh

4 chmod a+x fichero.shchmod 740 fichero.sh

7 bash fichero.sh. fichero.sh./fichero.sh

33 / 43

Page 34: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficherosLınea de comandos

Llamadas al Sistema

¿Mas preguntas?

Programa de ejemplo de Llamadas al Sistema

Programa de ejemplo de Llamadas al Sistema

#include <stdio.h>#include <sys/types.h>

3 #include <sys/stat.h>#include <fcntl.h>#include <unistd.h>

6 int main(){int fd; // entrada en la tabla de canalesfd=open("hola.txt", O_WRONLY|O_CREAT, 0666);

9 write(fd, "Hola...\n",8);close(fd);return 0; // Para verlo,

12 // echo $? en la lınea de comandos}

34 / 43

Page 35: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficherosLınea de comandos

Llamadas al Sistema

¿Mas preguntas?

Programa de ejemplo con E/S de C

Programa de ejemplo con E/S de C, compatible para todos losSO.

#include <stdio.h>2 #include <stdlib.h>

int main () {5 FILE * fp;

fp = fopen ("fichero.txt", "w+");8 fprintf(fp, "Hola...\n");

fclose(fp);11

return(0);}

35 / 43

Page 36: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficherosLınea de comandos

Llamadas al Sistema

¿Mas preguntas?

Llamadas al Sistema

Apertura/lectura/escritura/ubicacion

int open (char *camino,int flags,int perm);2 int open (char *camino, int flags);int creat(char *camino, int perm);

36 / 43

Page 37: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficherosLınea de comandos

Llamadas al Sistema

¿Mas preguntas?

Llamadas al Sistema

Banderas (flags):

O_RDONLY O_WRONLY O_RDWR O_NDELAYO_APPEND O_SYNC O_CREAT O_EXCL O_TRUNC

3

numdescriptordefichero = open ("fich.c",O_WRONLY|O_CREAT|O_TRUNC, 0666);

close(numdescriptordefichero);6 fd = creat("fich.c", 0666);

Control de ficheros-directorios

int mkdir (char *path, mode_t mode);

37 / 43

Page 38: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficherosLınea de comandos

Llamadas al Sistema

¿Mas preguntas?

Llamadas al Sistema

Ficheros y control de dispositivos

int stat (char *path, struct stat *sbuf);2 int fstat (int fd, struct stat *sbuf);

struct stat {5

dev_t st_dev; /* ID of device containing file */ino_t st_ino; /* inode number */

8 mode_t st_mode; /* protection */nlink_t st_nlink; /* number of hard links */uid_t st_uid; /* user ID of owner */

11 gid_t st_gid; /* group ID of owner */dev_t st_rdev; /* device ID (if special file) */off_t st_size; /* total size, in bytes */

14 blksize_t st_blksize;/* blocksize filesystem I/O */blkcnt_t st_blocks; // num. 512B blocks allocatedstruct timespec st_atim; /* last access */

17 struct timespec st_mtim; /* last modification */struct timespec st_ctim; /* last status change */

20 };38 / 43

Page 39: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficherosLınea de comandos

Llamadas al Sistema

¿Mas preguntas?

Llamadas al Sistema

Multiusuario: permisos

1 int chmod (char *path, int modo);int chown (char *path,int propietario,int

grupo);

4 modo: R_OK, W_OK, X_OK, F_OK

int access (char *path, int modo);7 int umask (int modo);

uid_t getuid(void); uid_t geteuid(void);10 gid_t getgid(void); uid_t getegid(void);

39 / 43

Page 40: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficherosLınea de comandos

Llamadas al Sistema

¿Mas preguntas?

Llamadas al Sistema

Multiusuario: contrasenas

struct passwd *getpwnam(const char * nombre);2 struct passwd *getpwuid(uid_t uid);

struct passwd {5 char *pw_name; /* username */

char *pw_passwd;/* user password */uid_t pw_uid; /* user ID */

8 gid_t pw_gid; /* group ID */char *pw_gecos; /* user information */char *pw_dir; /* home directory */

11 char *pw_shell; /* shell program */};

40 / 43

Page 41: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?¿Mas preguntas?

1 Sistemas de Ficheros

2 Permisos

3 Operacion sobre permisos y ficheros

4 ¿Mas preguntas?

41 / 43

Page 42: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

Contenidos

Sistemas deFicheros

Permisos

Operacion sobrepermisos yficheros

¿Mas preguntas?¿Mas preguntas?

¿Mas preguntas?

¿Mas preguntas?

42 / 43

Page 43: 3 Sistemas de ficheros, CLI, usuarios FS, CLI...Compartir ficheros entre directorios Enlaces durosUn enlace duro referencia un inodo desde un directorio, y el inodo almacena el numero

3 Sistemas de ficheros, CLI,usuarios

Introduccion a los Sistemas Operativos,2019-2020

Pablo Gonzalez Nalda

Depto. de Lenguajes y Sistemas InformaticosEU de Ingenierıa de Vitoria-Gasteiz,

UPV/EHU

18 de febrero de 2020