BLOQUE 0 - INTRODUCCIÓN A LA SHELL BASH
|
|
|
- José Ángel Blázquez Pinto
- hace 10 años
- Vistas:
Transcripción
1 BLOQUE 0 - INTRODUCCIÓN A LA SHELL BASH Shell: Literalmente concha, caparazón. Entorno de trabajo en el que se ingresa al entrar en un sistema Unix/Linux en modo texto Bash es la shell estándar de facto, pero hay otras posibilidades como se puede ver en el archivo /etc/shells. Para cada usuario viene indicada la shell por defecto en el archivo /etc/passwd en su 7º campo. Tambien en la variable de entorno SHELL (comprobar echo $SHELL). Se compone de: un intérprete de órdenes estructuras de control para elaborar algoritmos (scripts) Su funcionamiento es el siguiente: Cuando ejecuta la orden: Lee la entrada de caracteres por teclado o desde un fichero (script) Divide esa entrada en palabras y operadores (tokens) Genera nombres de archivo a partir de metacaracteres, sustituye los valores de las variables y realiza expansiones de patrones (si hay cualquiera de estas tres cosas) Redirecciona la entrada/salida si procede (Por defecto, stdin,stdout y stderr están asociadas a la consola, pero se puede redireccionar a otros ficheros) Ejecuta las órdenes, realizando sustitución si es necesario (alias) y comprobando si es interna (built-in) o externa, en cuyo caso buscará el path en que se encuentra Espera que éstas terminen y devuelvan un código de estado (0 si todo ha ido bien) Hace una llamada al sistema para crear un proceso hijo (fork, bifurcación) Hace una llamada exec que inicia el programa a ejecutar Fork implica una división en 2 ejecuciones, el proceso padre puede quedarse a la espera (wait) o ejecutarse concurrentemente. Para ello se pone a trabajar en segundo plano. Los procesos por los que el shell espera su terminación, se ejecutan en primer plano (foreground) y los que se ejecutan a la vez que el shell se denominan procesos en segundo plano (background) Una parte de las órdenes que ejecuta la shell son internas (built-ins), esto es, comandos que vienen ya implementados dentro de la propia bash, no hay que buscarlos y cargarlos desde archivos externos, por lo que se ejecutan mucho más rápido que los comandos externos (no built-ins). Algunos comandos poseen ambas versiones, pero a menos que se indique lo contrario, siempre elegirá el interno para su ejecución. 1
2 FICHEROS DE CONFIGURACIÓN DE LA BASH En Linux todos los detalles de configuración del entorno de la bash son visibles y modificables, y están repartidos por varios scripts: /etc/profile : contiene la configuración del entorno de usuario para todos los usuarios: declaración de variables, y ejecución de una serie de scripts de configuración (Ver) ~/.bash_profile : información específica para cada usuario, declara nuevas variables e invoca al siguiente script ~/.bashrc : configuración específica para un usuario. Puede modificar lo que está especificado en el siguiente /etc/bashrc : fichero de configuración genérico para todos los usuarios de la bash, que incluye los alias para todos ~/.bash_logout : fichero que se ejecuta al salir del sistema ( junto al 2º y 3º están en /etc/skel y son copiados al directorio de usuario al ser añadido éste al sistema) ~/.bash_history : histórico de comandos ejecutados por la bash, el numero de líneas viene determinado por la vble HISTSIZE (establecida en /etc/profile) VARIABLES DE ENTORNO Hay una serie de variables predefinidas que configuran el entorno de la shell. Algunas de las más utilizadas son: HOME : contienen el directorio raiz del usuario actual, tal como aparece en /etc/passwd PATH: lista de directorios en los que la shell buscará los ejecutables, de izquierda a derecha PS1: prompt primario del sistema PS2: prompt secundario, si el comando es interactivo PWD : directorio actual TERM: características del terminal actual... Obsérvese que se definen en mayúsculas por convenio. También se pueden definir por el usuario nuevas variables, que al ser exportadas por el comando export, pasan a formar parte del entorno de los procesos hijos del proceso actual. Hay dos áreas de memoria para almacenar las variables de la shell: el área local de datos (por defecto) entorno: para que una variable nueva, o modificada se comparta con los procesos hijos 2
3 Algunos comandos relacionados con la manipulación de variables son: set : muestra todas las variables de entorno y locales definidas, junto con sus valores env : muestra las variables de entorno y sus valores unset vble : devuelve el valor NULL a la variable especificada echo $vble : muestra el valor de la variable indicada export vble : exporta el valor de la variable establecido localmente a todos los procesos hijo Veamos como ejemplo cómo personalizar el prompt: El valor predeterminado es: PS1= [\u@\h \W] Algunos de los posibles componentes son: \h : nombre del computador hasta el primer punto (del nombre de dominio) \H: nombre del computador completo \n : salto de línea \s : nombre de la shell \t : hora actual \w : directorio de trabajo completo \W : directorio de trabajo (solo última parte) \$ : para root, un $, para otros, # \\ : una barra inclinada ALIAS Y SUSTITUCIÓN DE ÓRDENES Sustitución Si se encierra entre comillas invertidas (`) la invocación de un comando, éste es sustituido por lo que genera hacia stdout. Así se puede, p.ej asignar a una variable dicha salida: ejemplo: fecha=`date` Si a continuación ejecutáramos: echo $ejemplo veríamos la salida del comando date anterior. Alias Se puede renombrar un comando con opciones si se desea mediante el comando alias. P. ej: alias dir= ls -al A partir de este punto, invocar dir será como invocar a ls -al. Se suele utilizar para acortar ciertas combinaciones de opciones habituales en un comando, o para establecer versiones más seguras de comandos potencialmente peligrosos (Ver ~/.bashrc) 3
4 Se desactiva la asignación de alias con el comando unalias Redirección ejemplo: unalias dir La situación de la E/S para todos los comandos es, por defecto: el canal de entrada de datos es stdin, que tiene el descriptor de fichero 0 asociado el canal de salida de datos es stdout, con el descriptor 1 el canal de salida de error es stderr, con el descriptor 2 Pero antes de que una orden se ejecute, su entrada, salida y salida de error se pueden redirigir hacia otro archivo: Para redirigir entrada: < Para redirigir salida: > Para redirigir la salida de error: 2> Para la salida de error, habiendo redirigido ya la salida: ejemplo: cat < pp ejemplo: ls > pp ejemplo: ls dir 2> pp ejemplo: ls dir > pp 2>&1 Además, si se usa >> o 2>> se evita que se produzca sobreescritura en el fichero destino de la salida TUBERÍAS O PIPES La salida de un comando (que debe generar una salida a stdout por defecto) se conecta a la entrada de otro (que debe tomar una entrada por defecto de stdin). El símbolo de tubería es Ejemplo: ls -al sort -r El comando tee genera una T como las de fontanería, de manera que se duplica la salida: una copia sigue por la tubería y otra se envía a un fichero. Ejemplo: ls -al tee archivo.txt sort -r Con tuberías se pueden enlazar una serie de comandos simples hasta formar complejas operaciones. LISTAS DE COMANDOS Son secuencias de comandos enlazadas por uno de los siguientes operadores: ; : los comandos separados por ; se ejecutan secuencialmente. Se utiliza para incluir más de un comando en una línea & : si un comando termina con un & pasa a ejecutarse en segundo plano en una subshell &&: entre dos comandos simples provoca la ejecución del primero, y si éste se 4
5 ejecuta sin problemas, entonces pasa a ejecutarse el segundo : entre dos comandos, si el primero provoca algún problema en su ejecución, entonces se ejecuta el segundo, sino, no ( y ) : una serie de comandos entre paréntesis se ejecutan en una subshell EXPANSIÓN DE NOMBRES DE FICHEROS En la mayoría de los comandos que manipulan archivos y que serán estudiados más adelante (p. ej. ls, rm, etc), se pueden emplear pseudocaracteres que son interpretados por la shell:? : es el carácter comodín, que puede sustituirse por cualquier otro, salvo el punto inicial *: comodín múltiple, puede sustituirse por 0 ó más caracteres cualesquiera, salvo el punto inicial [ y ]: enmarcan a una serie de caracteres, cualquiera de los cuales son válidos en la expansión. Si el primer carácter contenido es!, indica los valores contrarios a los recogidos. Se pueden indicar rangos con el guion - OTROS CARACTERES ESPECIALES Comando history $: delante del nombre de una vble, indica su contenido ` : comilla invertida, enmarca un comando para provocar su sustitución : comillas débiles, protegen el contenido literal de un string, salvo el $ del valor de una variable, la comilla invertida (`), la comilla simple (') y el \ ': es más fuerte que y protege incluso a ésta y al $ de la expansión \: protege 1 solo carácter de interpretación y también se utiliza para ciertos caracteres especiales ~: sólo indica el directorio de trabajo del usuario actual, ~luis indica el directorio de trabajo del usuario luis, ~+ indica el dir de trabajo actual, y ~- indica el anterior Muestra el histórico de comandos ejecutados por la shell junto con un nº de orden. Para repetir una orden del histórico basta con poner!nº. También se pueden usar las flechas arriba y abajo para recorrerlo desde el prompt del sistema. 5
6 BLOQUE 1 - COMANDOS BÁSICOS EN UNIX/LINUX SALIDA DE SESIÓN Y APAGADO DEL SISTEMA logout: logout provoca el fin de la sesión de un usuario exit: exit [nº] provoca el fin de un proceso, que si es la shell implica el fin de la sesión. En caso de un subproceso, exit nnn devuelve un código de terminación, que si es 0 indicará que todo ha ido bien, y si es otro nº entre 1 y 255 será un código de error o anomalía. <Ctrl+D>: también provoca la salida de la sesión actual halt: halt provoca el apagado del sistema (solo root) poweroff: poweroff lo mismo que el anterior (solo root) shutdown: shutdown [ -t segundos] [-arkhncff] hora [mensaje-alerta] comando para apagarlo o reiniciar el sistema(solo root). Tiene varias opciones posibles. ejemplos: shutdown -h now mensaje (apaga ahora) shutdown -h 20:00 mensaje (apaga a las 20:00) shutdown -r now mensaje (reinicia ahora) La opción -t produce una demora en segundos sobre la hora programada. reboot: reboot rearranca el sistema (solo root) <Ctrl><Alt><Supr>: apagado del sistema. No utilizar a no ser que sea imprescindible sync: sync no pertenece a este grupo de comandos, pero conviene ejecutarlo antes de apagar o reiniciar. Su misión es vaciar el contenido de los buffers a disco y actualizar el superbloque (Ver bloque 3). 6
7 wall: wall [mensaje] envía un mensaje a todos los usuarios conectados. No sólo se usa en caso de apagado del sistema, pero aquí es muy útil. Sólo lo puede usar root. <Ctrl><Alt><F1> a <F6> : permuta entre terminales virtuales en modo texto. Permite tener varias sesiones abiertas (ver /etc/inittab) <Ctrl><Alt><F7> a <F12>: ídem entre terminales en modo gráfico Para abrir un nuevo terminal en modo gráfico, basta con pulsar el icono de terminal o elegir la opción de nuevo terminal a partir del menú de inicio. En modo gráfico, la forma de salir de la sesión es, a partir del botón de inicio de KDE o GNOME, eligiendo la opción terminar, lo que nos sacaría de la sesión a la pantalla de login previa, en la que se puede nuevamente elegir si apagar, reiniciar o ingresar como otro usuario COMANDOS DE AYUDA E INFORMATIVOS apropos: apropos string busca las páginas de ayuda en las que aparece el string indicado. whatis : whatis comando da una breve explicación sobre el comando que se le indique como parámetro man: man comando visualiza las páginas del manual acerca del comando que se le indique info: info comando permite el acceso a la ayuda online de un comando. Creado por la FSF Las páginas man e info son accesibles desde el entorno gráfico en formato HTML a partir del menú de inicio. Seleccionando Ayuda. type: type comando indica que tipo de comando es el que se le pasa como parámetro (alias, built-in,...) y en qué directorio está en caso de ser externo whereis: whereis comando indica en qué directorio está el comando, el fuente y la página man correspondientes 7
8 locate, slocate: locate fichero búsqueda rápida de ficheros a través de una base de datos mantenida por el sistema (ojo, la primera es un enlace a la segunda) updatedb: updatedb fuerza la actualización de la base de datos que utiliza slocate who: who indica qué usuarios están actualmente en el sistema. Consultar todas sus opciones en la página man. whoami: whoami indica quien soy yo de manera efectiva. Si cambiamos a otro usuario en una sesión indica esta última identidad. uname: uname [opciones] muestra información sobre el sistema. Con la opción -a muestra todos los detalles. Ver opciones. COMANDOS DIVERSOS script : script archivo activa un volcado de toda la sesión del terminal al fichero indicado en el parámetro. Finaliza con <Ctrl+D> date: date [+ cadena formato ] muestra la fecha y hora y puede ajustarse a un formato específicado. Tiene infinidad de opciones: %a: da el día de la semana abreviado %A: idem sin abreviar %b: el mes abreviado %B: el mes sin abreviar %D: da la fecha en formato mm/dd/aa %H: da la hora en formato 24 h %I: da la hora en formato 12 h %N: muestra los nanosegundos... Para verlas todas, consultar la página man cal: cal [opciones] muestra una hoja de calendario, por defecto sólo el mes actual, pero tiene muchas opciones. 8
9 clear: clear borra la pantalla time: time comando muestra el tiempo de CPU que consume un comando fortune: fortune muestra un mensaje tipo galleta de la fortuna echo: echo expresión muestra un string o el contenido de una variable. Entre las opciones más interesantes están: n: no salta de línea al terminar e: posibilita la interpretación de caracteres especiales precedidos por \ 9
10 BLOQUE 2 -COMANDOS DE MANIPULACIÓN DE ARCHIVOS Y DIRECTORIOS touch: touch [-t fecha] fichero Si el fichero no existiera, lo crea vacío. Si ya existe, le cambia la fecha de última modificación a la actual. Con una indicación de -t fecha, en formato AAAAMMDDHHMMSS lo cambia a la fecha indicada file: file archivo indica qué tipo de información contiene el archivo especificado como parámetro cd: cd directorio cambia el directorio de trabajo al especificado. Se pueden indicar de manera absoluta o relativa. Un punto (.) indica el directorio actual, y dos puntos (..) indica el directorio padre. Un guion indica el anterior directorio de trabajo mkdir: mkdir directorio crea un nuevo directorio. Si se indica la opcion -p puede crear los directorios padres que sean necesarios si se indica un camino inexistente previamente cp: cp archivos directorio copia archivos o directorios de un origen a un destino. Ver opciones en las páginas man mv: mv origen destino mueve o renombra archivos o directorios. Ver opciones rm: rm archivos borra ficheros o directorios si se indica la opción -r. OJO: No son recuperables rmdir: rm directorios borra directorios vacíos. La opción -r borra aunque no esté vacío incluso subdirectorios y todo lo que haya por debajo pwd: pwd muestra cual es el directorio actual 10
11 ls: ls [opciones] ficheros lista las características de los archivos de un directorio. Tiene muchísimas opciones. Algunas de las más útiles son: -a muestra los archivos ocultos -l formato largo (ver significado de cada columna de información) -R recursivamente (también subdirectorios) -d sobre el propio directorio, no su contenido -i muestra el inodo del fichero -F identifica los directorios con / y los ejecutables con * cat: cat [opciones] [ficheros] concatena archivos y los muestra por salida estándar. Si sólo se indica uno, muestra su contenido. Es muy útil utilizándolo en tuberías y redirecciones. Ver todas sus opciones more: more archivo muestra el contenido de un archivo pantalla a pantalla less: less archivo muestra el contenido de un archivo como more, pero se puede ir hacia atrás. Es un more mejorado od: od archivo vuelca a pantalla ficheros en octal ln: ln [-s] fich_original fich_enlace crea enlaces entre ficheros. Hay dos tipos de enlaces: duro: sólo hay un fichero, que tiene varios nombres. Si se borra un nombre, siguen estando los demás, con lo cual el fichero desaparece cuando se borra el último. En el directorio aparece incrementado el nº de referencias y aparecen con idéntico inode blando (opcion [-s]):indica un path al único fichero original. Si se borra el fichero original, el enlace queda roto. Puede haber enlaces blandos entre distintos sistemas de ficheros Es un comando especialmente delicado ya que hay que situarse en el directorio en el que se quiere crear el enlace antes de invocarlo, de lo contrario el enlace aparece roto. MTOOLS Son utilidades para manipular archivos en formato MS-DOS. Cada comando tiene idéntico nombre a su equivalente en MS-DOS pero con una m delante. Por ejemplo: 11
12 mdir directorio mattrib [+/- h r s] archivo mmd directorio mcopy origen destino mmove origen destino mrd directorio mcd [directorio] mdel archivo mformat [-t pistas] [-h cabezas] [-s sectores] [-l etiqueta] a: mlabel [etiqueta] a mren n_antiguo n_nuevo mtype archivo muestra el contenido del directorio cambia atributos del archivo crea directorio copia archivos mueve archivos borra directorio cambia de directorio borra archivo formatea disquete informa de o cambia la etiqueta a la unidad a renombra el archivo muestra el contenido del archivo Además: No es necesario montar y desmontar los disquetes Admiten para indicar los directorios / y \ Los comodines se ponen entre comillas para que no los expanda la shell Las opciones van con delante y no con / como era en MSDOS Échale un vistazo a /etc/mtools.conf para ver la denominación de las unidades de disco 12
13 BLOQUE 3 - SISTEMA DE ARCHIVOS. COMANDOS DE ADMINISTRACIÓN Se define un archivo como un conjunto de datos con un nombre asociado, que suelen residir en memoria secundaria. En Linux además, todo dispositivo es tratado como un archivo y cualquier archivo, no es para el sistema más que una secuencia de bytes. Los procesos en ejecución disponen de una serie de funciones de E/S del sistema operativo para poder manipular esos archivos, llamadas system calls: read, write, open, close. Todas estas llamadas al sistema son transparentes para el usuario. Un sistema de archivos es la parte del sistema operativo responsable de la administración de los datos en dispositivos de almacenamiento secundario. Al ser un entorno multiusuario, debe proporcionar un almacenamiento privado y seguro de la información, así como la posibilidad de establecer una compartición si así lo desean los usuarios. El sistema de archivos UNIX/LINUX tiene una serie de características estructurales: Es jerárquico, estructurado a través de directorios, aunque mediante la creación de enlaces se puede simular la existencia de un archivo en más de un directorio (DAGs frente a árboles) El directorio raíz es / y de él depende toda la estructura. Si hay varias unidades de almacenamiento, todas cuelgan de ahí, mediante una operación de montaje Los archivos se localizan a partir de su pathname absoluto, esto es, una descripción del camino a seguir desde el directorio raiz (/) hasta llegar a él (p.ej /home/pepe/ejercicios/uno, o relativo a partir del directorio actual ( si p. ej estoy en /home/pepe, sería ejercicios/uno. Obsérvese que no empieza por /) El directorio actual se referencia por. y el padre por.. Se pueden crear y borrar archivos y directorios, es por tanto dinámico Los datos están sujetos a protecciones que se materializan a través de distintos tipos de accesos: lectura, escritura y ejecución diferenciando también distintos tipos de usuarios autorizados: propietario, grupo y otros Se proporciona la posibilidad de realizar copias de seguridad y de cifrar/descifrar la información mediante utilidades Los dispositivos de E/S son tratados también como archivos. En realidad todo es un archivo Los archivos de datos se almacenan en bloques El nombre puede tener entre 1 y 255 caracteres y se puede utilizar cualquiera, pero es sensato no utilizar caracteres extraños (del ASCII 128 en adelante, p. ej) ni los que tengan otro significado para la shell: *? < > [ ]... 13
14 TIPOS DE ARCHIVOS En UNIX/LINUX se distingue entre los siguientes tipos de archivos: ordinarios directorios de dispositivo : - bloque (discos, cintas, etc...) - caracteres (terminales, impresoras,etc...) tuberías con nombre enlaces (duros y blandos) Para el kernel de linux, todos son únicamente secuencias de bytes. Archivos ordinarios También se les puede llamar archivos normales o regulares. Contienen texto ASCII, código fuente, ejecutables, imágenes, sonidos, etc Directorios Son archivos especiales que nos permiten clasificar y localizar otros archivos La estructura corresponde con una serie de entradas con: - nombre de archivo - nº de inode En cada inode está almacenada toda la información relativa al archivo No hay límite en el número de archivos o subdirectorios que pueden contener ni en el tamaño de cada archivo Un directorio, como hemos visto, se crea con mkdir y se borra con rmdir Estructura de directorios en Linux El FHS (Filesystem Hierarchy Standar) es un documento en el que se definen los nombres y la situación de muchos ficheros y directorios más o menos estándar en todas las versiones UNIX. El tronco principal es el directorio raíz, y a partir de él cuelgan normalmente los subdirectorios: /bin: contiene los comandos básicos del sistema operativo y programas de utilidad /sbin: comandos esenciales para la administración del sistema /boot: binarios de arranque del sistema y archivos de imagen del kernel /dev: todos los ficheros de interfaces con los dispositivos /etc: los ficheros de configuración del sistema /home: de aquí cuelgan los directorios de trabajo de los usuarios /root: directorio de trabajo del administrador /lib: librerías básicas y módulos del kernel /mnt: de aquí se cuelgan los sistemas de archivos montados /proc: no es un directorio físico, sino que reside en memoriade él cuelga información sobre los procesos en ejecución /tmp: almacena información temporal y para intercambio entre procesos /usr: programas y utilidades adicionales usadas por el sistema /var: ficheros de datos que varían continuamente: logs del sistema, datos administrativos, etc 14
15 Archivos de dispositivos Cada dispositivo de E/S puede tener uno o más archivos de dispositivo que se crean con la orden mknod. Estos archivos no contienen datos, sino información de la ubicación de los dispositivos y de como se va a comunicar Linux con ellos. Están todos en el directorio /dev y son de 2 tipos, de bloque o de carácter Archivos de dispositivos de bloque Transfieren datos del tamaño de un bloque (512, 1024, 2048 bytes). Son dispositivos de almacenamiento y acceso aleatorio. Para crearlos (aparte de los que ya vienen, que son muchos) hay que usar la orden mknod: mknod nombre tipo n_mayor n_menor El tipo puede ser c o b n_mayor es un nº común a todos los dispositivos del mismo tipo (2 para disquetes, 3 para discos duros) n_menor es un nº distinto para cada dispositivo de la misma familia Archivos de dispositivo de carácter Corresponden con cualquier dispositivo que no tenga un sistema de archivos montable. La E/S se realiza carácter a carácter, sin usar buffers intermedios. Algunos dispositivos pueden tener los dos tipos de archivo (llamados modo crudo y cocido). Algunos ejemplos de archivos de dispositivos son: /dev/hdxx particiones y unidades de disco duro IDE /dev/sdxx SCSI /dev/fdx unidades de disquete /dev/cdrom unidad de CDROM /dev/ttyxx terminal xx /dev/lpx impresora x Tuberías con nombre Son mecanismos de comunicación que permiten la transferencia de datos entre dos procesos. También se crean con mknod, pero utilizando la opción p: mknod tuberia p Para borrarla utilizaremos el comando rm como en los archivos ordinarios. 15
16 Enlaces simbólicos Ya los hemos comentado en el bloque anterior, pero recordaremos unas cuantas características: los enlaces blandos se pueden establecer entre distintos sistemas de archivos (unidades), los duros no los enlaces blandos aparecen en un listado ll como un puntero en celeste al archivo original, y con todos sus permisos activados, aunque en realidad son ignorados y se aplican los del archivo original si se borra el archivo original, el enlace blando queda desreferenciado y aparece destacado en rojo parpadeante el enlace duro tiene el mismo inode que el archivo original, ya que en realidad son un mismo archivo, y mantiene una cuenta de los enlaces totales al mismo inode que se puede visualizar en la segunda columna de un listado de directorio ll. Además los permisos son idénticos Sólo cuando se ha borrado la última referencia al archivo enlazado de manera dura, se elimina en realidad éste ESTRUCTURA DEL SISTEMA DE ARCHIVOS UNIX El núcleo de Linux (kernel) trabaja con el sistema de archivos a un nivel lógico y no trata a los dispositivos físicos directamente. Cada disco es un dispositivo lógico que tiene asociados dos números: minor number y major number, que se usan como índices dentro de una tabla de funciones del núcleo. Dentro del sistema de archivos ext2, los datos se almacenan en bloques de idéntico tamaño, generalmente 1024 bytes, aunque éste puede ser modificado si así se desea al crear el sistema de archivos. Los bloques de datos son asignados en su totalidad a un archivo en particular, esto es, si un archivo tiene como tamaño 25 bytes, ocupa un bloque de Si un archivo ocupa más de un bloque éstos no tienen por qué estar físicamente contiguos. A su vez, hay agrupaciones de bloques que forman una unidad superior para el control interno de la integridad. Linux debe ser capaz de controlar qué bloques corresponden a qué archivo, y en qué orden lo componen, si hay más de uno, así como que bloques están libres, y dónde, y cuales no. Toda esta información está contenida en un objeto del sistema de archivos denominada inode o inodo. El sistema de archivos tiene 4 partes: bloque de arranque o boot: ocupa el primer sector y contiene el código de boot del sistema superbloque: describe el estado del sistema de archivos en su totalidad. Es creado con el comando mkfs (lo veremos después). Es fundamental y su pérdida implica la pérdida total de los datos almacenados en el sistema de archivos que representa. Por lo general, se mantienen siempre varias copias en zonas distintas para casos de pérdida o daños. 16
17 Contiene: tamaño total del sistema de archivos tamaño de cada bloque de disco (normalmente 1024) cuantos bloques forman un grupo de bloques para el control de integridad lista de bloques libres tamaño de la lista de i-nodos nº de i-nodos libres lista de i-nodos libres en qué otro grupo de bloques se almacena la copia de este superbloque bandera (flag) que indica si el superbloque se ha modificado... lista de i-nodos índice: se encuentra a continuación del superbloque. Tiene una entrada por cada archivo del sistema, con una descripción. En el arranque se carga una copia en memoria llamada tabla de i-nodos. Cada i-nodo contiene toda la información acerca del archivo que representa: propietario y grupo tipo de archivo derechos de acceso fecha de la última modificación nº de enlaces tamaño del archivo entradas para los bloques de dirección: las entradas que apuntan a los bloques de dirección son 13. Las 10 primeras apuntan a bloques directamente y de esa forma los archivos pequeños pueden ser referenciados directamente. Los tres siguientes puntan a bloques indirectos de creciente nivel: simple, doble y triple Los i-nodos se empiezan a numerar a partir del 2, que es el número del del directorio raiz. El 0 queda reservado para para marcar en un directorio un archivo que ha sido borrado, y la 1 para los bloques erróneos (antiguamente). Por razones de compatibilidad esto se mantiene 17
18 Los boques de datos: comienzan a continuación de la lista de los nodos índice y ocupan el resto del sistema de archivos. Cada bloque sólo puede ser destinado a un sólo archivo tanto si lo ocupa en su totalidad como si no Conversión de denominación a través del path a número de i-nodo Vamos a ver como se obtiene un nº de i-nodo a partir del path de un archivo, ya que una vez que tengamos el inode, tendremos toda la información acerca de él. Supongamos que queremos obtener el inode de /usr/include/stdio.h 1. En el directorio raiz, cuyo inode es conocido (2) se busca un directorio cuyo nombre sea usr 2. Si existe, se lee su nº de inode 3. A partir de éste, se busca en los bloques de datos del directorio una entrada para include 4. Si existe y es un directorio, se busca su inode 5. Se repite el proceso hasta dar con el nombre stdio.h 6. Éste tendrá su nº de inode y a partir de él se localiza en la tabla de inodes la entrada correspondiente al archivo, que contendrá toda la información Sistemas de archivos reconocidos por Linux Se puede obtener toda la información en castellano a través de : man fs En /proc/filesystems están los que soporta un sistema particular, pero estos son los habituales: ext2 Sistema de archivos estándar de Linux ext3 Mejora del anterior, a partir de Rd Hat 8.0 msdos Para la compatibilidad con el sistema FAT de MSDOS vfat Para la compatibilidad con sistemas Windows 9x ISO 9660 Sistema de ficheros estándar para CDROM minix Minix original Minix Filesystem msdos MSDOS umsdos Linux en partición DOS, menor rendimiento hpfs Para la compatibilidad con OS/2 nfs Permite la compartición de sistemas de ficheros en red 18
19 sysv minix ext proc Para la compatibilidad con UNIX SystemV Primer sistema de ficheros utilizado por Linux Primer sucesor de Linux Sistema de archivos virtual de Linux para procesos COMANDOS PARA ADMINISTRAR EL SISTEMA DE ARCHIVOS Antes de utilizar una unidad, ésta debe estar formateada y debe crearse sobre ella una estructura de archivos Linux fdformat: fdformat unidad Se invoca para formatear a bajo nivel disquetes en el sistema nativo, por lo que en su uso más habitual sería: fdformat /dev/fd0 Desde el entorno gráfico sería: Inicio -> Herramientas del sistema -> Formateador de disquetes mkfs: mkfs [-t sistema_archivos] [opciones] dispositivo [bloques] Crea un sistema de ficheros en una partición o unidad. Si no se especifica el tipo de sistema se asume el nativo ext2. El dispositivo se puede indicar directamente o a través del punto de montaje mount: mount [-t tipo] dispositivo punto_montaje Monta un sistema de archivos en un punto del arbol de directorios determinado, generalmente a partir de /mnt El tipo por defecto es el nativo ext2. En el fichero /etc/fstab aparecen las unidades más habituales junto con una serie de informaciones sobre si se montan automáticamente o no y dónde. A partir de aquí es indistinto llamarlas por el nombre de dispositivo o por el punto de montaje. Sólo el administrador puede crearlo o modificarlo. Cada unidad viene descrita en una línea separada con sus campos separados por espacios o tabuladores. El orden de las líneas es importante, pues es el que siguen otros comandos como mount umount o fsck. A continuación viene un ejemplo de fichero /etc/fstab concreto: LABEL=/ / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode= /dev/hda5 /mnt/windows vfat defaults 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hda7 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner,kudzu
20 Las columnas indican la siguiente información: 1. dispositivo de bloque o archivo remoto que será montado. Es un nombre de dispositivo o un LABEL del sistema ext2 ó ext3 2. punto de montaje. En particiones swap es none 3. tipo de sistema de archivos 4. opciones de montaje: es una lista de opciones separadas por comas, p.ej: auto (montarla automaticamente al arrancar) noauto (no montarla automaticamente) owner (permitir al propietario del dispositivo montarla) nouser (sólo a root) ro (sólo lectura) rw (lectura y escritura) exec (se pueden ejecutar los binarios que haya) async (el sistema sigue trabajando tras una petición de escritura) kudzu (si debe ser detectado y configurado por kudzu defaults (incluye sin detallar las opciones por defecto, que suelen ser : rw, exec, auto, nouser, async) 5. si vale 1 indica que del dispositivo debe hacerse copia de seguridad. Lo utiliza el comando dump 6. indica el orden en que el sistema debe ser chequeado en un reboot. Si es 0, no será chequeado. La partición de arranque tiene un 1 y un 2 en los demás casos En el archivo /etc/mtab se pueden ver los sistemas montados en cada momento. umount: umount dispositivo/punto_montaje Desmonta un sistema de archivos. Si no se realiza esta operación con p.ej. un disquete, todo lo que se haya trabajado sobre el punto de montaje no se vuelca al disquete. No se puede desmontar mientras el dispositivo esté ocupado, o desde un directorio que pertenezca a ese sistema de archivos. Y por último, es necesario desmontar antes de extraer un CDROM. La herramienta gráfica para montar y desmontar que podemos usar es Kwikdisk: Aplicaciones -> Herramientas del sistema -> Kwikdisk du: du [opciones] [fichero] Hace una estimación del espacio en disco usado por los ficheros del directorio actual. Da el tamaño en bloques de 512 K, y si es un subdirectorio, de todo lo que hay por debajo df: df [opciones] [fichero] Informa del espacio en disco utilizado por el sistema de ficheros actual y el disponible Si se indica la opción -h muestra la cantidad en Megabytes. Si se indica un fichero sólo analiza la partición en que éste se encuentra Para hacer lo mismo desde el entorno gráfico: Inicio -> Herramientas del sistema -> Kwikdisk 20
21 fsck: fsck [-t tipo] [opciones] dispositivo Chequea y repara un sistema de ficheros inconsistente o corrupto siempre que sea ext2 o ext3. Debe estar desmontado el sistema a chequear. Se invoca automáticamente en el arranque si el sistema terminó de manera anómala la última vez. Devuelve un nº que representa una codificación binaria de los posibles errores detectados. Los ficheros perdidos que recupere podrán ser encontrados en el subdirectorio /lost+found Consultar la página man. lsattr: lsattr [opciones] [ficheros] Lista los atributos de un fichero de tipo ext2 chattr: chattr [opciones] [modo] ficheros Cambia los atributos de un fichero. Las opciones son -R si se desean aplicar recursivamente, y -V si se quiere ver mensajes informativos del proceso. El modo de cambio de atributos es + - =[Asacdijsu] El + indica añadir y el eliminar un atributo. El igual es sustituir los atributos que tuviera por los exactamente indicados. Los atributos significan: A : no actualizar la marca de tiempo del archivo S: actualizar en modo síncrono, osea, volcar a disco cada modificación cuando se produce a: añadir lo que se escriba al final (append) c: comprimir contenido al almacenarlo d: no incluirlo en las copias de seguridad i: no modificable j: anotación de toda modificación en ficheros dietarios de salvaguarda s: borrado seguro t: no fragmentar los bloques en mezcla (merge) con otros archivos u: no borrable En principio, todos los archivos tienen los atributos en blanco. basename: basename archivo Extrae el nombre estricto del comando eliminando el directorio de su path dirname: dirname archivo Es el dual al anterior, extrae la parte del directorio del path completo. La utilidad de los dos últimos comandos es relevante en la escritura de scripts. 21
22 BLOQUE 4- ADMINISTRACIÓN DE USUARIOS Y GRUPOS La administración de usuarios y grupos es una de las principales responsabilidades del administrador de sistemas. Implica directamente la seguridad del sistema a través del sistema de permisos y autorizaciones, así como el reparto de los recursos en función de la prioridad o relevancia tanto de los usuarios como de los procesos que éstos lanzan. Conlleva la manipulación directa o indirecta de, entre otros, los siguientes archivos: /etc/passwd: Tiene permiso de lectura para todos los usuarios. Cada usuario registrado en el sistema aparece en una línea de este archivo con los siguientes campos, separados por dos puntos: nombre usuario, el que se da en el login y debe tener entre 1 y 8 caracteres clave de acceso (o una x si existe /etc/shadow) codificada con DES ID del usuario. El de root es 0, y hasta el 99 se suelen reservar para el sistema ID del grupo (deberá estar en consonancia con /etc/group) al que pertenece el usuario comentario sobre el usuario: nombre completo, teléfono, etc directorio home del usuario con su path completo shell de inicio, normalmente /bin/bash /etc/group: Tiene permiso de lectura todo el mundo. Cada grupo de usuarios registrado en el sistema tiene una línea con los siguientes campos separados por dos puntos: nombre del grupo passwd del grupo (ya no se usa) ID del grupo. El de root es 0, y hasta el 99 se suelen reservar para el sistema lista de componentes del grupo, separados por comas (deben estar registrados en /etc/passwd) /etc/shadow: Sólo tiene permiso de lectura para root. Tiene una línea por cada usuario registrado en /etc/passwd que se compone de los siguientes campos: nombre de usuario contraseña cifrada con DES, o un * si no tiene contraseña nº de días desde el 1 de enero de 1970 desde la última vez que se modificó la contraseña nº de días que le queda al usuario para poder cambiar la contraseña nº de días que tiene para cambiarla nº de días de antelación con que se empezará a avisar al usuario nº de días que quedan para bloquear la contraseña campo reservado Originariamente, la password codificada se almacenaba en el archivo /etc/passwd, pero esto planteaba el problema de que, al ser necesario permitir la lectura para todos (ya que al ingresar en el sistema como usuario particular, Linux debe consultar informaciones en él contenidas), cualquiera 22
23 podía obtener una copia de este archivo e intentar a continuación crackear las claves. Por razones también de seguridad, el campo destinado a informaciones particulares sobre cada usuario no se utiliza, ya que cualquier dato (nombre completo, teléfono, etc) podría ser utilizado para la aplicación de técnicas de ingeniería social. Para poder acceder a las claves codificadas, ahora es necesario escalar los privilegios de root. COMANDOS DE MANIPULACIÓN DE USUARIOS Y CONTRASEÑAS useradd: useradd [opciones] id_usuario Añade un usuario al sistema con el identificador especificado. Las opciones se refieren a la especificación de cada campo del fichero /etc/passwd para el usuario. Si no se indican se activan los valores por defecto, salvo en el campo passwd que o bien se indica aquí ya encriptado, o bien se activa invocando al siguiente comando. El nº de identificador de usuario se va asignando correlativamente a partir de un mínimo indicado en el archivo /etc/login.defs. En este mismo archivo, se definen una serie de variables de entorno referidas al añadido de usuarios. (Examinar dicho fichero) Se crea automáticamente un grupo de igual id al del usuario, al que sólo pertenece el propio usuario. Por defecto se sigue este comportamiento para facilitar la privacidad, por lo que, para compartir trabajos con otros usuarios se suelen crear grupos adicionales. También se creará un directorio de inicio para el usuario en el subdirectorio /home con idéntico nombre al del usuario, y en el que se grabarán los archivos contenidos en el directorio /etc/skel. Además, por supuesto, se añadirán entradas en los ficheros /etc/passwd, /etc/shadow y /etc/group. Para ver las opciones de este comando, se pueden consultar las páginas man. Algunas de las opciones más interesantes, y que modifican los valores por defecto son: -d directorio home: para indicar otro distinto al establecido por defecto -e fecha_expiración: fecha en que expira la cuenta de usuario -g grupo: grupo inicial en que se incluye el usuario -G grupo1, grupo2,..: otros grupos -p passwd: password ya codificada con MD5 -s shell: shell de usuario -u uid: número de usuario Para ver cuales son los valores por defecto, se puede utilizar la opción -D sin indicar por tanto usuario a añadir passwd: passwd [opciones] [id_usuario] Permite la introducción de una passwd para el usuario indicado, y si no se indica ninguno, para el usuario actual. La contraseña es encriptada y almacenada en /etc/shadow. También se utiliza para cambiar la password vigente. Si la que indicamos no es de buena calidad, se nos indica en línea. La contraseña deberá tener un mínimo de 6 caracteres, y sólo los 8 primeros 23
24 serán tenidos en cuenta para su transformación y almacenaje. Una vez creada la contraseña por primera vez, ésta es codificada con el algoritmo MD5 y almacenada. A partir de este momento, el usuario tras identificarse en el login deberá incluir también la password. El sistema transformará la cadena introducida con MD5 y la comparará con el valor almacenado. Si coincide, permitirá al usuario ingresar en su cuenta, si no, lo rechazará. Es importante aclarar que este algoritmo no tiene vuelta atrás, es decir, dada la cadena almacenada en /etc/shadow, no hay forma de invertir el proceso y obtener la clave original. Por tanto, el punto crítico de la seguridad de claves está en la custodia de ésta y en elegir una buena clave. Una clave se considera buena cuando es fácil de recordar para el propietario y dificil de adivinar por los demás. Se suele recomendar que contenga números y letras mayúsculas y minúsculas así como caracteres especiales. Se desaconseja totalmente que sean nombres reconocibles en cualquier idioma, personajes de ficción o fechas claves, ya que conociendo a una persona se podrían deducir con cierta facilidad. El comando passwd permite tambien con la opción -l bloquear una cuenta invalidando la contraseña, y con la opción -u desbloquearla chage: chage [opciones] usuario Este comando permite especificar un tiempo de expiración para una contraseña de usuario. Se puede requerir a un usuario que cambie de contraseña cada mes, cada semana o en una fecha determinada. Se puede hacer que se muestre una advertencia al usuario avisándole del tiempo que queda antes de que caduque su contraseña. También se pueden inactivar cuentas durante un tiempo determinado. Opciones: -m dias: número de días mínimo que debe pasar antes que el usuario cambie de contraseña -M dias: número máximo de días -d día: último día en que se cambió la contraseña -E fecha: fecha de expiración de una contraseña -I días: periodo de inactividad máximo de la cuenta tras lo cual expira la contraseña -W dias: periodo de advertencia antes de expirar la contraseña -l : muestra los controles de expiración actuales de la contraseña chfn: chfn usuario Entramos en un entorno interactivo en el que podremos introducir información personal acerca del usuario: nombre, lugar de trabajo, teléfono, etc Esta información será añadida a /etc/passwd. También se puede invocar en modo comando, especificando en sus opciones los valores a introducir. (Ver página man) finger: finger [opciones] Este comando nos permite visualizar la información personal de cada usuario (sólo los conectados en este momento a menos que le indiquemos uno en particular), si ha sido introducida previamente con el comando anterior. 24
25 Todos los usuarios pueden ejecutarlo por lo que no es recomendable utilizar esta base de datos, ya que puede ser utilizada la información maliciosamente. usermod: usermod [opciones] id_usuario Permite modificar los campos de /etc/passwd para un usuario determinado. Ver las opciones en la página man correspondiente. userdel: userdel [-r] id_usuario Elimina un usuario del sistema, y por tanto de /etc/passwd, /etc/group y /etc/shadow. Si se indica la opción -r, elimina también su directorio de trabajo, pero si hubiera en otro sistema de ficheros algún archivo propiedad de este usuario, no son detectados. Sólo se debería eliminar el directorio de trabajo si estamos seguros de que el usuario no volverá a estar activado en un futuro, o bien si su trabajo es desechable. COMANDOS PARA LA MANIPULACIÓN DE GRUPOS groupadd: groupadd [opciones] id_grupo Crea un nuevo grupo de usuarios. Se puede indicar entre las opciones el nº de id del grupo, que según /etc/login.defs debe ser superior a 500. Se incluye automáticamente una nueva línea en /etc/group. Ver la página man. OJO: la composición de un grupo debe alterarse a mano. groupmod: groupmod [opciones] id_grupo Modifica los campos de /etc/group para el grupo indicado. Ver la página man. groupdel: groupdel id_grupo Elimina el grupo de /etc/group. El sistema no chequea si quedan archivos en el sistema en propiedad del grupo eliminado, por lo que es tarea del administrador hacerlo. groups: groups [id_usuario] Muestra los grupos a los que pertenece el usuario, por defecto, el usuario actual. Entorno gráfico 25
26 Desde el entorno gráfico, la gestión de usuarios y grupos se realiza: Inicio -> Configuración del sistema -> Gestor de usuarios GESTIÓN DE LOS PERMISOS En un sistema UNIX/LINUX, cada fichero tiene una serie de permisos determinados para acceder o denegar su manipulación a cada usuario de los que conviven en el sistema. En principio, se distingue entre cuatro tipologías de usuario: root el propietario del fichero el grupo propietario del fichero el resto de los usuarios Al usuario root le está permitido realizar cualquier tipo de operación sobre cualquier archivo del sistema de manera implícita. El propietario es el usuario que, o bien creó el archivo, o bien a cuya titularidad ha sido puesto el archivo creado por otro (veremos después cómo se puede hacer ésto). El grupo propietario es el grupo de entre todos los posibles a los que puede pertenecer el usuario propietario, que ha sido destacado como participante también de este archivo. El resto de los usuarios está formado por los compañeros de otros grupos a los que pertenece este usuario, y por cualquier otro usuario con el que no tenga ninguna relación. Para cada uno de estas tres últimas tipologías de usuario, el sistema asigna a los ficheros permisos según el siguiente patrón: propietario grupo otros usuarios r w x r w x r w x El significado de estos permisos varían según se trate de un fichero simple o un directorio. En el caso de un fichero: r: lectura w: escritura x: ejecución En el caso de un directorio: r: listado de su contenido w: creación y borrado de nuevos archivos en su interior x: navegación por su interior Hay que poner cuidado en el hecho de que si por ejemplo un archivo o directorio tiene activado un permiso de lectura para un usuario, pero el directorio en el que está contenido no, este archivo resultará inaccesible en la práctica, por lo que será necesario revisar los permisos hacia arriba en el 26
27 árbol de directorios. Si el permiso correspondiente está activado, aparece el carácter correspondiente, y si no, aparece en su lugar un guión (-). Para ver los permisos de un directorio específicamente: ls -ld Los permisos se pueden codificar también mediante el sistema octal. Asignando un bit a cada permiso posible, se convierte en un número octal de tres dígitos. p.ej. 666 equivale a rw- rw- rw-, osea, permiso de lectura y escritura para propietario, grupo y los demás usuarios. En una visualizacíon ls -l nos aparece esta información, y además, otro carácter delante que puede ser: -: fichero normal d: directorio l: enlace simbólico c: dispositivo de caracteres b: dispositivo de bloques p: tubería con nombre También aparecen, en las siguientes columnas del listado, el identificador del propietario y el grupo propietario. Pero estos 9 permisos y su correspondiente codificación octal no son los únicos que maneja un sistema UNIX/LINUX como veremos a continuación. Sticky bit (bit pegajoso) Si se trata de un fichero normal, es un indicador de que tiene tendencia a ser ejecutado frecuentemente y debe ser retenido en el área de swap por razones de eficiencia. Si se trata de un directorio, impide a un usuario borrar cualquier fichero en su interior, aunque tenga permitida la escritura en el directorio (en principio, un permiso de escritura en un directorio, también permite el borrado de archivos). En el sistema de codificación octal, se indica como un 1 delante de las tres cifras octales normales vistas anteriormente. En un ls -l aparece como una t o T en el permiso de ejecución de otros (minúscula si estaba activado el permiso de ejecución correspondiente, y mayúscula si no lo estaba). Bit SUID Indica al kernel que el usuario que ejecute el archivo toma momentaneamente la personalidad del propietario. Es muy peligroso cuando el propietario es root. El archivo pasa a calificarse como setuidado. 27
28 Si el archivo setuidado es un directorio, el privilegio se traspasa a todos los archivos que se creen en él por el propietario del directorio. Aparece como una s o S en el permiso de ejecución del propietario (minúscula si estaba activado el permiso de ejecución y mayúscula si no lo estaba, en cuyo caso no tiene efecto). En octal se representa como un 4 delante de los tres dígitos octales. Bit SGID Similar al anterior, pero en relación al grupo propietario. Igualmente peligroso si se trata del grupo de root. Se denominan archivos setgidados. Si fuera un directorio, ocurre lo mismo que en el caso anterior. Aparece como una s ó S en el permiso de ejecución del grupo (minúscula si estaba activado el permiso de ejecución y mayúscula si no lo estaba). En octal se representa como 2 delante de los tres dígitos octales umask: umask mascara Indica los permisos que retirarán por defecto de los ficheros que se crean mediante una máscara. P ej. si se indica umask 022 y un programa crea el archivo con permiso 666, el permiso resultante será = 644 y se le quitarán por defecto el permiso de escritura para el grupo propietario y para el resto de usuarios. Por cierto, los archivos de nueva creación suelen tener ese permiso previo a la máscara de 666, que indica que no son ejecutables por parte de ningún usuario, ya que no tiene por qué ser un programa. Si el archivo creado fuera un programa, sería necesario una vez creado, cambiarle los permisos. La máscara se establece por defecto en el archivo de configuración /etc/bashrc, siendo más restrictiva para los archivos creados por los usuarios del grupo root por razones obvias de seguridad. chmod: chmod modo fichero Este comando pone, quita o define permisos para un archivo o directorio. El modo es la forma en que se especifican éstos, y hay dos posibilidades: en octal: indicando la codificación octal de los permisos establecidos con una codificación de caracteres: r, w ó x y un signo + ó delante para poner o quitar, y = para fijar, y si se desea una especificación de para quien: u (propietario), g (grupo), o (otros), a (todos) s indica el suid o sgid según se le indique a propietario o grupo, y t para el sticky bit Ejemplos del uso correcto de chmod pueden ser: chmod 700 miprograma (lectura, escritura y ejecución sólo para el propietario) chmod +x-w miprograma (añade ejecución y elimina escritura para todos) 28
29 chmod u+r miprograma (añade lectura sólo para el propietario) Ver la página man correspondiente. chown: chown usuario[:grupo] fichero Cambia el propietario y grupo propietario de un archivo Entorno gráfico Desde el entorno gráfico, la manipulación de los permisos se realiza a partir de Nautilus, pulsando el botón derecho sobre el archivo o directorio -> Propiedades -> Pestaña permisos. CUOTAS Y LÍMITES Al tener muchos usuarios conviviendo en el mismo sistema, puede aparecer el problema de que alguno de ellos ocupe más espacio en disco del debido. Una forma de hacer que esto no interfiera al propio sistema es tener el directorio /home en una partición separada, pero en cualquier caso, no solucionaríamos el problema que tendrían los usuarios ante la existencia de un compañero de unidad demasiado voraz. Un administrador puede, si quiere, limitar el espacio en disco del que pueden disponer los usuarios estableciendo un sistema de cuotas. Una cuota es una restricción sobre el nº de bloques de espacio en disco, y de inodes que puede tener un usuario. En Fedora las cuotas se gestionan mediante el script /etc/rc.d/rc.sysinit que se ejecuta en el proceso de inicio. Si se quiere establecer un sistema de cuotas, ésto se debe indicar a nivel de partición en el archivo /etc/fstab, editándolo y añadiéndole en la columna de opciones de montaje usrquota. P. ej: /dev/hda7 /home ext2 defaults,usrquota 1 2 Del mismo modo, si se desean indicar cuotas para grupos, habría que poner grpquota Luego se crearían dos ficheros en el directorio base de la partición: touch quota.user touch quota.group chmod 600 quota.user chmod 600 quota.group En este punto es necesario reiniciar el equipo, y después editar el fichero de cuotas para cada usuario o grupo con (aquí sería una buena opción crear un sólo grupo con todos para hacer una indicación conjunta): quotacheck: 29
30 Examina cada sistema de ficheros, construye una tabla del uso actual del disco y compara esta tabla con los límites de cuota. Si detecta alguna inconsistencia, actualiza el fichero de cuotas. Por defecto sólo revisa las de usuarios particulares. Se ejecuta cada vez que el sistema arranca, y en el momento en que se le invoque directamente (obviamente, sólo por root). Tiene una serie de opciones para controlar, p. ejemplo: -v: da mensajes de todo el proceso de chequeo -b: fuerza el backup del fichero de cuotas antes de actualizarlo edquota: edquota -u usuario edquota -g grupo Es un editor de cuotas de usuario que muestra algo así como: Quotas for user pepe: /dev/hdb8: blocks in use: 234, limits (soft = 0, hard = 0) inodos in use: 92, limits (soft = 0, hard = 0) Y ahora habría que modificar los límites blandos y duros para bloques e inodes y salvar los cambios. A propósito de los límites: Límite blando es aquel que provoca al ser excedido por el usuario, una advertencia por parte del sistema. Límite duro especifica un error completo cuando el usuario intenta sobrepasarlo. Existe un periodo de gracia, que veremos a continuación como se establece, y que indica el tiempo de tolerancia hacia un usuario que ha traspasado su límite blando y que, una vez concluido, provoca la inhabilitación de su cuenta Si a continuación se ejecuta: edquota -t se abre un archivo con un texto como el siguiente: Time units may be: hours, minutes, or seconds Grace period before enforcing soft limits for users: dev/hdb8: block grace period: 0 days, file grace period: 0 days Aquí es donde habría que cambiar el periodo de gracia para bloques y/o inodes, ya que de lo contrario, la tolerancia sería 0. A continuación, habría que ejecutar el comando: quotaon: quotaon [opciones] 30
31 que activaría las cuotas y quotaoff: quotaoff [opciones] si quisieramos desactivarlas. Ver las páginas man de ambos comandos. Otro comando interesante es: quota: quota [usuario grupo] Muestra la cuota del usuario o grupo indicado, por defecto, el actual. Si no hubiera cuotas establecidas, lo indicaría. Pero no sólo es el disco duro el único recurso que debería controlarse, ya que un usuario malicioso podría consumir memoria desaforadamente, o tiempo de CPU, et. Es por lo que existe un comando built-in que se encarga de establecer limitaciones a todos estos recursos: ulimit: ulimit [ SHacdflmnstuv [limit]] Las opciones son las siguientes: -S: límite blando -H: límite duro (por defecto) a: muestra todos los límites actualmente establecidos c: tamaño máximo de archivos de core d: tamaño máximo de un segmento de datos en un proceso f: de los ficheros creados l: de memoria que puede ser bloqueada m: del espacio residente n: máximo nº de ficheros abiertos s: tamaño máximo de pila t: cantidad máxima de tiempo de CPU en segundos u: nº máximo de procesos lanzados v: cantidad máxima de memoria virtual accesible por la shell Los valores indicados como un entero, se entienden en unidades de 1024 bytes, salvo el caso de la opción -t que son segundos, y -n y -u que son enteros sin más. Existe otro método que utiliza Fedora consistente en configurar directamente el archivo /etc/security/limits.conf. Si visualizamos su contenido, vemos que es autoexplicativo y que incluye incluso una serie de ejemplos. Se trata de indicar una serie de líneas con la siguiente estructura: <domain> <type> <item> <value> 31
32 Donde: <domain> puede ser: - un nombre de usuario - un nombre de grupo con delante - el *, que indica todos <type> puede tener dos valores: - "soft" límite blando - "hard" límite duro <item> puede ser uno de los siguientes: core tamaño del fichero de core (KB) data tamaño de datos (KB) fsize tamaño de fichero (KB) memlock espacio de memoria bloqueado (KB) nofile nº de ficheros abiertos rss tamaño de datos residentes (KB) stack tamaño de pila (KB) cpu tiempo de CPU (MIN) nproc nº de procesos as limite de espacio de direccionesmaxlogins nº máximo de logins priority prioridad para ejecutar un proceso locks máximo nº de bloqueos de ficheros Ejemplos: <domain> <type> <item> <value> * soft core 0 * hard rss hard nproc soft nproc hard nproc 50 ftp hard nproc - maxlogins 4 32
33 BLOQUE 5 GESTIÓN DE PROCESOS Y TRABAJOS Todo programa leído de memoria secundaria y cargado en la memoria por el sistema para ejecutarse, se convierte automáticamente en un proceso. Un proceso, para poder ser ejecutado, necesita una serie de recursos: memoria, tiempo de CPU, dispositivos de E/S, etc. En UNIX/LINUX, cada proceso tiene un número que lo identifica. Este número es asignado por el Kernel de manera dinámica, de forma que un mismo programa, ejecutado en diferentes momentos, tiene un identificador distinto. Recibe el nombre de PID (process identifier). Además, todo proceso tiene también asignado otro número denominado PPID (parent PID) que corresponde al proceso padre, osea el que lo lanzó. Esto es así debido a que en UNIX/LINUX, todo proceso debe ser lanzado por otro, en una bifurcación denominada fork, creándose una jerarquía, en cuya raíz está el proceso init como veremos más adelante en este tema. Un proceso padre, cuando el hijo finaliza, recoge su condición de salida y lo elimina de la tabla de procesos. Si por alguna razón, el padre no eliminara el proceso durante un tiempo, por estar, p. ej. ocupado en otra cosa, el proceso hijo recibiría el calificativo de zombie : muerto, pero aún presente. Todo proceso, desde que es creado hasta que termina, va pasando por una serie de estados, cada uno con sus características propias. Resumiendo mucho, hay tres estados básicos en los que se puede encontrar un proceso: 1- en ejecución: en máquinas con un sólo procesador, sólo puede haber un proceso en este estado en un momento determinado. Para compartir la CPU entre varios procesos, es necesario dividir el tiempo en rodajas (time slices) y asignarlas alternativamente a cada proceso, de acuerdo también con su prioridad. 2- dormido: un proceso entra en este estado cuando no se puede proseguir su ejecución debido a la falta de algún recurso necesario, o porque está esperando que concluya una operación de entrada-salida (varias órdenes de magnitud más lentas que el proceso de la CPU) 3- listo para ejecutarse: no dispone del procesador, pero está a la espera de que éste quede libre y le dé vía libre el planificador de tareas del sistema o scheduler. Los distintos procesos del sistema van cambiando su estado de acuerdo con unas normas bien definidas. Estos cambios vienen impuestos por la competencia que existe entre ellos por compartir los distintos recursos hardware, sobre todo el procesador. 33
34 Además, y como ya anticipamos en el bloque 0, un proceso puede ejecutarse en primer plano (por defecto es así o en segundo plano (en cuyo caso hay que especificarlo). Ejecutar un proceso en segundo plano, propicia que la shell devuelva el prompt inmediatamente y se pueda seguir trabajando en modo interactivo aún cuando el primer proceso siga en ejecución. Se suele utilizar este modo de trabajo cuando el proceso en cuestión tenga un periodo de ejecución largo y no requiera utilizar ni la entrada ni la salida estándar (o bien esté redirigida). Para mandar la ejecución de un proceso al segundo plano, basta con concluir la línea de comandos con el símbolo de ampersand &. En ese momento, la shell nos informa del PID del proceso. También nos informará cuando el proceso concluya. Si terminamos la sesión actual, todos los procesos que estén ejecutándose en segundo plano, morirán, a no ser que lo evitemos, tal y como veremos más adelante. COMANDOS RELACIONADOS CON EL CONTROL DE PROCESOS ps: ps [opciones] Se trata de un comando potentísimo con el que el que obtenemos información sobre todos los procesos que en ese momento se están ejecutando en el sistema. Tiene multitud de opciones y formatos posibles para la salida del informe, (consultar página man), por lo que veremos aquí tan sólo unas cuantas de las más habituales: -e : visualiza todos los procesos que hay en el sistema, con su PID, terminal asociado y tiempo de CPU -f : proporciona una lista completa de cada proceso, incluyendo más información -l : dá listados largos y completos que contienen muchos detalles, por ejemplo: 34
35 F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 000 S wait4 pts/2 00:00:00 bash 000 R pts/2 00:00:18 yes 000 R pts/2 00:00:00 ps Veamos algunas de las informaciones más interesantes que se muestran: S: estado del proceso: R: ejecutable S: dormido D: sueño ininterrumpido Z: zombie T: detenido UID: identificador de usuario PID: identificador del proceso PPID: identificador del proceso padre C: cantidad de CPU utilizada por el proceso, importante para calcular su prioridad PRI: prioridad del proceso NI: valor de nice empleado SZ: tamaño ocupado de la memoria WCHAN: dirección de la función del núcleo en la que el proceso se encuentra durmiendo TTY: terminal asociado al proceso (si lo hay) TIME: tiempo de CPU asignado al proceso CMD: nombre del programa que contiene la imagen del proceso top: top [opciones] Muestra la actividad de la CPU en tiempo real, por lo que se puede apreciar cómo va evolucionando su trabajo, ya que se actualiza cada 5 segundos por defecto. Se pueden mostrar los procesos de acuerdo con diferentes criterios, en función de las opciones usadas (ver página man). Además se pueden utilizar una serie de comandos interactivos. Un ejemplo de la ejecución simple de top es: 35
36 1:31pm up 1:07, 1 user, load average: 1,01, 0,43, 0,58 83 processes: 79 sleeping, 4 running, 0 zombie, 0 stopped CPU states: 3,3% user, 1,8% system, 0,0% nice, 94,7% idle Mem: K av, K used, 99028K free, 0K shrd, 55800K buff Swap: K av, 0K used, K free K cached PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 852 root M 5152 S 3,0 3,4 2:52 X 1036 root R 1,5 2,1 0:10 gnome-terminal 6 root SW 0,3 0,0 0:07 kscand 1 root S 0,0 0,1 0:04 init 2 root SW 0,0 0,0 0:00 keventd 3 root SW 0,0 0,0 0:00 kapmd 4 root SWN 0,0 0,0 0:00 ksoftirqd_cpu0 5 root SW 0,0 0,0 0:00 kswapd 7 root SW 0,0 0,0 0:00 bdflush 8 root SW 0,0 0,0 0:00 kupdated 9 root SW< 0,0 0,0 0:00 mdrecoveryd 13 root SW 0,0 0,0 0:00 kjournald 72 root SW 0,0 0,0 0:00 khubd 200 root SW 0,0 0,0 0:00 kjournald 242 root SW 0,0 0,0 0:00 knodemgrd 491 root S 0,0 0,1 0:00 syslogd Entre los comandos interactivos se encuentran: espacio: actualiza el display automáticamente ^L: borra y reescribe la pantalla h ó?: muestra una pantalla de ayuda sobre los comandos k: mata un proceso, hay que dar su PID y la señal, normalmente 15 ó 9 i: ignora a los procesos zombis o idle q: salir de top r: cambia el valor de nice del proceso, hay que dar su PID y el nuevo valor de nice S: activa el modo acumulativo, de modo que los valores de un proceso se incrementan con los de los procesos hijos por éstos lanzados s: cambia el intervalo de tiempo entre refresco de los datos... pstree: pstree [pciones] Muestra los procesos en forma de árbol, entre las opciones se puede indicar un usuario o un PID en cuyo caso el árbol partiría de esa raiz. Por defecto, muestra el árbol completo partiendo del proceso init. Para ver más opciones, consultar la página man. kill: kill [-señal] PID Se utiliza para enviar señales a uno o varios procesos identificados por su PID. Si no se indica señal, se asume que se envía la de terminación de proceso (SIGTERM ó nº 15), que es un aviso de 36
37 terminación que puede ser ignorado por el proceso. También existe como llamada al sistema para que pueda ser invocada desde un programa. Una señal es una interrupción software que se envía a un proceso para informarle de algún evento. Cuando un proceso recibe esta señal, puede actuar de tres formas: 1- ignorarla 2- invocar a la rutina de tratamiento por defecto de la señal 3- invocar a una rutina propia que se encargará de tratar esa señal Sólo puede enviar una señal a un proceso su propietario o root. Cada señal tiene un número que la identifica, algunas de ellas son: 1- SIGHUP: se envía a todos los procesos asociados a un terminal cuando éste se desconecta. Su efecto es terminar su ejecución 2- SIGINT: interrupción, se envía a todos los procesos asociados a un terminal cuando se pulsa la tecla interrupción 3- SIGQUIT: salir, similar a la anterior, pero se desencadena al pulsar Ctrl-4 4- SIGILL: instrucción ilegal, se envía a cualquier proceso que intente ejecutar una instrucción ileagal 5- SIGTRAP: es enviada cuando se ejecutan instrucciones paso a paso en un proceso 7- SIGBUS: error de acceso a memoria 8- SIGFPE: es enviada cuando el hw detecta un error en una operación en coma flotante. Termina el proceso que la recibe 9- SIGKILL: provoca la terminación del proceso, y no puede ser ignorada 10- SIGUSR1: reservada para el usuario 11- SIGSEGV: violación de segmento de memoria 12- SIGUSR2: reservada para el usuario 13- SIGPIPE: intento de escritura en una tubería en la que nadie lee 14- SIGALARM: se envía a un proceso cuando alguno de sus temporizadores llega a SIGTERM: orden de terminación de un proceso. Puede ser ignorada 19- SIGPWR: fallo de alimentación Para ver todas las disponibles, utilizar la opción -l. Más información en man signal. Si por alguna razón se elimina a un proceso padre que tenga algún proceso hijo sin concluir, éste último queda huérfano. En este caso, init asume el papel de proceso padre y recoge la condición de salida para que no quede zombie. nice: nice [n] comando Permite lanzar un comando con una prioridad distinta de la normal. Al incrementar la prioridad de un proceso, éste se ejecuta más rápidamente, a costa de los demás procesos. Si disminuimos la prioridad, ésto beneficiará al resto. Sólo root puede aumentar la prioridad del proceso, pero cualquiera puede disminuirla. El rango de prioridades permitido está entre -20 (la más alta) y 19 (la más baja).para un usuario 37
38 particular, el valor de N deberá estar comprendido entre 1 y 19, y el administrador podrá establecer hasta la -20. Si no se indica ninguna, por defecto, es 0. Aunque se elija la prioridad mínima, de vez en cuando el sistema la incrementa para que no muera por inanición. renice: renice prioridad -p pid -u usuario -g grupo Modifica la prioridad de un proceso ya en ejecución, a partir de su PID ó de todos los procesos de un usuario, a través de su UID, o de un grupo, a través de su GID. Sólo root puede incrementar prioridades, el resto únicamente puede disminuirlas. nohup: nohup comando & Si fuera necesario ejecutar un proceso costoso en tiempo, en segundo plano y no queremos que al salir de la sesión se corte, lo lanzamos con este comando, y sigue ejecutándose. Si el comando necesitara comunicarse con la salida estándar o la de error, crearía un fichero ~/nohup.out adonde irían a parar todos los mensajes. sleep: sleep segundos Causa una pausa del nº de segundos que le indiquemos. Tiene utilidad en el interior de un shell script. w: w [opciones] [usuario] Muestra información sobre los usuarios conectados en ese momento al sistema y de sus procesos. La cabecera muestra: la hora actual el tiempo que lleva el sistema corriendo cuantos usuarios hay conectados la carga del sistema en los últimos 1, 5 y 15 minutos Por cada usuario, además, se muestra: nombre terminal host remoto (si procede) FROM tiempo desde que se hizo login tiempo que ha estado ocioso IDLE JCPU: tiempo usado por todos los procesos dependientes del terminal sin contar los que se ejecutan en background PCPU: tiempo invertido por el proceso actual, nombrado linea de comando del proceso actual 38
39 Las opciones son: CONTROL DE TRABAJOS h no mostrar la línea de cabecera s formato corto. No muestra el nombre de login, JCPU ni PCPU usuario: sólo muestra información acerca de un usuario La shell bash proporciona una serie de comandos que permite a los usuarios controlar simultáneamente múltiples procesos. Para estos comandos, los procesos pasan a ser denominados jobs o trabajos. Un proceso tiene un PID, y además un número de trabajo que lo identifica y por el cual podremos manipular su evolución. Cuando mandamos un proceso a segundo plano, estamos haciendo uso de una de estas herramientas. Por ejemplo: yes > /dev/null & El anterior comando yes lo único que hace es mostrar una y por salida estándar en un bucle infinito. Al redirigir la salida a /dev/null, conseguimos que se pierda, ya que /dev/null es una especie de sumidero, al que se envía todo lo que se quiere perder. En cualquier caso, es un proceso que, debido al ampersand del final, obligamos a ejecutarse en segundo plano. En este momento vemos que nos sale algo así: [1] 1058 El primer número, entre corchetes, es el número de job, y el segundo, el PID. Esto último es algo que podemos comprobar haciendo un simple ps. Para visualizar los jobs o trabajos que actualmente funcionan en el sistema y su estado actual, tenemos el comando: jobs: jobs [opciones] [numjob] Lista los trabajos activos. Las opciones pueden ser: l muestra también el PID n sólo muestra información de los trabajos que han cambiado de estado desde la última vez que se notificó su estado r sólo muestra los que están corriendo (running) s sólo muestra los que están parados numjob: sólo muestra información sobre este trabajo kill: kill [-señal] %n Es el comando kill ya visto, pero además, se puede invocar indicando el nº de trabajo precedido de un %. 39
40 Detener y reiniciar trabajos Para detener un trabajo, no se usa un comando en sí, sino una combinación de teclas: Ctrl-z. Podemos probarlo, por ejemplo, lanzando el comando yes, ahora en primer plano: yes > /dev/null y después pulsando Ctrl-z, entonces se nos anunciará que el trabajo está parado. Ahora podemos volver a lanzarlo en primer o segundo plano utilizando: fg: fg [numtrabajo] Relanza un trabajo en primer plano y lo convierte en el trabajo actual. Si no se indica ningún trabajo en particular, se asume que nos referimos al último que se paró. bg: bg [numtrabajo] Relanza un trabajo en segundo plano, tal y como si hubiera sido lanzado así de primera hora, y lo convierte en el trabajo actual. Si no se indica ningún trabajo en particular, se asume que nos referimos al último que se paró. Control de la memoria Directamente relacionado con la gestión de procesos se encuentra la monitorización de la memoria RAM utilizada por éstos: free: free [opciones] Muestra la cantidad total de memoria física libre y utilizada, así como la memoria de swap, la compartida y los buffers usados por el kernel. Ejemplo de su salida es: total used free shared buffers cached Mem: /+ buffers/cache: Swap: Para ver las opciones, consultar las páginas man. Entorno gráfico Desde el entorno gráfico, para monitorizar tanto procesos como recursos se utiliza: Menú Inicio -> Herramientas del sistema -> Monitor del sistema 40
41 BLOQUE 6 - FILTROS Y EXPRESIONES REGULARES FILTROS Cualquier proceso que lea su entrada en la entrada estándar (stdin) y/o escriba su salida en la salida estándar (stdout) se denomina filtro. Los filtros presentan gran interés desde el punto de vista de un administrador UNIX/LINUX, ya que se puede combinar su potencia con la de la redirección de la entrada y/o salida y con el uso de las tuberías para obtener informes elaborados sobre el sistema. Procederemos a estudiar los más comunes: head: head [opciones] [archivo] Muestra la primera parte de un archivo, por defecto sus 10 primeras líneas. Entre sus opciones están: -c: muestra los bytes que le indiquemos del principio -n: permite indicar el número de líneas, en lugar de 10 que queremos ver tail: tail [opciones] [archivo] Hace lo contrario que head, muestra la última parte de un archivo. Tiene las mismas dos opciones indicadas anteriormente y muchas más. Consultar la página man. cat: cat [opciones] [archivos] Su uso original es concatenar una serie de archivos y mostrar el resultado por pantalla Si sólo se indica un archivo, visualizará el contenido de éste. Ej. cat tt Si se indica sólo una redirección de salida a un archivo, todo lo tecleado por la entrada estándar será enviado a dicho archivo. Ej: cat > pp Tiene muchas opciones que modifican el resultado de la visualización (ver página man), p. ej: -E : muestra el final de cada línea -n : numera las líneas tac: tac [opciones] [archivos] Hace lo mismo que cat, solo que alrevés, de atrás para adelante 41
42 sort: sort [opciones] [archivos] Ordena líneas de ficheros de texto y muestra por pantalla el resultado. Las líneas del o los ficheros pueden estar divididas en campos, separados en principio por tabuladores, aunque podríamos indicar cualquier otro separador. Entre las opciones, podemos indicar: -f: no distingue mayúsculas y minúsculas -r: resultado inverso de ordenación -m: mezcla en lugar de ordenar los ficheros indicados que deben estar previamente ordenados -t: carácter separador utilizado entre campos -u: solo muestra una de las posibles líneas repetidas -n: ordenación numérica, no por código ASCII uniq: uniq [opciones] archivo. Borra las líneas duplicadas en un archivo ya ordenado. Ver página man. wc: wc [opciones][archivos] Cuenta líneas, palabras y/o caracteres en un archivo de texto Las opciones pueden ser: -c: caracteres (= bytes) -l: líneas -w: palabras cut: cut -c lista [ficheros] -f lista [-d car] [ficheros] Extrae columnas o campos de un fichero de texto. El primer formato, (con la opción -c) se utiliza para extraer columnas de caracteres, y el segundo (con la opción -f) para extraer campos, en cuyo caso si se utiliza un separador diferente del tabulador, se indicará la opción -d seguida del carácter indicado. La lista de caracteres o campos a extraer se puede indicar como: N: el carácter o campo N-ésimo N-: del N-ésimo hasta el último N-M: del N-ésimo al M-ésimo -M: del primero al M-ésimo 42
43 nl: nl [opciones] [fichero] Numera las líneas de un fichero que no estén en blanco. Ver página man. tr: tr [opciones] conjunto1 [conjunto2] Traduce o elimina caracteres. Cualquier encuentro de un carácter que coincida con alguno del conjunto1, es sustituido por el correspondiente en el conjunto2. Por ejemplo: tr [a-z] [A-Z] < pp pasará a mayúsculas todas las letras minúsculas halladas en el archivo pp salvo, claro está, la ñ. Como se observa en el ejemplo, el conjunto de valores objeto de la traducción se puede indicar: como un rango de valores entre corchetes como una enumeración de caracteres con caracteres especiales precedidos de \ con descriptores especiales de conjunto, como: [:alnum:] : todas las letras y dígitos [:alpha:] : todas las letras [:blank:] : espacios en blanco o tabuladores [:cntrl:] : caracteres de control [:digit:] : todos los dígitos [:graph:] : todos los caracteres imprimibles [:lower:] : minúsculas [:print:] : todos los caracteres imprimibles, incluidos los espacios [:punct:] : todos los signos de puntuación [:space:] : todos los espacios verticales u horizontales [:upper:] : todas las letras mayúsculas [:xdigit:] : dígito hexadecimal Entre las opciones más importantes que se pueden usar: -d: no traduce sino que elimina los caracteres detectados que pertenezcan a conjunto1. En este caso, no hay conjunto2 -s: elimina caracteres repetidos cmp: cmp fichero1 fichero2 Compara dos archivos de cualquier tipo y muestra el resultado en la salida estándar. Por defecto, si los ficheros son idénticos, no dice nada, si son distintos, muestra el byte y la línea en que se ha detectado la diferencia, numerándolas a partir de 1. diff: diff [opciones] fichero1 fichero2 Busca diferencias entre dos ficheros. Si el nombre de uno de ellos se sustituye por un guión (-) se entenderá que es la entrada estándar. Ambos ficheros pueden ser directorios, en cuyo caso, compararía los archivos contenidos en ambos, de manera no recursiva por defecto. 43
44 Tiene infinidad de opciones como se puede ver en su página man. grep: grep [opciones] patrón [archivo] Busca en el archivo especificado las líneas que cuadrán con el patrón indicado, también denominado expresión regular. Tiene muchísimas opciones, pero algunas de las más interesantes son: -c: muestra la cuenta de las líneas que coinciden con el patrón, no las propias líneas -f fichero: obtiene los patrones de un fichero -i: hace que no distinga mayúsculas y minúsculas -n: muestra el nº de línea delante de ésta -v: invierte el sentido de la instrucción, de manera que muestra las líneas que no coinciden con el patrón En cuanto a las expresiones regulares, pasamos a estudiarlas más detenidamente. EXPRESIONES REGULARES Una expresión regular es un patrón que define un conjunto de cadenas de caracteres. Se construyen combinando expresiones simples empleando diversos operadores, de manera análoga a las expresiones aritméticas. Veamos de qué componentes puede estar compuesta una expresión regular: un carácter simple: se representa a sí mismo: letras mayúsculas y minúsculas, dígitos, etc. P. ej. la v, el 2, etc metacaracteres: con significado especial, irán precedidos por el carácter \, p. ej. \b lista de caracteres: aparece encerrada entre corchetes ( [ y ] ), y referencia a cualquier carácter sencillo de la lista. Si el primer carácter es ˆ, nos referiremos al conjunto de caracteres que no aparece en la lista. Los rangos se pueden expresar especificando el primero y el último separados por un guión. Ejemplos: [aeiou] sería cualquier vocal minúscula, [a-za-z] cualquier letra salvo la ñ, y [ˆaeiou] cualquier carácter ASCII excluyendo las vocales minúsculas. También se pueden utilizar los descriptores de conjuntos de caracteres ya vistos con el comando tr: [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], [:xdigit:] el punto. representa cualquier carácter salvo el de salto de línea los caracteres ˆ y $ representan principio y final de línea respectivamente los caracteres \< y \> representan principio y final de palabra caracteres de repetición: una expresión regular que representa un carácter sencillo puede ser continuada con uno o varios caracteres de repetición : 44
45 ? : el elemento que precede es opcional *: coincide 0 ó más veces +: coincide 1 ó más veces {n}: coincide exactamente n veces {,m}: coincide entre 0 y m veces {n, m}: coincide entre n y m veces Según implementaciones, {, }, < y > no son correctamente interpretados, por lo que deberán estar precedidos de \ y entrecomillada la expresión completa. Además: las expresiones regulares pueden ser concatenadas dos expresiones regulares pueden unirse con el operador que ejerce la función de un OR la operación de repetición tiene precedencia sobre la operación de concatenación. Para modificar esta precedencia, se pueden usar paréntesis los metacaracteres?, +, {, },, ( y ) deberán ir precedidos del símbolo \ para que pierdan su significado especial Ejemplos: gato ˆgato gato$ gat[ao] ga.o ga.?to gato gota gata ˆ...$ (s arb)usto to\> o\{2,\} es la cadena gato es la cadena gato al principio de la línea es la cadena gato al final de la línea la cadena gata o la cadena gato los caracteres 1,2 y 4 son los descritos, pero el 3 puede ser cualquiera gato, gasto, gaito, garto... o gato o gota o gata cualquier línea compuesta por una cadena de cuatro letras susto o arbusto cualquier palabra que termine en to dos o más oes en una misma fila 45
46 EL COMANDO FIND El comando find es uno de los más potentes que hay en Unix/Linux, pero también de los que tiene una sintaxis más compleja. No es un filtro en realidad, sino un comando para buscar archivos, de acuerdo con una ámplia variedad de criterios. Su formato genérico sería: find camino expresión camino es el path a partir del cual se debe iniciar la búsqueda, y expresión es el criterio utilizado para la selección de archivos. Veamos cuales son algunos de esos criterios: -name nombre: busca por nombre. Se pueden usar comodines. -user usuario: busca los archivos que pertenecen a un usuario determinado -group grupo: idem para un grupo propietario -mtime n: archivos modificados hace n días -mtime -n: archivos modificados en los últimos n días -mtime +n: archivos modificados hace más de n días -size -m: archivos de tamaño menor a m bloques -size +m: archivos de tamaño mayor que m bloques -type x: archivos de tipo x ( d directorios, f archivos normales, c, b, l...) -depth: inicia la búsqueda en profundidad -maxdepth n: limita el nº de niveles a recorrer en el subarbol de directorios -links n: tiene n enlaces -perm permisos: archivos con esos permisos (octal o simbólicos) Todos estos operadores o criterios pueden ser negados con!, y se pueden combinar varias de ellas, lo cual será entendido como un and implícito (también se puede indicar con -a), o especificando el operador -o (or). Además se puede indicar al final del comando find la opción: -exec comando {} \; que ejecuta el comando estipulado a los ficheros seleccionados. Desde el entorno gráfico, se puede lanzar la búsqueda de archivos con: Menú Inicio -> Buscar archivos 46
47 BLOQUE 7 - PAQUETES Y COPIAS DE SEGURIDAD RPM RPM son las siglas de RedHat Package Management, osea, manejo de paquetes de RedHat, también utilizado por otras distribuciones LINUX, como Caldera y SUSE. Es un sistema abierto, escrito en C y basado en la licencia GNU. Un paquete es un archivo que contiene todos los ficheros de un determinado componente instalable (aplicación, protocolo,etc), y además almacena información de control y scripts que se ejecutan al instalar o borrar el paquete, de manera que todo el proceso queda automatizado. La idea de paquete es la de disponer pequeñas utilidades o módulos que realicen de manera óptima una tarea. Combinando estas pequeñas utilidades, podemos resolver cualquier problema por grande y complejo que sea. Además, los paquetes pueden utilizar librerías compartidas para minimizar el código duplicado y optimizar el uso del disco y la memoria. Con el manejo de paquetes, se puede tener un control estricto sobre los programas y librerías instalados en un equipo. Las principales características de los paquetes RPM son: Mantiene bases de datos en la que se almacena información de todos los paquetes instalados y sus componentes (están en /var/lib/rpm) Control sobre dependencias: controlando las dependencias antes de instalar o desinstalar un paquete sabemos si necesita de otros paquetes o librerías para funcionar correctamente. Si no tenemos previamente instalado esos programa o librería necesarios, se nos avisará con un mensaje informativo. Lo mismo pasará si queremos desinstalar un paquete que es necesario para otras aplicaciones Control sobre las incompatibilidades: si intentamos instalar un paquete que va a impedir que otro que ya tenemos instalado funcione correctamente, surgirá una incompatibilidad Podemos instalar paquetes sin tener que reiniciar el equipo El sistema de paquetes RPM tiene una nomenclatura que permite identificarlo, basada en dar para cada paquete los campos: nombre, versión, revisión, plataforma y extensión. Por ejemplo: Xfree86-VGA i386.rpm Xfree86-VGA16: nombre del paquete 3.3.6: versión 33: revisión i386: plataforma (mínima) rpm: extensión común a todos los paquetes RPM 47
48 COMANDO RPM Es una herramienta utilizada para manipular paquetes RPM, tanto fuentes como binarios. Permite: Instalar paquetes rpm -i [opciones] nombre-paquete opciones: -v: (verbose), al final de la instalación informa que se ha instalado el paquete. Con vv veremos una información más detallada sobre los archivos instalados -h: nos muestra una barra de proceso de la instalación Normalmente, siempre que se instalan paquetes, se incluyen estas dos opciones, pues facilitan el seguimiento del proceso. Un paquete ya instalado, pierde en su denominación interna la plataforma y la extensiónm rpm (por ejemplo: i386.rpm) Desinstalar paquetes opciones: rpm -e [opciones] paquete --test: no se desinstala, se testea una posible desinstalación --nodeps: si se nos avisa de un fallo en las dependencias entre paquetes y aún así queremos desinstalar OJO: al desinstalar el nombre de paquete no se deben indicar las dos últimas partes, esto es, la plataforma y la extensión rpm Actualizar paquetes rpm -U [opciones] paquete opciones: (las mismas que para instalar) Informar sobre los paquetes instalados opciones: rpm -q [opciones] paquete l: muestra un listado de los ficheros que contiene el paquete f: dada una librería, muestra a qué paquete pertenece a: lista todos los paquetes instalados (no se especifica paquete en este caso) i: información sobre un paquete (nombre, revisión, etc) c: archivos de configuración de un paquete d: ficheros de documentación del paquete R: muestra todas las dependencias del paquete 48
49 Verificar los paquetes rpm -V [opciones] paquete La salida de este comando son 8 caracteres por cada fichero del paquete. Una posible salida para un fichero es: SM5DLUGT, que quiere decir: S: se ha modificado el tamaño del fichero desde que se instaló M: los permisos y el tipo del fichero son distintos 5: fallo al comprobar la suma resumen (MD5) L: se ha modificado el enlace simbólico D: el fichero de dispositivo es diferente U: se ha modificado el usuario al que pertenece el fichero G: se ha modificado el grupo al que pertenece el fichero T: fallo en Mtime, el tiempo de modificación del archivo es diferente Para verificar todo el sistema de paquetes usaremos: rpm -Va, pero cuidado, porque es una operación que puede llevar mucho tiempo. MANEJO DE PAQUETES EN EL ENTORNO GRÁFICO Si pulsamos: Inicio -> Configuración del sistema -> Añadir/Eliminar paquetes entramos en la utilidad de gestión de paquetes de la distribución Fedora que tengamos instalada. Desde aquí se pueden añadir o eliminar paquetes de la citada distribución. Además vienen clasificados por temática. Pero aparte de éstos podemos instalar otros paquetes que no vengan con la distribución. Para ello, primero lo descargaremos de internet, o montaremos la unidad externa que lo contenga. Después, navegaremos con el Nautilus, y haremos doble click sobre él. DÓNDE OBTENER PAQUETES Algunas direcciones recomendables para descarga de software (no sólo RPM) son:
50 COMANDOS DE COPIA DE SEGURIDAD LINUX tiene una serie de comandos que permiten o facilitan la realización de back-ups. Pasaremos a examinarlos: cpio: cpio -o [cvx] cpio -i [dcruvmfx] [modelos] cpio -p [dvmrx] directorio Copia ficheros en un archivo o los extrae de él. Este archivo contendrá, aparte de los propios ficheros, información sobre ellos, como su nombre, permisos, propietario, etc. El archivo depositario de la copia suele residir en otra unidad (p.ej disquete) Los tres formatos corresponden con: -o : lee la entrada estándar para obtener una lista de archivos y los copia en la salida estándar. Por supuesto, la lista de archivos se puede obtener a partir de un comando que la genere, a través de una tubería. La salida suele ser también redireccionada a un archivo. p. ej.: ls ejer* cpio -o > seg mandaría una copia de todos los archivos que empiezan por ejer del directorio actual a un archivo de seguridad denominado seg -i: extrae archivos de la entrada estándar, o lo más normal, redirigidos desde un archivo cpio, restaurando los archivos que contiene a su estado original. p. ej.: cpio -i < seg extraería una copia de todos los archivos contenidos en seg. Si se hace esto sobre el directorio original, se trataría de una operación de sobreescritura. -p: combina las dos operaciones anteriores para trasladar los archivos de un directorio a otro p. ej.: ls ejer* cpio -p seguridad En este caso, seguridad sería un subdirectorio del actual, al cual se pasaría una copia de todos los archivos Y las opciones significan: -c: escribe o lee cabeceras de información en caracteres ASCII -d: crea directorios si es necesario -f: sólo copia los archivos que no se adaptan al patrón especificado -m: mantiene la fecha de modificación de los archivos -r: renombra los archivos interactivamente -u: copia incondicionalmente aunque el archivo exista -v: imprime una lista de los nombres de los archivos 50
51 tar: tar [opciones] [archivos(s)] La orden tar se utilizó en sus comienzos para guardar o recuperar archivos en una cinta magnética. Puede ser utilizado para almacenar o recuperar información de cualquier archivo o dispositivo genérico como disquetes o archivos ordinarios Si alguno de los archivos que queremos copiar es un directorio, tar recorrerá todo el directorio y posibles subdirectorios para recoger toda la información contenida en los mismos. Las opciones NO van precedidas de guión. Las acciones están controladas por medio de una clave, que es una cadena de caracteres formada por una letra, llamada de función, seguida de más letras denominadas modificadores de función. Las letras de función pueden ser: c: crea un nuevo archivo. Si existía ya, lo destruye r: añade un nuevo archivo al ya existente t: lista los nombres de todo los archivos que hay en el archivo tar indicado u: sólo añade los archivos que son más nuevos que los que hay en tar x: extrae del archivo tar los archivos indicados Los modificadores de función son: Por ejemplo: f arch: los archivos serán almacenados o extraídos del archivo arch. Puede ser un archivo que esté en un dispositivo, como un disquete l: mostrará mensajes sobre los enlaces simbólicos que no se encuentren m: se actualizará la fecha de modificación p: un archivo obtiene los permisos originales así como el propietario y el grupo v: muestra mensajes de la operación w: fuerza a tar a pedir confirmación de la acción a realizar con cada archivo L: sigue los enlaces simbólicos Z: la información es comprimida o descomprimida con el programa compress z: idem con el programa gzip tar cvzf /dev/fd0 * con esta órden llevamos todos los archivos del directorio actual al disquete, comprimidos con gzip. Toda información que tuviera originariamente el disquete se perdería tar tvzf /dev/fd0 con esta veríamos la información contenida en el disquete tar xvzf /dev/fd0 y con esta recuperaríamos todo lo que tenemos allí almacenado También se suele emplear la orden tar para enviar la información a un archivo ordinario, para, por ejemplo descargarlo por ftp. 51
52 COMANDOS DE COMPRESIÓN/DESCOMPRESIÓN Los compresores son herramientas que nos permiten reducir el tamaño de los archivos a partir de un mecanismo de compresión de datos. Los más usados en el mundo UNIX/LINUX son compress y gzip que basan su compresión en el empleo de un algoritmo denominado de Lempel-Ziv. gzip: gzip [opciones] archivo(s) Comprime los datos de los archivos. Cada archivo es reemplazado por su versión comprimida, al cual añade la extensión.gz, manteniendo los permisos originales y la fecha. También puede hacer la operación contraria, la descompresión. Opciones: -c: la salida de la compresión va a pasar a la salida estándar, generalmente para enviarla por una tubería -d: descomprime archivos comprimidos -l: visualiza información de los archivos comprimidos -q: suprime todos los mensajes de atención -r: recursivo, por los directorios especificados -t: comprueba la integridad de los archivos comprimidos -v: visualiza el nombre y el porcentaje de reducción de cada archivo -1: comprime rápido, pero con un porcentaje de compresión menor -9: comprime más, pero tarda más tiempo en hacerlo (el valor por defecto es -6) zip: zip [opciones] ficherozip listaficheros Este es un compresor muy popular en entornos Windows, que también tiene una versión para Linux. Realiza el equivalente a tar + gzip. A los ficheros creados con zip se les suele dar la extenzión.zip. La opción por defecto es añadir o reemplazar al fichero zip los archivos de la lista. Algunas opciones interesantes son: -u: actualizar solo ficheros nuevos o modificados -d: eliminar archivos del fichero zip -r: recursivamente -j: no guarda la estructura de directorios -0: sólo almacenar (no comprimir) -1: comprime más rápido -9: comprime mejor -q: modo silencioso -v: comunica cada operación -T: testea la integridad del fichero zip Para verlas todas se puede teclear zip y pulsar intro unzip: unzip [-opciones[modificadores]] ficherozip [lista] [-d dir] Extrae los ficheros indicados en la lista (o todos) desde el fichero zip. Además, este último puede tener caracteres comodín. 52
53 Algunas opciones interesantes son: -p: extrae los ficheros a una tubería sin mensajes -l: lista los ficheros -t: testea los datos del archivo comprimido -d: extrae los ficheros en ese directorio Y los modificadores: -n: no sobreescribe ficheros ya existentes -o: sobreescribe ficheros sin decir nada -j: ignora la estructura de directorios -v: informa de todo lo que va haciendo Para ver todas las opciones, teclear unzip y después intro 53
54 BLOQUE 8 - PROGRAMACIÓN DE TAREAS. ARCHIVOS DE LOG. EL PROCESO DE INICIO. POR QUÉ PROGRAMAR TAREAS El administrador de un sistema Línux/Unix necesita realizar de manera previsible un número de tareas periódicas, como copias de seguridad, monitorización del rendimiento del sistema, revisión de archivos de log, etc. Por otra parte, un usuario particular también puede tener interés en sistematizar determinados trabajos. Para ello existe un servicio denominado cron implementado por el demonio crond. Un demonio (daemon) es un servidor de ejecución permanente que comprueba constantemente el sistema para realizar determinadas acciones. Estas acciones, en este caso, aparecen relacionadas en el archivo crontab. El demonio examina constantemente el archivo crontab para ver si ha llegado el momento de realizar las tareas en él descritas. El archivo /etc/crontab puede ser configurado por root para que lleve a cabo acciones administrativas en el sistema a cada hora o de manera diaria, semanal o mensual. El mecanismo está pensado para sistemas que estén funcionando las 24 horas del día, todos los días de la semana, por lo que si en el momento en que está programado que se desencadene una tarea, estuviera apagado, no se realizaría. Por eso, en estos casos se sustituye cron por anacron, que funciona comprobando si hay alguna tarea pendiente en fecha y/u hora anterior, para proceder a su ejecución. Está pensado sólo para tareas diarias, semanales o mensuales. El archivo que recoge la programación de anacron es /etc/anacrontab. EL SERVICIO CROND Crond se inicia automáticamente al arrancar el sistema, pero también se puede iniciar o parar manualmente con las órdenes: service crond stop,y service crond start y tal y como se ha dicho antes, revisa el contenido del (o los) archivo(s) crontab. Formato de crontab El archivo crontab se configura en líneas, cada una de las cuales programa una tarea. Cada línea consta de seis columnas: minuto hora dia-del-mes mes dia(s)-de-la-semana tarea 0 2 * * 1-5 tar cf /home/backup /home/proyectos Los minutos pueden tomar los valores 0-59, la hora 0-23, el día del mes 1-31, el mes 1-12 ó nombres abreviados como Jan o Sep y el día de la semana 0-6 o nombres abreviados, como Wed o Fri, entendiéndose que 0 es el domingo. 54
55 En cada campo se puede especificar un rango (1-5), un conjunto de valores separados por coma (1, 3, 5) ó un asterisco para indicar todos los valores posibles En la línea del ejemplo, se indicaría la realización de una copia de seguridad del directorio proyectos a las 2:00 am de cada día laborable (lunes a viernes) El fichero puede incluir líneas de comentario, siempre que comiencen por #. Al principio del fichero crontab también se pueden definir variables de entorno para utilizarlas en las tareas programadas, en Fedora, éstas son generalmente SHELL, PATH, HOME y MAILTO. Ésta última designa a quién deben ser enviados por correo electrónico los resultados de la emisión de una tarea, por defecto, el usuario que las ha programado. HOME es el directorio base para las tareas. En el caso de root suele ser /. Si el uso del servicio es intensivo, el archivo /etc/crontab puede quedar atestado facilmente, o puede que algunas tareas requieran una definición de variables diferentes. Por esto, para facilitar la organización, se pueden colocar las entradas de crontab en archivos aparte ubicados en el directorio /etc/cron.d, que responderán al mismo formato que crontab, y pueden tener cualquier nombre, siendo su ubicación y no su nombre, la que establece su relación con el demonio. Por otra parte, también existen una serie de directorios: /etc/cron.hourly /etc/cron.daily /etc/cron.weekly /etc/cron.monthly para permitir colocar en ellos las tareas más comunes e inamovibles, mientras que se suele reservar el archivo /etc/crontab para las tareas más especiales o caducibles. En cada uno de estos directorios asociados a una periodicidad clara, se colocan los scripts que conforman dichas tareas para su ejecución (OJO: los scripts, no un archivo crontab), la cual se desencadenaría a partir de las siguientes entradas en /etc/crontab: # run-parts 01 * * * * run-parts /etc/cron.hourly 02 4 * * * run-parts /etc/cron.daily 22 4 * * 0 run-parts /etc/cron.weekly * * run-parts /etc/cron.monthly El script /usr/bin/run-parts es el que se encarga de poner en marcha todos los scripts residentes en el directorio especificado, lo cual realiza por orden alfabético. Formato de anacrontab En casos (como ocurre con Fedora) en que se opte por que anacron realice el servicio, el archivo a examinar por el demonio es /etc/anacrontab, cuyo formato responde al mismo esquema de declaración de variables de entorno, y líneas de entrada en 4 columnas: periodo retardo id-trabajo comando 55
56 El periodo está indicado en días e indica cada cuantos días hay que lanzar la tarea, el retardo viene indicado en minutos, y representa el periodo de espera que anacron debe respetar antes de lanzar la tarea una vez detectada la necesidad de hacerlo, id-trabajo es el nombre con el que identifica en el mail al usuario que lo lanzó, y comando, será la tarea a lanzar. Un ejemplo de anacrontab sería: # /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 1 65 cron.daily run-parts /etc/cron.daily 7 70 cron.weekly run-parts /etc/cron.weekly cron.monthly run-parts /etc/cron.monthly Anacron se diferencia de cron en que, como ya hemos dicho, revisa si en los últimos n días (lo especificado en la columna periodo) se ha lanzado esa tarea, y si no es así, espera el retardo indicado y lo lanza. Usuarios particulares Cualquier usuario puede crear un archivo de crontab con el nombre que quiera. A continuación deberá teclear el comando: crontab archivo Este comando se encargará de leer el contenido del archivo y creará un archivo: /var/spool/cron/usuario, con el nombre del usuario que lo haya creado. En principio, cualquier usuario puede crear su propio archivo crontab, pero root tiene un mecanismo para permitir o impedir esto. Es a través de los archivos /etc/cron.allow y /etc/cron.deny. Si se utiliza el primer archivo como filtro, sólo están autorizados los usuarios en él relacionados. Si se utiliza el segundo, sólo los que no aparezcan aquí podrán hacerlo. Una vez creado el archivo crontab, no se debe editar directamente, sino a través del comando crontab con la opción -e: crontab -e archivo Por otra parte: crontab -l archivo muestra su contenido, y elimina el archivo crontab -r archivo 56
57 ARCHIVOS DE LOG Casi todas las actividades realizadas en un sistema Linux/Unix son susceptibles de ser registradas: horas de acceso de cada usuario al sistema, intentos fallidos de conexión, páginas web más visitadas, etc. Con este motivo, existe un servicio denominado syslog que es implementado por el demonio syslogd, lanzado automáticamente al arrancar el sistema. Este demonio recibe mensajes de las distintas partes del sistema (núcleo, servidores, programas, etc...) y los envía y/o almacena en diferentes localizaciones siguiendo un criterio definido en el archivo de configuración /etc/syslog.conf, donde se especifican las reglas para gestionar el almacenamiento de mensajes del sistema. Un ejemplo de syslog.conf es: # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. authpriv.* # Log all the mail messages in one place. mail.* # Log cron stuff cron.* /var/log/secure /var/log/maillog /var/log/cron # Everybody gets emergency messages *.emerg * # Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log Podemos ver que, comentarios aparte, cada regla del archivo consta de dos partes: un campo de selección, y un campo de acción, separados por tabuladores. El campo de selección, a su vez se divide en dos partes, separadas por un punto: una que indica el servicio que manda el mensaje, y otra que indica su prioridad. La parte del servicio contiene una o varias de las siguientes palabras claves: auth, auth-priv, cron, daemon, kern, lpr, mail, mark, news, security, syslog, user, uucp y local0 hasta local7. En segundo lugar, la prioridad está compuesta de uno de los siguientes términos en orden ascendente: debug, info, notice, warning, warn (id. al anterior), err, error (idem), crit, alert, emerg y panic (idem) 57
58 La prioridad define la gravedad o importancia del mensaje almacenado. Además se emplean los siguientes caracteres especiales: * : utilizado como comodín tanto para prioridades como para servicios ' ': blanco, o nulo, no hay prioridad definida para el servicio, : para indicar múltiples servicios con la misma prioridad ; : para dirigir los mensajes de varios servicios al mismo archivo de log =: sólo se envían los mensajes de exactamente esa prioridad (nunca superior) La segunda parte de cada línea de archivo de configuración de syslogd es el campo de acción y describe el destino de los mensajes, que puede ser: un archivo de texto, que suele estar ubicado en /var un dispositivo físico una tubería con nombre una máquina remota usuarios del sistema todos los usuarios conectados (en este caso, se usa el *) El administrador podrá configurar este archivo syslog.conf para que se generen los registros que estime oportuno, y deberá monitorizarlos con cierta frecuencia para detectar posibles problemas sobre todo de seguridad. Para ello tal vez sea necesario crear shellscripts que automaticen el trabajo y generen informes periódicos. 58
59 EL PROCESO DE INICIO El proceso de inicio init, es el padre de todos los procesos que se ejecutan en el sistema, por ser el primero que interviene, una vez que el cargador (GRUB ó LILO) le pasa el control al sistema. Es el encargado de generar todos los procesos básicos del sistema. Para ello utiliza el fichero de configuración /etc/inittab. Este fichero puede ser ajustado para que se ejecute según nuestros intereses Veamos un ejemplo de /etc/inittab: # # inittab This file describes how the INIT process should set up # the system in a certain run-level. # # Author: Miquel van Smoorenburg, <[email protected]> # Modified for RHS Linux by Marc Ewing and Donnie Barnes # # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault: # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 # Things to run in every runlevel. ud::once:/sbin/update # Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r now # When our UPS tells us power has failed, assume we have a few minutes # of power left. Schedule a shutdown for 2 minutes from now. # This does, of course, assume you have powerd installed and your # UPS connected and working correctly. pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" # If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 59
60 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 # Run xdm in runlevel 5 # xdm is now a separate service x:5:respawn:/etc/x11/prefdm -nodaemon Como ya sabemos, todas las líneas que comienzan por # son comentarios. Las entradas del fichero corresponden con el esquema: etiqueta:nivelejecucion:acción:comando Donde: etiqueta: es una etiqueta única, de un máximo de 4 caracteres nivelejecución: es una lista de los niveles de ejecución en que se debe ejecutar el comando acción: veamos cuales son las indicadas y lo que significan: initdefault: nivel de ejecución por defecto sysinit: el script se ejecuta en la fase de arranque del sistema, independientemente del nivel de ejecución once: el comando se ejecuta sólo una vez después de entrar en el nivel de ejecución indicado ctrlaltdel: comando a ejecutar si se pulsa esa combinación de teclas powerfail: comando a ejecutar si se recibe la señal SIGPWR powerokwait: si el fichero /etc/powerstatus contiene la palabra OK e init recibe la señal SIGPWR se ejecuta el comando. Osea, si el SAI manda una señal indicando que se ha restablecido la energía electrica respawn: se inicia una nueva instancia del proceso cada vez que termine wait: se ejecuta el comando una sóla vez al iniciar el nivel de ejecución, pero hasta que no termina el comando no se hace nada más comando: comando a ejecutar Si bien este archivo puede ser modificado, hay que hacerlo con mucha precaución, ya que nos arriesgamos a que Linux no pueda arrancar. Niveles de arranque Cada nivel de arranque permite configurar el sistema de forma diferente. Disponemos de los siguientes: 0: apagar el sistema 1: entrar en modo monousuario 2: entrar en modo multiusuario, sin sistema de ficheros en red 3: modo multiusuario completo, con inicioen modo texto 4: no usado 5: modo multiusuario completo con inicio en modo gráfico 6: reiniciar el sistema Al entrar en cada nivel de ejecución, se ejecutan una serie de comandos que se encuentran en /etc/rc.d/rc que reciben como argumentos el nivel de ejecución. Por ejemplo, si el nivel de arranque es 5, init ejecuta: /etc/rc.d/rc 5 60
61 Este script ejecuta entonces los ficheros que se encuentran en el subdirectorio /etc/rc.d/rc5.d. Los archivos de este subdirectorios comienzan por S (start) o K (kill) seguidos de dos dígitos y la función que realizan. Los K* sirven para parar servicios, y los S* para arrancarlos. El nivel de inicio queda indicado en la línea: id:3:initdefault: Y ahí es dónde habría que sustituir el 3 por otro nivel si deseamos cambiarlo. Las líneas como: 1:2345:respawn:/sbin/mingetty tty1 Son las que lanzan los 6 terminales virtuales. Las demás entradas están perfectamente autodocumentadas. 61
62 62
TP N 7 Comandos "mount" y "umount"
Taller de GNU/Linux 2002 TP7 hoja 1/5 Universidad Nacional de La Matanza Ingeniería en Informática-Taller de GNU/Linux TP N 7 Comandos "mount" y "umount" Objetivos: Comprender los nombres utilizados por
Linux Principios básicos de uso del sistema [4ª edición]
Introducción 1. Historia de Unix 11 2. GNU 13 2.1 FSF 14 2.2 CopyLeft y GPL 14 3. Linux 16 3.1 Características 18 3.2 Distribuciones 20 4. Qué distribución elegir? 20 4.1 Las distribuciones para el "gran
CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP
CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable
Como crear usuarios y grupos, añadirles permisos.
Como crear usuarios y grupos, añadirles permisos. Para poder crear usuarios y grupos tenemos a nuestra disposición programas y scripts que nos proporciona el mismo sistema. Slackware nos permite trabajar
UNIDAD DIDACTICA 8 MONTAR Y DESMONTAR UNIDADES EN GNU/LINUX
UNIDAD DIDACTICA 8 MONTAR Y DESMONTAR UNIDADES EN GNU/LINUX Eduard Lara 1 1. INTRODUCCIÓN En los sistemas GNU/LINUX y UNIX los dispositivos como los discos duros y sus particiones, el terminal de pantalla,
Shell de Unix ProgPLN
Shell de Unix ProgPLN Víctor Peinado [email protected] 9 de octubre de 2014 Never use the graphical tool; always learn the old Unix tool. You ll be far more effective over time and your data will
GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD
GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...
TEMA 2: GESTIÓN DE ARCHIVOS
Tema 2: Gestión de archivos. GNU/LINUX 1/6 TEMA 2: GESTIÓN DE ARCHIVOS Este tema cubre la gestión básica del sistema de archivos (archivos, directorios y links) de GNU/LINUX mediante las órdenes disponibles
Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:
Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor
Práctica 1: Herramientas básicas:
Práctica 1: Herramientas básicas: En esta práctica veremos las siguientes herramientas: Conexión a Terminal remoto Conexión a escritorio remoto Otras herramientas Duración: 1 sesión de 2 5 horas Conexión
SILLABUS CURSO : LINUX
SILLABUS CURSO : LINUX Administración DURACIÓN : 8 sesiones de 3 horas cada sesión Horarios : Grupo 1 : Lunes Miércoles -Viernes (8:00 pm a 11 :00 pm) Grupo 2 : Martes Jueves ( 7:00 pm 10 :00 pm) SUMILLA
Kiara Celeste Contreras Feliz. Matricula: 2011-2527. Sistema Operativo III. 5- Creación de usuarios y grupos
Nombre: Kiara Celeste Contreras Feliz Matricula: 2011-2527 Materia: Distribucion: How to: Profesor: Sistema Operativo III Open Suse 5- Creación de usuarios y grupos José Doñe Creación de usuarios y grupo
Administración de usuarios y grupos en Debian {Terminal}
Rocío Alt. Abreu Ortiz 2009-3393 Administración de usuarios y grupos en Debian {Terminal} Linux es un sistema multiusuario y permite que varios usuarios puedan acceder, incluso simultáneamente. Cada usuario
2_trabajar con calc I
Al igual que en las Tablas vistas en el procesador de texto, la interseccción de una columna y una fila se denomina Celda. Dentro de una celda, podemos encontrar diferentes tipos de datos: textos, números,
UNIDAD DIDACTICA 9 GESTIÓN DE PARTICIONES EN GNU/LINUX
UNIDAD DIDACTICA 9 GESTIÓN DE PARTICIONES EN GNU/LINUX Eduard Lara 1 1. COMANDO FDISK fdisk Sintaxis: fdisk device La orden fdisk permite crear particiones de cualquier tipo (fat16, fat32, ntfs, ext2,
GENERACIÓN DE TRANSFERENCIAS
GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base
CONCEPTOS BASICOS. Febrero 2003 Página - 1/10
CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,
Seminario de introducción al uso del sistema operativo UNIX
Seminario de introducción al uso del sistema operativo UNIX Michael González Harbour Departamento de Electrónica y Computadores Universidad de Cantabria 5 GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González
El Sistema Operativo Linux
Introducción El Sistema Operativo Linux La mayor parte de los ordenadores que existen en la actualidad están diseñados de forma que puedan ejecutar diversas tareas o programas. Es evidente, que si cada
Capítulo 9. Archivos de sintaxis
Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta
MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD
MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...
Administración de Infraestructuras. Tecnólogo en Informática
Administración de Infraestructuras Tecnólogo en Informática LINUX CENTOS 6 Usuarios y grupos Año 2012 USUARIOS Ap Solange Mikeliunas 2 Usuarios Primero debemos distinguir entre los dos tipos de usuarios
Manual hosting acens
Manual hosting acens Contenido Acceso al panel de control de cliente... 3 Asociar un dominio a mi Hosting... 5 Acceso al panel de administración del hosting... 7 INICIO - Visión general del estado de nuestro
WINDOWS 2008 7: COPIAS DE SEGURIDAD
1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden
Introducción a Linux. El regreso a los años 70: la consola (III)
Qué es y cómo acceder a una consola? Algunos comandos para moverse Sintaxis general de parámetros en BASH Encadenamiento de comandos Otros comandos GNU Editores de textos Permisos y usuarios Permisos y
TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS
TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS 1) EL PEQUEÑO EDITOR El Bloc de notas de Windows XP es un básico editor de texto con el que podemos escribir anotaciones, de hasta 1024 caracteres por línea y
Administración Local Soluciones
SISTEMA INTEGRADO DE GESTIÓN DE EXPEDIENTES MODULAR (SIGM) MANUAL DE USUARIO DE ARCHIVO PRÉSTAMOS Y CONSULTAS SIGM v3 Administración Local Soluciones Control de versiones Versión Fecha aprobación Cambio
Correo Electrónico: Webmail: Horde 3.1.1
CONTENIDOS: PAGINA Qué es Webmail?. 2 Acceder a Webmail. 2 Instilación del Certificado UCO. 4 Instilación Certificado I.explorer. 4 Instilación Certificado Firefox. 7 Opciones Webmail. 8 Opciones Información
Scripts de arranque. Pablo Sanz Mercado.
Scripts de arranque. Pablo Sanz Mercado. 1 1. Configuración y comandos básicos. Los niveles de ejecución en Linux son las diferentes formas en las que podemos encontrar un sistema operativo Linux. Cuando
GENERACIÓN DE ANTICIPOS DE CRÉDITO
GENERACIÓN DE ANTICIPOS DE CRÉDITO 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de anticipos de crédito permite generar fácilmente órdenes para que la Caja anticipe el cobro de créditos
Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:
Gemelo Backup Online DESKTOP Manual DISCO VIRTUAL Es un Disco que se encuentra en su PC junto a las unidades de discos locales. La información aquí existente es la misma que usted ha respaldado con su
10. El entorno de publicación web (Publiweb)
10. El entorno de publicación web (Publiweb) 10.1. Introducción El entorno de publicación Web es una herramienta que permite la gestión de nuestras páginas Web de una forma visual. Algunos ejemplos de
SICAE S.L.L. Almansa nº 4.28224.Pozuelo de Alarcón (Madrid). www.sicae.es. 91 799 07 66.Manual general de C. de Inventario/Ordenador V.1 Pag.
SICAE S.L.L. Almansa nº 4.28224.Pozuelo de Alarcón (Madrid). www.sicae.es. 91 799 07 66.Manual general de C. de Inventario/Ordenador V.1 Pag. 1 INDICE Entrada y Menú principal.... 2 Configuración de la
5. Composer: Publicar sus páginas en la web
5. Composer: Publicar sus páginas en la web Si nuestras páginas existen únicamente en el disco duro local, sólo nosotros podremos navegar por ellas, pero nadie más podrá hacerlo. Composer nos permite publicarlas
Usuarios, Grupos y Permisos en GNU/Linux
Usuarios, Grupos y Permisos en GNU/Linux Page 1 Nota de Copyright 2005 Diego Chaparro. Algunos derechos reservados. Este trabajo se distribuye bajo la licencia Creative Commons Attribution-ShareAlike.
MANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES
1. ÍNDICE MANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES 1. INTRODUCCIÓN...4 2 INSTALACIÓN DE LA APLICACIÓN...4 3 PANTALLA DE ACCESO...5 4 SELECCIÓN DE CLÍNICA...6 5 PANTALLA PRINCIPAL...7 6.
1.- MENU DE CONTROL O MENU VENTANA: permite cerrar la ventana cambiarla de tamaño y pasar a otra ventana
EXCEL PRÓLOGO Microsoft Excel es una hoja de cálculo de gran capacidad y fácil uso. Excel no solo es una hoja de calculo, sino también tiene capacidad para diseñar bases de datos (listas) de forma totalmente
Archivos. Teoría de Sistemas Operativos. Archivos. Archivos. Archivos. Archivos. Administración de Archivos
Teoría de Sistemas Operativos Administración de Sistemas de :: punto de vista del usuario Nombre Consiste en una serie de símbolos (letras y números principalmente). Sirven de referencia para el usuario
Operación Microsoft Access 97
Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe
Creación y administración de grupos de dominio
Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia
GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE
ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19
6.- Disquetes, CD-ROM, CD-Rs y CD-RWs
6.- Disquetes, CD-ROM, CD-Rs y CD-RWs 6.1.- Montaje y desmontaje de un disquete Un disquete, antes de utilizarse, se debe montar. Se inserta un disquete en la unidad de disquetes y se escribe mount /mnt/floppy/
TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE)
1. Introducción. TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE) El Explorador es una herramienta indispensable en un Sistema Operativo ya que con ella se puede organizar y controlar los contenidos (archivos
INSTALACIÓN DE MEDPRO
1 Estimado Cliente: Uno de los objetivos que nos hemos marcado con nuestra nueva plataforma de gestión, es que un cliente pueda instalar MedPro y realizar su puesta en marcha de forma autónoma. Siga paso
ORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS
ORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS Organizar la información: El explorador de Windows... 1 Introducción... 1 Explorador de Windows... 2 Ejercicio práctico del explorador de Windows... 5
AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7
Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos
Protocolo Configuración Windows NT WS
Comprobación de la instalación del Service Pack 5 ó el último reconocido. Desde Herramientas Administrativas, en su opción Diagnosis de Windows NT, o cuando arranca el sistema, podemos comprobarlo. Si
SISTEMAS OPERATIVOS EN RED. UT. 05 Utilidades de administración. ÍNDICE
ÍNDICE 1. Perfiles de usuarios. 2.1. Perfiles móviles variables. 2.2. Perfiles obligatorios. 2. Administración de discos. 2.1. Configuraciones de disco. 2.1.1. Discos Básicos. 2.1.2. Discos Dinámicos 2.2.
ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)
JOOMLA! ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) Es necesario comentar que este manual ha sido diseñado en su mayor parte por comunidadjoomla.org. Este manual es una
MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora
MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo
NORMA 34.14(SEPA) 05/11/2013
NORMA 34.14(SEPA) 05/11/2013 1. Descripción La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que se efectúe el pago de transferencias a los beneficiarios
Ajustes del Curso en egela (Moodle 2.5)
Ajustes del Curso en egela (Moodle 2.5) Manual para el profesorado Versión 2 (12/05/2015) El presente manual ha sido desarrollado por el Campus Virtual de la Universidad del País Vasco / Euskal Herriko
CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO
CATÁLOGO MANUAL DE USUARIO CATÁLOGO MANUAL DE USUARIO CATÁLOGO MANUAL DE USUARIO 1. CATÁLOGO MANUAL DE USUARIO CATÁLOGO AHORA CATÁLOGO MANUAL DE USUARIO 1 1. Introducción AHORA Catálogo es una aplicación
Operación de Microsoft Word
Generalidades y conceptos Combinar correspondencia Word, a través de la herramienta combinar correspondencia, permite combinar un documento el que puede ser una carta con el texto que se pretende hacer
Servicio Webmail. La fibra no tiene competencia
Servicio Webmail La fibra no tiene competencia Contenido 1. INTERFAZ WEBMAIL 3 2. BARRA SUPERIOR 3 3. CORREO 3 3.1. Barra de herramientas de correo 4 3.2. Sección carpetas de correo 9 3.3. Sección de contenidos
Manual de usuario del Centro de Control
Manual de usuario del Centro de Control www.ximdex.com Tabla de contenidos 1. Centro de Control...4 2. Gestor de Canales...5 2.1. Añadir un nuevo canal...6 2.2. Modificar las propiedades del canal...6
MF0952_2: Publicación de páginas web
MF0952_2: Publicación de páginas web TEMA 1. Características de seguridad en la publicación de páginas web TEMA 2. Herramientas de transferencia de archivos TEMA 3. Publicación de páginas web TEMA 4. Pruebas
Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan [email protected]
Sistemas de archivos distribuidos Alvaro Ospina Sanjuan [email protected] >Abstracción del sistema operativo para representar y organizar los recursos de almacenamiento >Se debe hacer la
SOROLLA2 GUÍA PRÁCTICA SIMPLIFICADA. Relaciones de transferencias. Marzo del 2014
DE PRESUPUESTOS SOROLLA2 GUÍA PRÁCTICA SIMPLIFICADA Relaciones de transferencias Marzo del 2014 1. DE PRESUPUESTOS Aunque la operativa es prácticamente idéntica, vamos a distinguir dos tipos entre las
Sistemas de Ficheros en GNU/Linux
en GNU/Linux Page 1 Nota de Copyright 2005. Algunos derechos reservados. Este trabajo se distribuye bajo la licencia Creative Commons Attribution-ShareAlike. Para obtener la licencia completa, véase http://creativecommons.org/licenses/by-sa/2.1/es
Hi-Spins. Hi-Spins - Novedades v.10.2.0 10.2.2
Hi-Spins Hi-Spins - Novedades 10.2.2 Tabla de contenido Hi-Spins Consulta Renovación de la presentación gráfica................................... 3 Visualización compacta de dimensiones en ventana de
MANUAL DE LA APLICACIÓN HELP DESK
CASAMOTOR MANUAL DE LA APLICACIÓN HELP DESK Desarrollado por: NOVIEMBRE, 2012 BOGOTÁ D.C. - COLOMBIA INTRODUCCIÓN Este documento es el manual de la aplicación de Help Desk de Casamotor, producto desarrollado
Selección de los puntos de montaje
PARTICIONES PARA LINUX Selección de los puntos de montaje Tanto para aquellos que vayan a instalar ahora, como para quienes quieran cambiar el tamaño de una partición o formatear este apunte (resumen de
Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?
Preguntas frecuentes Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Atención! Esta opción es de configuración y solamente la prodrá realizar el administrador de la
Guía nuevo panel de clientes Hostalia
Guía nuevo panel de clientes Hostalia Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com 1. Estructura del panel de administración El panel de control presenta un diseño
UNIDAD DIDACTICA 4 INTEGRACIÓN DE CLIENTES WINDOWS EN UN DOMINIO
UNIDAD DIDACTICA 4 INTEGRACIÓN DE CLIENTES Eduard Lara 1 1. CONFIGURACIÓN PREVIA DE LOS CLIENTES WINDOWS Objetivo: Configurar los clientes Windows XP/Vista en red para posteriormente poderlos integrar
Manual de Procedimiento
Manual de Procedimiento INSTALACION DEL PROGRAMA Este manual pretende ser una ayuda para el usuario, indicando cada uno de los pasos a seguir en su utilización. REQUERIMIENTOS: 1. Windows 98 o superior.
Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.
Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra
Reparar diagramas FUP o MMI con errores de código desde un Backup anterior.
Reparar diagramas FUP o MMI con errores de código desde un Backup anterior. Debemos realizar un backup previo de todos los diagramas FUP y MMI de la ES para poder reponer el diagrama corrupto en el momento
Comandos básicos MS-DOS
Comandos básicos MS-DOS Inicio Para iniciar DOS en Windows XP, hay que irse al botón de Inicio, Ejecutar y poner cmd. Se abrirá una ventana de DOS en la que se probarán todas las opciones de los comandos
Capítulo 2. Cuestiones previas
2.1. Creación del CD de Knoppix a partir de la ISO El CD de Knoppix puede ser descargado desde Internet. (Vea el capítulo anterior: www.victoralonso.com (http://www.victoralonso.com/knoppix/)). El resultado
Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)
Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.
GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS
ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia
Guardar y abrir documentos
Contenido 1. Guardar como... 2 2. Abrir... 4 3. Recuperar archivos... 5 4. Unidades, Archivos y Carpetas... 5 5. Estructura de archivos... 6 6. Diferentes visiones de la lista de Abrir... 7 7. Cambiar
Manual de rol gestor de GAV para moodle 2.5
Manual de rol gestor de GAV para moodle 2.5 Consultas LDAP-GAUR... 2 Buscar en LDAP datos de un usuario... 2 Docentes... 3 Buscar en GAUR datos de un docente... 3 Buscar en GAUR la docencia de un docente
WINDOWS. Iniciando Windows. El mouse
Windows es un sistema operativo, cuyo nombre lo debe al principal elemento de trabajo, la ventana - en inglés window -. Este tiene características como: Multitarea: durante una sesión de trabajo, es posible
Manual de operación Tausend Monitor
Manual de operación Tausend Monitor Luego de haber realizado satisfactoriamente el proceso de instalación, al iniciar el programa le aparecerá la siguiente ventana: El usuario principal y con el primero
Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib
Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico
Definiciones. Tema 21_Módulos Menú 1
Definiciones Un menú es una lista de opciones o de órdenes que forman parte de un mismo título, mediante los cuales se podrán seleccionar determinadas operaciones de la aplicación. El conjunto de todos
MANUAL DE USO DE LA APLICACIÓN
MANUAL DE USO DE LA APLICACIÓN ÍNDICE 1. Acceso a la aplicación 2. Definición de funciones 3. Plantillas 4. Cómo crear una nueva encuesta 5. Cómo enviar una encuesta 6. Cómo copiar una encuesta 7. Cómo
Administración de GNU/Linux
Administración de GNU/Linux Curso de Utilización y Administración avanzada de sistemas GNU/Linux y aplicaciones de Software Libre para estudiantes universitarios Pablo Cabezas Mateos Índice Qué debe conocer
Seguidamente se muestra una pantalla para seleccionar nuestra localización, y comprobamos que la hora y demás es correcto. Podemos hacerlo fácilmente
A continuación se presentarán los diferentes pasos a seguir para la instalación de la distribución de linux Ubuntu 6.06 en su versión Desktop, usando para esto el nuevo instalador gráfico incluido en la
Race Manager by Master Timing Guía del usuario GUIA RACE MANAGER. Eventronic, SL
GUIA RACE MANAGER Eventronic, SL DESCRIPCIÓN DEL PROGRAMA El Race Manager es un programa que se creó para facilitar el trabajo de la dirección de carrera de un evento durante y después de una carrera.
Gestión de discos duros en Linux
Este documento está bajo licencia Creative Commons Trabajo realizado por: José Ignacio Mardomingo Chacón Gestión de discos duros en Linux 1.-Inserta un nuevo disco y crea dos particiones con distinto tipo
GESTOR DE DESCARGAS. Índice de contenido
GESTOR DE DESCARGAS Índice de contenido 1. Qué es DocumentosOnLine.net?...2 2. Qué es el Gestor de Descargas?...3 3.Instalación / Configuración...5 4.Descarga de Documentos...9 5.Búsqueda / Consulta de
UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER
UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER Eduard Lara 1 1. INTRODUCCIÓN En Windows Server: - Los usuarios y grupos dados de alta cuando el equipo es un servidor independiente,
Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez
Instituto Tecnológico de Las América Materia Sistemas operativos III Temas Servidor Web Apache Facilitador José Doñe Sustentante Robín Bienvenido Disla Ramirez Matricula 2011-2505 Grupo 1 Servidor Web
Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows
Qué es Recuperación? Recuperación del Panel de control proporciona varias opciones que pueden ayudarle a recuperar el equipo de un error grave. Nota Antes de usar Recuperación, puede probar primero uno
Pasamos ahora a definir brevemente cual es el método de conexión más habitual usando un entorno gráfico.
Clientes de FTP en modo gráfico Introducción Ya vimos en la primera parte de nuestro curso de FTP, que la conexión a servidores inicialmente se realizaba (y aún se sigue haciendo) en modo texto. Aunque
Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto
INFORMÁTICA INFORMÁTICA 1 Sesión No. 4 Nombre: Procesador de Texto Contextualización La semana anterior revisamos los comandos que ofrece Word para el formato del texto, la configuración de la página,
Bibliotecas Escolares. Perfil de Lector.
Bibliotecas Escolares. Perfil de Lector. 2012 Como usuario Lector de AbiesWeb, podrás acceder al catálogo de fondos, solicitar reservas, ver tus préstamos activos, ver el historial de tus lecturas, escribir
MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)
MANUAL DE AYUDA SAT Móvil (Movilidad del Servicio Técnico) Fecha última revisión: Abril 2015 INDICE DE CONTENIDOS INTRODUCCION SAT Móvil... 3 CONFIGURACIONES PREVIAS EN GOTELGEST.NET... 4 1. INSTALACIÓN
Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas
Módulos: Módulo 1 Hardware & Arquitectura de sistemas - 20 Horas Este módulo permite conocer y configurar los elementos básicos del hardware del sistema, como también otros componentes adicionales como
Guía de uso del sistema CV-Online
Guía de uso del sistema CV-Online 1.- Registro. a.- Pasos para completar el formulario. 2.- Ingreso al sistema. a.- Olvidó su Usuario o contraseña? b.- Consulta. c.- Crear nueva cuenta. 3.- Administrador
ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas.
ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas. Sala de sistemas, Video proyector, Guías RECURSOS ACTIVIDADES PEDAGÓGICAS
Manual: Gestor de contenidos e-gim cms. 6 abril 2010
Manual: Gestor de contenidos e-gim cms 6 abril 2010 Índice 1 ACCESO AL GESTOR DE CONTENIDOS...3 2 ADMINISTRACIÓN...5 2.1 USUARIOS...5 2.2 ÁREAS...6 3 TIPOS DE CONTENIDO...9 3.1 DIRECTORIO...9 3.2 EVENTOS...10
CVS Concurrent Versions System Manual de Usuario
CVS Concurrent Versions System Manual de Usuario Resumen Sistema de control de versiones basado en código open-source que mantiene el registro de todo el trabajo y los cambios en los archivos (código fuente
Internet Information Server
Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en
Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora
Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar
