130 likes | 335 Views
Tema 2 Organización de un sistema operativo tipo Linux. Msc. Rina Arauz. Índice 1. Ficheros 2. Procesos 3. Dispositivos 4. Estructura genérica del sistema de ficheros. 1. Ficheros. * En UNIX/Linux TODO es un fichero:
E N D
Tema 2 • Organización de un sistemaoperativo tipo Linux Msc.Rina Arauz
Índice • 1. Ficheros • 2. Procesos • 3. Dispositivos • 4. Estructura genérica del sistema de ficheros
1. Ficheros • * En UNIX/Linux TODO es un fichero: • * Las órdenes son ficheros, p.e./bin/lso /usr/bin/find • * Dispositivos de E/S, p.e/dev/sda, /dev/fdOo /dev/ttyO • * Comunicación entre procesos: sockets o tuberías (pipes) • * , Los directorios, los ficheros de datos, los ficheros deconfiguración etc. • * El núcleo del sistema operativo, etc. • * Linux/UNIX tiene una estructura jerárquica dedirectorios conocida como sistema de ficheros: • * Donde / es el directorio raíz • * Puede estar compuesto por varios sistemas de ficheros,pertenecientes a otras particiones, discos, dvd’s, ..., que una vezmontados, estarán disponibles desde la jerarquía de directorios
Montar es hacer que el sistema operativo proyecte el contenido de ese dispositivo o partición en un enlace lógico (un directorio). mount es un comando de sistemas basados en Unix que se utiliza para montar dispositivos y particiones para su uso por el sistema operativo.
1. Ficheros • * El acceso de los ficheros está organizado en: • * Dos propietarios: usuario y grupo • * chown => cambiar el usuario propietario. Sólo el rootpuede realizarlo • * chownrinafichero* chown [-R] rina directorio • -R operar sobre archivos y directorios recursivamente • * chownrina.profesorfichero (¡Ojo! Aquí cambiamos usuario y grupo) • * chgrp => cambiar el grupo propietario. Puede hacerlo el propietario del ficheropero tiene que pertenecer al nuevo grupo. El roottambién puede cambiarlo • * chgrp profesor fichero* chgrp [-R] profesor directorio • * Permisos (r;w, x): para el usuario propietario, el grupo propietario • y el resto de usuarios (que no son el propietario ni miembros del grupo) • * chmodu+r fichero * chmod [-R] g+w directorio * chmod 740 fichero Acceso Fichero Directorio r Ver el contenido Listar el contenido w Modificar el contenido Crear/eliminar ficheros X Ejecutar Entraren el directorio
chmod +t dir sticky chmodu+sarch rwxrwxrwx rwxrwxrwt chmodu+sdir suid suid rwx r-xr-x rwS r-xr-x rwxrwxrwx rwsrwxrwx Ejm: /tmp Cualquiera rwx NO borrarlo, pertenece root Ejm: /bin/su chmodg+sdir chmodg+sarch sgid sgid rwxrwxrwx rwxrwsrwx rwxrwxrwx rwxrwSrwx
1. Ficheros • * Permisos especiales: • * t (sticky bit) => chmod+t fichero • Para directorios => si tienes permiso de escritura en el directorio, puedes crear • ficheros pero sólo puedes borrar los que te pertenecen. • El directorio /tmp tiene los permisos drwxrwxrwxt • Sólo tiene sentido si tiene permisos de escritura para todos (drwxrwxrwx) • * El directorio /tmptiene los permisos drwxrwxrwt • *suid=> chmodu+sfichero • Para ejecutables => cambio de dominio a nivel de usuario. • Significa que el que lo ejecute va a tener los mismos permisos que el que creó el archivo. • Para que sea efectivo el archivo debe tener permisos de ejecución. • * El ejecutable "gestorbd" lee el fichero "basedatos": • _rwxr_xr_xrootroot /opt/bin/gestorbd_rw_______ rootroot /opt/datos/basedatos • * El usuario rinapuede ejecutar "gestorbd" pero NO leer "basedatos" • * rinaSÍ podrá leer "basedatos" si "gestorbd" tiene los permisos: • _rwsr_xr_xrootroot /opt/bin/gestorbd
1. Ficheros • Permisos especiales * sgid => chmodg+s fichero • Para ejecutables => cambio de dominio a nivel de grupo. • Durante la ejecución el grupo efectivo del proceso es el propietario del fichero y no el • grupo del usuario que lo ejecutó • * El ejecutable "gestorbd" lee el fichero "basedatos": • _rwxr_xr_xrootroot /opt/bin/gestorbd_rw_rw____ rootroot /opt/datos/basedatos • * Los miembros del grupo "alumnos" pueden ejecutar "gestorbd"pero NO leer "basedatos" • * Ahora SÍ podrán leer "basedatos" con los permisos: • _rwxr_sr_xrootroot /opt/bin/gestorb • Para directorios => al crear un fichero en su interior, el grupo propietario del • nuevo fichero es el grupo del directorio y no del usuario que ejecuta la orden • * Si el usuario "rina" sólo pertenece al grupo "profesor" • * Se tiene el directorio "drwxrwsr_xrinaalumnos /practicas" • * Si "rina" ejecuta "cp tema2.pdf /practicas" entonces elfichero copiado pertenecerá al grupo "alumnos": • rw_r__r__ rinaalumnos /practicas/tema2.pdf
1. Ficheros • * Tipos de ficheros: Normal, directorio (d), especial de bloque (b),especial de carácter (c), enlace físico, enlace simbólico (l), socket(s), pipe (p) • * Enlace físico: dos nombres de fichero apuntando al mismo nodo-i: • * Sólo es posible entre ficheros que estén en la misma partición • * No se pueden realizar a directorios • * Si se hace en ficheros que están en el mismo directorio, habrá dos entradas conel mismo número de nodo-i pero distinto nombre de fichero • [rina@ditecTEMA2]$ ln tema2.tex enlace.fisico[rina@ditecTEMA2]$ ls -li tema2.tex enlace.fisico9901 -rw-r--r-- 2 rinausers 8819 feb 16 19:34 enlace.fisico9901 -rw-r--r-- 2 rinausers 8819 feb 16 19:34 tema2.tex • * Enlace simbólico: un nuevo fichero con su nodo-i propio y almacenala ruta del fichero del que es enlace • [rina@ditecTEMA2]$ ln -s tema2.tex simbol • [rina@ditecTEMA2]$ ls -li tema2.tex simbol • 9907 lrwxrwxrwx 1 rinausers 9 feb 16 19:38 simbol -> tema2.tex • 9901 -rw-r--r-- 2 rinausers 9084 feb 16 19:38 tema2.tex
2. Procesos • * Un proceso es un programa en ejecución • * Atributos de un proceso: • * PID =>identificador del proceso • * PPID =>identificador del proceso padre • * Nicenumber=>prioridad asignada al ejecutarlo • * tty =>terminal en el que se está ejecutando • * RUID =>identificador del usuario real, el que lo ejecutó • * EUID =>identificador del usuario efectivo, si hay cambio dedominio se refleja aquí. (Permiso suid) • * RGID =>identificador del grupo real, el grupo del usuario que loejecutó • * EGID =>identificador del grupo efectivo, si hay cambio dedominio se refleja aquí. (Permiso sgid) • * Tipos de procesos: interactivos (primer o segundo plano), encoladoso batchy demonios
3. Dispositivos • * Los dispositivos se representan/manejan como ficheros • * Ficheros especiales de caracteres =>representan a dispositivosde caracteres: cinta magnética, puerto paralelo, puerto serie, ... • * Ficheros especiales de bloque =>representan a dispositivos debloques: disquete partición del disco duro, disco duro entero, ... • * Esos ficheros se almacenan en el directorio /dev: • * /dev/fd0 =>disquete de la primera disquetera (A: en Windows) • * /dev/sda =>primer disco duro (sin considerar particiones) • * /dev/sda1 =>primera partición del primer disco • * /dev/sdb =>segundo disco duro • * /dev/sdc => disco USB (se utiliza emulación SCSI, se usa el primer nombrede dipositivo libre sdb, o sdc, o sdd, etc.) • * /dev/sdc1 =>partición de un disco USB • * /dev/tty1 => primera terminal de consola • * /dev/tty2 =>segunda terminal de consola • * /dev/lp0 =>primer puerto paralelo
4.- Estructura genérica del sistema de ficheros • * /bin => ficheros ejecutables básicos • * /dev => ficheros especiales de dispositivos • * /etc => la mayoría de los ficheros de configuración del sistema • * /sbin => ficheros ejecutables de administración (que, normalmente, • sólo el administrador puede ejecutar) • * /home => los directorios de trabajo de los usuarios • * /lost+found => localizaciones de disco marcadas como en uso enlas estructuras de datos del disco, pero no están listadas en ningún • directorio. (Contiene "referencias" a los ficheros marcados como erróneos alchequear el sistema de ficheros) • * /lib => librerías compartidas • * /procy /sys => sistemas de ficheros virtuales, contienen informaciónsobre procesos, núcleo, módulos cargados y los dispositivos • * /tmp => ficheros temporales. Tiene el permiso t activo • * /var => subdirectorios de spool (impresión, e-mail, cron, atd, log, etc.)
4.- Estructura genérica del sistema de ficheros • * /boot => núcleo y ficheros necesarios para cargar el núcleo yficheros de configuración del gestor de arranque • * /mntó /media => montaje de otros SF: disquetes, cdroms: • * /mnt/floppyó /media/floppy • * /mnt/cdromó /media/cdrom • * /usr => contiene subdirectorios con distintas funcionalidades: • * /usr/bin => ficheros ejecutables por todos los usuarios • * /usr/sbin => ficheros ejecutables de administración • * /usr/include => ficheros cabecera de C • * /usr/lib => librerías • * /usr/local => software local • * /usr/share => datos compartidos (o que pueden ser compartidos por • varios ordenadores en red) • * /usr/share/man • * /usr/share/doc • * /usr/src => código fuente, como el del kernel