3 sistemas de ficheros, cli, usuarios fs, cli...compartir ficheros entre directorios enlaces durosun...
Post on 17-Jun-2020
11 Views
Preview:
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Contenidos
Sistemas deFicheros
PermisosDominios de proteccion
Dominios en Unix
Estructura del inodo
Operacion sobrepermisos yficheros
¿Mas preguntas?
Estructura del inodo
27 / 43
Contenidos
Sistemas deFicheros
PermisosDominios de proteccion
Dominios en Unix
Estructura del inodo
Operacion sobrepermisos yficheros
¿Mas preguntas?
Estructura del inodo
28 / 43
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
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
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
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
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
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
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
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
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
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
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
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
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
Contenidos
Sistemas deFicheros
Permisos
Operacion sobrepermisos yficheros
¿Mas preguntas?¿Mas preguntas?
¿Mas preguntas?
¿Mas preguntas?
42 / 43
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
top related