Resumen Unix

download Resumen Unix

of 72

Transcript of Resumen Unix

  • 7/30/2019 Resumen Unix

    1/72

    SISTEMA MULTIUSUARIO UNIX/LINUX: INSTALACIN,OPERACIN, CONFIGURACIN Y ADMINISTRACIN

    1. Necesidad de un Sistema MultiusuarioActualmente, una de las cuestiones ms importantes de todo el desarrollo dela informtica es la comunicacin entre usuarios y ordenadores, pero sobretodo entre los usuarios.

    En el pasado, cuando no existan las redes, la nica forma de comunicacinera la mensajera. Ello conllevaba una gran prdida de tiempo, pues se tenaque esperar que el correo llegara. Este desperdicio de tiempo era an mspronunciado en los casos en que se tena que desarrollar un trabajo entrevarias personas que estaba dividido en una serie de proyectos quedependan unos de otros. En tales casos haba que esperar a que la primeraparte estuviera acabada y el mensajero deba llevarla de un lugar a otro.

    Hoy en da esto ha cambiado gracias a la aparicin de las redes, que hanhecho que sea posible la comparticin de documentos y la utilizacin de unmismo programa por todos los empleados que estn utilizando ordenadoresdentro de una misma empresa.

    Estos programas se van actualizando constantemente con el paso deltiempo. Si en una empresa existieran un nmero n de ordenadores que nocompartieran datos ni estuvieran conectados en red, una persona tendraque ir actualizando, mquina por mquina, el software de cada uno de losordenadores. Lo que supondra un gasto extraordinario de tiempo y dinero.De ah que surgiera la necesidad de la comparticin de datos y, enconsecuencia, las redes, que dieron origen a la aparicin de una nuevaciencia: la telemtica, que se encarga de estudiar la comunicacin de datos e

    imgenes a travs de medios fsicos.

    Un sistema multiusuario es aqul en que varias personas pueden estarutilizando informacin de un mismo ordenador. En cada sistema se puedenencontrar tres partes fundamentales: el ordenador central, las tarjetasmultipuerto y los terminales.

    El ordenador central suele ser el ms potente y con mayor capacidad dealmacenamiento de la red. Se encarga de controlar cada uno de los distintos

    ordenadores que estn conectados a l, tanto el acceso a los datos por losdistintos usuarios como el uso de los perifricos.

  • 7/30/2019 Resumen Unix

    2/72

    Dependiendo de cmo sean los terminales, el ordenador central puede ser elnico ordenador de la red que contenga el sistema operativo, por lo quetodos los procesos debern de pasar por l obligatoriamente.

    2. Hardware en un Sistema MultiusuarioEn general, el hardware de cualquier sistema multiusuario consta de dospartes fundamentales:

    Ordenador central. Tambin llamado servidor, que es el encargado desuministrar informacin a los diferentes usuarios del sistema.

    Terminales. Estos son los puestos con los que los usuarios se comunicancon el ordenador central. Pueden ser, a su vez, de dos tipos:

    - Terminales puros. Estos terminales son exclusivamente un monitor yun teclado sin unidad central, que estn conectados directamente alordenador central. Solamente pueden ser utilizados en el sistema enel que estn conectados, es decir, no son autnomos, ya que no tienenmicroprocesador propio, ni memoria, ni ningn componente bsico

    de un ordenador.- Ordenadores personales en emulacin. Pueden ser ordenadores de lafamilia 8086, 486-SX, Pentium, etc. Son autnomos, es decir, puedentrabajar de forma independiente, ya que constan de todos loscomponentes que cualquier ordenador precisa: microprocesador,memoria, monitor, teclado, ROM, etc. Pueden ser utilizados por losusuarios de un sistema multiusuario, ya que se pueden conectar alordenador central mediante tarjetas de red (tambin pueden conectarsea travs de los puertos serie). Una vez conectados, el equipo ejecuta

    un programa que emula o transforma la seal recibida del ordenadorcentral, para que ste la entienda y pueda funcionar.

    Otro componente que forma parte de un sistema multiusuario es laimpresora. Normalmente, en sistemas Unix/Linux solamente se utilizanimpresoras conectadas al ordenador central, que son gestionadasdirectamente por ste y utilizables por todos los usuarios.

  • 7/30/2019 Resumen Unix

    3/72

    3. Introduccin al Sistema Unix/Linux3.1. HISTORIA Y VERSIONES

    A finales de los 60, los laboratorios Bell, de AT&T desarrollaban un sistemaoperativo que result demasiado avanzado para los medios disponibles enla poca. Este sistema llamado MULTICS, que pretenda ser, unacomputadora al servicio pblico fue abandonado por Bell.

    Uno de los ingenieros que trabajaban en el proyecto, Ken Thompson, se pusoa investigar por su cuenta obteniendo una versin de MULTICS sobre unacomputadora en desuso, la PDP-7. As se creo la primera versin primitivade UNIX.

    Esta primera versin tena dos problemas fundamentales: estaba escritasobre la vieja computadora PDP-7 y no era portable; es decir, cada vez quehaba que cambiar el sistema de una computadora a otra tenan que rescribirel cdigo.

    Por ello, en primer lugar, se pas del sistema de la PDP-7 al PDP-11, que fueel ms utilizado en la dcada de los 70. En segundo lugar, para resolver elproblema de la portabilidad Thompson decidi escribirlo en lenguaje B, padre

    del lenguaje C. Como sucedi con Multics, la versin de UNIX escrita en Bno funcion, ya que tena muchas limitaciones, por lo que en 1973 fuereescrita en C.

    En 1974, AT&T cede la licencia de explotacin de UNIX a universidades ycentros de investigacin. A partir de este momento muchas empresasdesarrollaron diferentes versiones de UNIX, lo que dio lugar a variossistemas incompatibles entre s.

    Durante finales de los 70 y primeros de los 80 destacaron dos sistemasUNIX, el suministrado por los laboratorios Bell, conocido como System III(1981) y posteriormente como System V(1982), y el desarrollado por laUniversidad de California en Berkeley llamado BSD, cuya versin 4.3 BSD fue la

    base para muchos fabricantes en lugar de la System V de AT&T.

    Estas dos corrientes produjeron una divisin del sistema UNIX por laincompatibilidad entre ambas y un freno en su expansin.

    El IEEE intent unificar las dos versiones consiguiendo que se creara unestndar y libreras para conseguir la compatibilidad de UNIX. Sin embargo,

  • 7/30/2019 Resumen Unix

    4/72

    en 1988, para evitar que AT&T se hiciera con el control del sistemaoperativo, una serie de fabricantes entre los que estn IBM, HP y DEC, entreotros, constituyeron la llamada OSF (Open System Foundation) para crear supropio sistema operativo bajo las normas de la IEEE.

    Unix fue concebido para entornos grandes, potentes servidores de internet ybsicamente, para el mundo empresarial... por lo que, resultaba ser unsistema demasiado caro para el usuario final. Por ello apareci Linux, unclon de Unix que respeta sus normas y estndares (POSIX, BSD), pero queadems goza de una caracterstica importante, esgratis, no pertenece aninguna empresa y se puede obtener todo el cdigo fuente...

    La historia de Linux empieza en Finlandia, en 1991, cuando a Linus B.Torvalds, estudiante de la Universidad de Helsinki, se le ocurri comprarse

    un PC con procesador 386. Despus de observar que el MS/DOS noaprovechaba los recursos de la mquina, decidi usar otro sistema operativode entonces Minix (Minix era un pequeo sistema Unix).

    Sin embargo, debido a las limitaciones del Minix, Linus decidi reescribiralgunas partes del sistema, aadindole mayor funcionalidad.Posteriormente, Linus difundi el cdigo fuente por Internet, de maneragratuita y con el nombre de Linux. La primera difusin de Linux tuvo lugarel mes de agosto de 1991. Se trataba de la versin 0.01, y por el momento

    funcionaba bajo Minix.

    En sus primeras versiones, Linux era bastante limitado, pero el hecho de quese difundiera la fuente por Internet, y totalmente gratis, hizo que cada vezms personas empezaran a colaborar con el proyecto, hasta llegar a loscientos de colaboradores que hay trabajando en la actualidad en los cientosde proyectos GNU.

    Actualmente, Linux es un sistema Unix completo, estable, que sigueevolucionando y que cada da gana nuevos adeptos. Durante muchos aosLinux perteneci, casi por completo al mundo universitario, ahora queInternet llega a millones de usuarios, Linux se est extendiendo a pasosagigantados, incluso en el mundo empresarial.

    3.2. CARACTERSTICAS GENERALES

    Como se ha comentado en temas anteriores, Unix/Linux es un sistemaoperativo multiusuario.

  • 7/30/2019 Resumen Unix

    5/72

    Por otro lado, es un multitarea, es decir, el sistema permite que los usuariosestn ejecutando varias aplicaciones simultneamente utilizando la tcnicade tiempo compartido. Para ello se aplican los diferentes algoritmos deplanificacin como los que se vieron en el tema 4. A continuacin se detalla

    el utilizado habitualmente por Unix/Linux y otros sistemas multiusuario,junto con algunas de las caractersticas ms importantes de estos sistemasoperativos:

    Algoritmo por prioridades o multinivel. Es uno de los ms complejos yeficaces. Asigna los tiempos de ejecucin de la CPU segn una lista deprioridades. En cada una de estas listas, el sistema operativo incluiraquellos procesos a los que se les haya asignado esa prioridad. El tiempode ejecucin del procesador se ir destinando, en primer lugar, de formasecuencial a los procesos de mayor nivel. Terminados stos, se ejecutarnlos procesos del nivel inferior, y as sucesivamente hasta los procesos delnivel ms bajo.

    Memoria virtual. Esta tcnica permite a los usuarios del sistema ejecutarprogramas, de tal forma que d la sensacin de que toda la memoriaRAM es para ellos. Concretamente en Unix/Linux se utiliza la paginacinde la memoria. Esta tcnica que ya vimos en su momento, es la queutilizan la mayora de los sistemas operativos multiusuario. Dividen lamemoria en pginas al igual que los programas y de esta forma se realizael intercambio entre disco y RAM para ejecutar los mismos.

    Sistema de archivos jerrquico. Utiliza, de forma similar al DOS, unsistema de archivos en forma de rbol invertido. La diferencia esencialfrente al DOS es que el Unix/Linux no gestiona dispositivos (como unadisquetera) de forma directa. El Unix/Linux gestiona los dispositivoscomo si fueran directorios, de tal forma que cuando estemos accediendoal directorio asociado a una disquetera, en realidad lo que estaremoshaciendo es acceder a la informacin contenida en el disquete.

    Comunicacin con otros ordenadores. Un sistema Unix/Linux permiteno solamente trabajar con l en una mquina, sino tambin conectarvarios ordenadores centrales Unix/Linux entre s de tal forma que cadausuario tenga acceso a la informacin contenida en todos ellos. Laconexin se realiza a travs del conjunto de protocolos y servicios queofrece TCP/IP. Gracias a l puedes ejecutar varios programas enmquinas Unix/Linux que estn a varios kilmetros de distancia entre s;enviar correo electrnico de unos equipos a otros; realizar conversacin

    directa entre dos usuarios, etc.

  • 7/30/2019 Resumen Unix

    6/72

    Sistemas de seguridad. Es una de las caractersticas ms importantes, yaque la informacin a la que un usuario puede tener acceso puedelimitarse de forma sencilla. De este modo, el administrador del sistemaoperativo, a travs de palabras clave (para archivos empaquetados o

    comprimidos) o mediante la asignacin de derechos a los usuarios, haceque la informacin contenida en un servidor Unix/Linux est totalmenteprotegida de piratas o usuarios no deseados.

    Interfaz texto/grfica. Lo normal es que la interfaz utilizada porUnix/Linux sea de tipo texto. Pero poco a poco se han ido incorporandomejoras que permiten gestionar el sistema operativo en modo grfico.Fundamentalmente, la aparicin de las interfaces X WINDOWS hapermitido agilizar y mejorar procesos, especialmente para eladministrador.

    3.3. EL SOFTWARE LIBRE Y LA LICENCIA GPL

    El software libre tiene su origen en Estados Unidos, cuando la informtica seusaba slo en empresas y Universidades, y los programadoresintercambiaban trucos. Fue as como un grupo de programadores puso enmarcha un nuevo contrato en el que los usuarios reciban el cdigo fuente yel derecho a modificarlo a su gusto. A este movimiento se le bautiz con elnombre de GNU, y para defenderlo se cre una licencia pblica (GPL). Estepeculiar contrato no slo no prohbe hacer copias, sino que anima a losusuarios a que las hagan y distribuyan los programas.

    3.4. QU ES LINUX Y GNU/LINUX?

    Linux se convirti en el producto ms famoso de cdigo abierto y algunasmultinacionales del sector informtico apostaron por l.

    Lo que generalmente se entiende por Linux es el kernel o ncleo de cualquiersistema Unix. Pero el kernel por s slo no forma todava un sistemaoperativo. Aqu aprovecharon la gran cantidad de software libre que yahaba en Unix, siendo realmente estas utilidades las que forman el sistemaoperativo junto con el ncleo.

    Es aqu cuando nace el sistema GNU/Linux. Al haber gran nmero deprogramas de software libre, se crearon distintas distribuciones, cada una de

    las cuales inclua distinto software libre con un ncleo comn.

  • 7/30/2019 Resumen Unix

    7/72

    Las distribuciones ms conocidas son, entre otras: Debian, Red Hat, Suse yMandrake. De todas estas distribuciones, la que ms se acerca a la filosofadel proyecto GNU/Linux es Debian, ya que es producto de un grupo deprogramadores repartidos por Internet, y las otras son privadas.

    En las siguientes tablas se pueden ver las versiones ms utilizadas de Linuxen la actualidad.

    4. Sistema de FicherosLinux utiliza un sistema de archivos ext2, que fue creado especialmente paraeste sistema operativo.

  • 7/30/2019 Resumen Unix

    8/72

    La estructura bsica del sistema de archivos es jerrquica en forma de rbol,lo que significa que los archivos estn almacenados en varios niveles.

    La raz del sistema de archivos (conocida como root) se denota con el

    smbolo /, y de ah se desprende un conjunto de directorios que contienentodos los archivos del sistema. Un archivo siempre ocupar el nivel ms bajodentro del rbol, porque de un archivo no pueden depender otros; si asfuera, sera un directorio. Es decir, los archivos son como las hojas del rbol.

    Las principales caractersticas del sistema de archivos son:

    a) El sistema de archivos no est ligado de una forma directa con la estructura delhardware (es decir, no depende de si un determinado ordenador tieneuna, dos o cinco unidades de almacenamiento). Por tanto, no se requiere

    que el conjunto de sistemas de archivos resida en un mismo dispositivo yes posible definir uno o varios sistemas desmontables, que residenfsicamente en diversas unidades de disco.

    b) Los directorios contienen informacin para cada archivo, que consiste en sunombre y en un nmero que el Kernel utiliza para manejar la estructurainterna del sistema de archivos, conocido como el i-nodo. Hay un i-nodopara cada archivo, con la informacin de su directorio en el disco, sulongitud, los modos y las fechas de acceso, el autor, etc. Existe, adems,una tabla de descriptores de archivo, que es una estructura de datos

    residente en el disco magntico.c) El sistema ofrece medios muy sencillos para colocarse en diferentes puntos del

    rbol que forma el sistema de archivos. Se dispone de un conjunto derdenes de Shell (adems de mltiples variantes) para hacer diversasmanipulaciones, como crear directorios, moverse dentro del sistema dearchivos, copiarlos, etc.

    d) Desde el punto de vista del sistema operativo, un archivo es muy parecido aun dispositivo.

    e) Existe la herramienta cuota que permite gestionar especficamente cuantoacceso tienen los usuarios al espacio de almacenamiento.f) Linux posee paquetes que ayudan en la tarea de copias de seguridad en todossus esquemas.

  • 7/30/2019 Resumen Unix

    9/72

    5. Linux en su Parte Interna5.1. ARQUITECTURA: NCLEO Y SHELL

    Para comprender el funcionamiento del sistema Unix/Linux, es necesarioentender su estructura. Este sistema operativo est formado por doscomponentes principales: el ncleo y el shell.

    El ncleo es la parte del sistema operativo que sirve para interactuar con elhardware. Proporciona una serie de servicios que pueden ser utilizados porlos programas, sin que stos tengan que preocuparse de cmo se gestiona elhardware.

    En general, el ncleo es el encargado de gestionar la memoria, mantener elsistema de archivos, del manejo de las interrupciones, manejo de errores,realizacin de los servicios de E/S, asignacin de los recursos de la CPU,gestin de perifricos de E/S, etc.

    Cada programa se relaciona con la mquina a travs del ncleo. Unprograma realizar al ncleo las denominadas llamadas al sistema. Conestas el programa indicar, por ejemplo, que le abra un archivo, que escribaen otro, que utilice la impresora, que cambie la prioridad de ejecucin de

    otro proceso, etc.

    El ncleo del sistema operativo Unix/Linux, que recibe el nombre deKERNEL, acta directamente con los elementos fsicos del ordenador, y secarga en memoria al arrancar la mquina. Permanece en ella hasta que stase apaga. Recordemos que en DOS, el ncleo estaba formado por dosprogramas MSDOS.SYS y IO.SYS.

    El shelles el intrprete de mandatos o de comandos con el que cuenta el sistemaoperativo. En Dos es el Command.com el que se encarga de realizar estafuncin.

    El shell acta como interfaz de comunicacin entre el usuario y el ordenador,y cuando un usuario se conecta con el servidor Unix/Linux,automticamente se arranca un shell para que pueda trabajar. Cada usuarioconectado al servidor tendr un Shell para su uso.

  • 7/30/2019 Resumen Unix

    10/72

    5.2. FUNCIONES DEL SHELL

    Cuando un usuario emite una orden se est relacionando con el shell, partedel sistema Unix/Linux a travs de la cual se controlan los recursos del

    sistema operativo, proporcionando caractersticas que hacen que el sistemasea potente y flexible.

    El shell es tanto un intrprete de comandos como un lenguaje deprogramacin interactivo. Sobre l se pueden ejecutar comandos con los quese pueden crear programas denominados shell-scripts.

    Cuando el usuario se conecta al sistema Unix/Linux, se iniciaautomticamente un programa de shell. Este es el denominado shell depresentacin. Este shell se carga de forma automtica cuando se accede alfichero /etc/passwd. Este archivo contiene la informacin que el sistemanecesita conocer de cada usuario. Es dentro de este archivo o fichero, elsituado en ltimo campo de cada lnea, donde se encuentra el nombre delshell que quieres ejecutar, que normalmente es el shell estndar del sistema.

    En cuanto se inicia el shell de presentacin, se busca el fichero .profiledentro del directorio activo. Este fichero contiene comandos que sirven parapersonalizar su entorno de trabajo. Asimismo puede compararse alAUTOEXEC.BAT del DOS.

    Realizada esta operacin automticamente, se muestra en pantalla,normalmente, el smbolo $, para que el usuario pueda introducir suscomandos.

    En general, todas las rdenes de Unix/Linux son programas que estnalmacenados en el sistema de archivos. Se escriben de forma similar a comose hace en DOS, ya que su sintaxis es la siguiente:

    $ mandato [-modificadores] [argumentos]

    5.3. TIPOS DE SHELL

    Al contrario que en DOS, en el que el intrprete de comandos es nico, enUnix/Linux existen varios. stos son los siguientes:

    Shell Bourne (sh). Creado por S. Bourne, es el ms utilizado en la

    actualidad. El prompt del sistema queda representado por el smbolo

  • 7/30/2019 Resumen Unix

    11/72

    $. Este shell es el est{ndar de AT&T y el que se monta en casi todos los

    sistemas Unix/Linux.

    C-Shell (csh). Procedente del sistema BSD, proporciona caractersticas

    tales como control de trabajos, historia de comandos (como el doskey enDOS), capacidades de edicin, etc. Ofrece importantes caractersticaspara los programadores que trabajan en lenguaje C. Su prompt desistema queda representado con el smbolo %.

    Shell job (jsh). Incorpora algunas caractersticas de control al shellestndar del sistema.

    Shell Korn (ksh). Escrito por David Korn, amplia el shell del sistemaaadiendo historia de comandos, edicin de la lnea de rdenes ycaractersticas ampliadas de programacin.

    Bourn Again shell (Bash). Fue creado para usarlo en el proyecto GNU.BASH, por lo tanto, es un shell o intrprete de comandos GNU; ste escompatible con el shell sh. Adems, incorpora algunas caractersticastiles de ksh y csh, y otras propias, como la edicin de lnea decomandos, tamao ilimitado del histrico de comandos, control detrabajos y procesos, funciones y alias, clculos aritmticos con nmerosenteros, etc.

    5.4. INTERFACES DE USUARIO

    stas se definen como la parte del Sistema Unix/Linux que determina comointeracta el usuario con l, es decir, de qu forma el usuario introducecomandos o cualquier otra informacin y cmo el sistema visualiza losmensajes despus de procesar tal informacin.

    La interfaz primaria o bsica del Unix/Linux es de tipo texto y hasta no hacemucho ha sido la nica para el sistema. Actualmente hay interfaces grficascomo el X Windows, Open Look, GNOME o KDE .

    La interfaz de tipo texto es la que se muestra al cargar el shell por defecto oel deseado. Las bsicas son las mismas que las explicadas en el apartadoanterior, aunque hay ms.

    En cuanto a la interfaz grfica X-Windows, la caracterstica fundamental es

    que incorpora un modelo cliente-servidor para el modo en que lasaplicaciones interactan con los dispositivos terminales. Incorpora tambin

  • 7/30/2019 Resumen Unix

    12/72

    un protocolo de red y varias herramientas software que pueden serutilizadas para crear aplicaciones basadas en X Windows.

    Un concepto fundamental es la separacin de las aplicaciones con respecto

    al software que maneja la entrada y salida por Terminal. Todas lasoperaciones realizadas mediante la entrada o salida estndar (teclado ymonitor) son manejadas por un programa que se dedica exclusivamente aello (servidor). Las aplicaciones (clientes) envan al servidor informacin avisualizar, y el servidor enva a las aplicaciones informacin referente a laentrada de usuario. Para gestionar este modelo, se utiliza el protocolo de redX. Este protocolo es un lenguaje estndar utilizado por las aplicacionesclientes para enviar instrucciones a los servidores X, y por los servidorespara enviar la informacin transformada a los clientes (por ejemplo, elmovimiento del ratn).

    La interfaz OPEN LOOK ha sido diseada por AT&T y Sun Microsystemscomo interfaz grfica estndar para el sistema Unix/Linux.

    Esta interfaz permite ejecutar y visualizar varias aplicacionessimultneamente en ventanas separadas sobre una misma pantalla. Engeneral, todas las operaciones de gestin de archivos se realizan de formagrfica gracias a la interfaz OPEN LOOK.

    La interfaz KDE 3.2 para Linux SUSE, ahora con un potente gestor deinformacin personal (PIM), incorpora, adems de la funcin de iniciorpido y la reproduccin automtica de los medios introducidos (CD, DVD),KDE 3.2, un gran nmero de nuevas prestaciones y programas. Observaalgunos de ellos:

    Kontact. Este programa equiparable a MS Outlook integra herramientasde correo electrnico, organizacin, libreta de direcciones y notas.

    KWallet. Password safe utilizado por numerosas aplicaciones paraadministrar de forma segura las distintas contraseas del usuario.

    Kopete. Programa de mensajera instantnea.

    KDevelop. Dispone de soporte para ms de 15 lenguajes deprogramacin, diseo configurable, libre eleccin de editor, vistaseparada de clases para C++, cdigo completado automticamente,depuradores integrados y comprobacin de sintaxis mientras se

    introduce el cdigo.

  • 7/30/2019 Resumen Unix

    13/72

    Konqueror. La nueva versin del navegador Web.Quanta Plus. Editor HTML, con un nuevo componente de editorWYSIWYG.

    Barra lateral universal. Barra lateral de navegacin para larepresentacin jerrquica de rboles de directorios que puede sermostrada en el escritorio independientemente del administrador dearchivos Konqueror.

    La interfaz GNOME 2.4 ha mejorado la usabilidad y se han incluido ayudasde accesibilidad para discapacitados, como, por ejemplo, un lector depantalla con salida de voz o a una lnea braille1.

    6. Procedimiento de Conexin/Desconexin6.1. CONEXIN DE USUARIOS REMOTOS A UN SERVIDORUNIX/LINUX

    En este epgrafe vas a ver cmo podemos conectarnos desde cualquierordenador a otro ordenador con Unix/Linux. En este caso, nos podremosconectar como un usuario cualquiera o como el administrador del sistema,es decir, como root.

    La diferencia estriba en el tipo de operaciones que podremos realizar en elservidor desde el Terminal desde el que nos conectamos.

    En primer lugar, es evidente que el ordenador central o servidor tiene queestar conectado. Esto, aunque parezca obvio, es importante especialmente enaquellos casos en los que el servidor no se encuentra en el mismo espaciofsico que el usuario. Si es as y el usuario no llega a conectar, no tendrdemasiado claro si el fallo se debe a un problema de su equipo, de la lneade transmisin o sencillamente del servidor.

    El inicio del ordenador que tiene instalado el sistema operativo Unix/Linuxen el servidor suele ser automtico. Arrancado este ordenador, podemosiniciar o no sesin en l fsicamente. En este caso, se iniciar, normalmente,en entorno grfico.

    1 El braille es un medio de lectura tctil, a travs de la yema de los dedos, y de escritura,

    consistente en unos puntos en relieve organizados de forma parecida a los del domin.

  • 7/30/2019 Resumen Unix

    14/72

    El primer paso para conectar desde otro ordenador con el servidorUnix/Linux es lanzar desde nuestro ordenador el comando de conexin.Esta orden de conexin solamente pretende hacer que el ordenador delusuario y el ordenador central se entiendan.

    El protocolo de comunicacin, en la actualidad, suele ejecutarse bajo elentorno Windows o Linux, y se puede lanzar con el software denominadoTELNET. Telnet es el software que permite la conexin entre terminalesmediante el protocolo de comunicaciones TCP/IP. Este software, que enrealidad es un servicio ms de los que incorpora el propio TCP/IP, es unprotocolo de esta familia. Sirve para conectarse a cualquier equipoidentificado con una direccin IP determinada.

    A continuacin vamos a observar el proceso de conexin, teniendo encuenta que el ordenador desde el que nos vamos a conectar es un ordenadoren emulacin y que el sistema operativo instalado es Windows XP.

    Pulsaremos Inicio, Ejecutar, y dentro introduciremos el comando siguiente:Telnet IP_servidor

    Si en la lnea de ejecucin tecleamos solamente Telnet, a continuacintendremos que introducir la direccin IP tras el smbolo del sistema.

    Ejecutado Telnet y ejecutado el comando de conexin, el usuario recibir lasiguiente informacin suministrada por el servidor: login: o Linux login:,dependiendo de que el sistema con el que estemos conectados sea Unix oLinux respectivamente.

    Introduciremos la identificacin de usuario y a continuacin se nos pedirque introduzcamos la contrasea o password, obligatoria en la mayora delos casos en todos los sistemas Unix/Linux.

    Es importante tener en cuenta que Unix/Linux, al ser un sistema casesensitive, diferencia las letras maysculas de las minsculas, es decir, no es lomismo USER01 que user01.

    La contrasea solamente tiene que ser conocida por el usuario. Al teclearlano aparecer ningn carcter en pantalla, por seguridad, pero despus de suintroduccin se tendr que pulsar de nuevo Return, al igual que cuandointrodujimos el nombre de usuario.

  • 7/30/2019 Resumen Unix

    15/72

    Si al introducir el ID del usuario o la password nos hemos equivocado, elsistema no nos dejar entrar, enviar un mensaje y volver de nuevo a lasituacin de partida.

    Despus de estos mensajes, el sistema carga un shell para ese usuario yaparece el smbolo del sistema, que variar dependiendo del tipo del shellasignado. Normalmente, el smbolo del sistema es el smbolo $ para

    usuarios y el smbolo # para el administrador, aunque esto depender{

    siempre del shell que se cargue al iniciar sesin.

    A partir de este momento podremos trabajar sobre el sistema Unix/Linuxcon los privilegios que tengamos concedidos en el mismo.

    6.2. CONEXIN DE USUARIOS SOBRE EL PROPIO SERVIDORUNIX/LINUX

    Encendido el servidor Unix, aparecer una pantalla en modo grfico, en laque introduciremos, de forma similar, el nombre de usuario y contraseapara entrar al sistema. Pulsaremos en el botn Login. Tras pulsar sucesivasveces el botn OK, llegaremos al escritorio principal de UNIX.

    Para cerrar la sesin de trabajo, si estamos conectados en modo texto, elusuario podr hacerlo de dos formas distintas:

    Teclear exit y luego pulsar Return.Teclear Ctrl+d.

    Despus de esto, el sistema mostrar de nuevo: login: y el usuario podrconectarse de nuevo o no.

    El cierre de sesin en modo grfico es seleccionando en el men File, opcinExit; posteriormente se confirmar el abandono de la sesin de trabajo.

    Para cerrar definitivamente el equipo, ejecutaremos una sesin en modocomando y teclearemos: #shutdown g0.

    En la pantalla inicial de Unix, la diferencia se muestra en la pantalla deconexin, ya que, a diferencia de Unix, en Linux podremos seleccionaralgunas opciones antes de entrar al sistema. Podremos seleccionar algnusuario de los que aparecen a la izquierda de la pantalla de login, as como

    el tipo de escritorio. Por ltimo, en la opcin men podremos reiniciar elservidor o apagarlo.

  • 7/30/2019 Resumen Unix

    16/72

    Introducidos los datos de conexin de forma adecuada, se mostrar elescritorio de Linux.

    Si iniciamos sesin como un usuario estndar, el escritorio tomar unaspecto diferente, aunque bsicamente ser el mismo.

    Si queremos terminar la sesin de usuario, o cambiar de usuario, sin cerrarel sistema, haremos clic en el icono correspondiente, o en el icono Iniciaraplicacin, Terminar. En cualquier caso, aparecer la pantalla, en la quepodremos indicar el tipo de operacin que queremos realizar.

    6.3. PRIMERA CONEXIN AL SISTEMA UNIX/LINUX

    En ciertas distribuciones, si el usuario que se conecta lo hace por primeravez, y si el administrador no ha decidido asignarle una palabra clave, nohabr contrasea, o la contrasea ser nula.

    Si se da este caso, el usuario podr asignarse l mismo una clave de accesoutilizando el comando passwd. En este caso, una vez que al usuario leaparezca el prompt del sistema $, y despus de introducir el comandopasswd, aparecern los siguientes mensajes:

    $ passwdPasswd: changing password for user01Old password:New password:Re-enter new password:Password Changed

    Como se puede apreciar, lo primero que se nos solicita es la clave Antigua.

    Es evidente que, si esto no fuera as, cualquier usuario podra cambiar lasclaves de los dems. Con ello el sistema consigue que slo el usuario puedacambiar su propia clave de acceso.

    Despus de verificar la clave, teclearemos la nueva clave dos veces. De estaforma se comparan las dos claves para verificar que la introducidaoriginalmente es la deseada.

    Al cambiar la palabra clave, hay que seguir una serie de normas. Estas

    normas suelen ser definidas por el administrador del sistema, y son lassiguientes:

  • 7/30/2019 Resumen Unix

    17/72

    La palabra clave ha de ser diferente.Debe tener al menos 6 caracteres.Al menos 2 caracteres tienen que ser alfabticos.Debe tener al menos 1 carcter numrico o especial.

    Tiene que ser distinta del nombre de cuenta.No se pueden utilizar como palabra clave los mismos caracteresasignados como nombre de usuario cambiados de orden.No se puede cambiar la contrasea de maysculas a minsculas.

    7. Editor viEl editor de textos en Unix/Linux es el vi. Las operaciones que se pueden

    realizar con este editor de textos son casi iguales que las que se puedenrealizar con el DOS. La gran diferencia es que para manejar este editor esnecesario el uso de teclas convencionales, es decir, no se pueden utilizarteclas de edicin como flechas, pgina arriba, pgina abajo, insertar, etc.

    Al igual que con cualquier otro editor, al ejecutar vi puedes abrir un archivoexistente o crear uno nuevo. Esto depender de que, tras el comandocorrespondiente, pongamos o no un nombre de archivo. Si el archivo existe,se abre; si no existe, se crea. Si no ponemos nada, antes de salir tendremos

    que asignar un nombre al archivo correspondiente. La forma de ejecutar vies la siguiente: #vi texto.

    En la pantalla principal que se muestra al editar el archivo, aparece el texto oel contenido del documento, si existe, o nada, si no existe. A continuacin,para poder movernos por el documento, tendremos que utilizar las teclas deescritura de forma convencional.

    Observemos la funcin de cada una de las teclas. Como se puede apreciar,todo el manejo del editor se realiza utilizando teclas de escritura. Es por elloque su uso resulta bastante complicado. Hay que acostumbrarse. Siempreque realicemos una determinada accin y queramos volver al estado inicial,pulsaremos la tecla Esc. Con ella pasaremos de estado edicin a estadocomando.

  • 7/30/2019 Resumen Unix

    18/72

  • 7/30/2019 Resumen Unix

    19/72

  • 7/30/2019 Resumen Unix

    20/72

    8. Comandos Bsicos de Unix/LinuxEl sistema Unix/Linux tiene a disposicin de todos sus usuarios una grancantidad de programas. Estos programas se ejecutan mediante comandos.

    Asimismo tiene una sintaxis de comandos bastante estandarizada, de talforma que puedan aplicarse a casi todos ellos por igual.

    Generalmente, los comandos en Unix/Linux:

    Se utilizan por s solos.Se utilizan acompaados por argumentos.Algunos permiten opciones.

  • 7/30/2019 Resumen Unix

    21/72

    8.1. FORMATO DE LOS COMANDOS

    El formato de los comandos Unix/Linux es bastante parecido al de loscomandos DOS. Cada orden se separa de las siguientes, ya que en

    Unix/Linux se puede introducir ms de una orden en la misma lnea, mediante unpunto y coma (;).

    Al igual que en DOS, lo primero que se introduce es el comando, seguido delos argumentos o parmetros del mismo. Cuando introduces parmetros oun argumento (caracteres como tal), se deja un espacio en blanco.

    Una orden en Unix/Linux puede estar formada por:Comando. Indica al intrprete de comandos o shell la accin a realizar.Opciones. Es el modificador del comando. Las opciones se escriben acontinuacin del carcter -. Recordemos que en DOS se introducan trasel carcter /.Argumentos. Caracteres que se utilizan como entrada del comando. Elargumento puede ser un archivo o un directorio.

    Como podemos ver, la forma de introducir comandos en Unix/Linux es muyparecida a la forma de hacerlo en DOS. La diferencia fundamental es queaqu s son importantes las maysculas y las minsculas. Normalmente, enUnix/Linux todos los comandos, archivos y directorios se escriben enminsculas, y sin caracteres especiales.

    8.2. COMANDOS BSICOS

    En este captulo se presentan algunas de las rdenes, las ms utilizadas delsistema, pero que no afectan directamente a los ficheros.

    WHO. El comando who muestra por pantalla informacin de los usuarios

    que estn conectados en ese momento al sistema operativo. Aparecen 4columnas. En la primera columna aparece el login del usuario que est activoen el sistema. La segunda indica que terminal est utilizando. La tercera ycuarta indica da, mes y hora de conexin. Su sintaxis es:

    who [opciones]

    Donde las opciones pueden ser:-u visualiza la siguiente informacin: nombre del usuario, terminal desde el

    que se est conectado, hora a la que accedi al sistema, horas y minutostranscurridos desde la ltima actividad del usuario (un punto indica

  • 7/30/2019 Resumen Unix

    22/72

    actividad en el ltimo minuto), nmero de identificacin del proceso shelldel usuario (PID), y puede aparecer por ltimo un comentario.

    am i muestra en pantalla el login del usuario que esta activo en el terminal.

    Ejemplo:

    $ who

    root tty04 Jan 29 19:15

    marta tty02 Jan 29 19:17

    alumxyz tty03 Jan 29 19:18

    ttyXX es un identificador del terminal desde el que se est accediendo al sistema.

    Ejemplo:

    $ who am i

    alumxyz tty02 Jan 29 19:17

    DATE. Visualiza el da y la hora del sistema.

    Ejemplo:

    $ date

    Mon Jan 31 12:25:28 GMT 2005

    Lo primero que aparece es el da de la semana, escrito con las tres primerasletras del da, en ingls.A continuacin aparece el mes, al igual que el da, con las tres primeras letrasdel mes y en ingls.Despus del da y del mes, lo siguiente que aparece es la hora, conhora:minuto:segundo con un horario de 24 horas. GWT indica que perteneceal meridiano de Greenwich, y por ltimo, el ao.

    CAL. Se utiliza para saber en que da de la semana caer una fechadeterminada. El formato de la orden es el siguiente:

    cal [mes] ao

    Donde:mes debe ser introducido con un nmero del 1 al 12 ya que algunasversiones no admiten la introduccin del mes en letras ( de admitirla, seraen ingls y slo las tres primeras).

  • 7/30/2019 Resumen Unix

    23/72

    ao se introducir mediante cuatro dgitos.

    Sirva de ejemplo para ver el mes de diciembre de 2004.

    $ cal 12 2004December 2004

    S M Tu W Th F S

    1 2 3 4

    5 6 7 8 9 10 11

    12 13 14 15 16 17 18

    19 20 21 22 23 24 25

    26 27 28 29 30 31

    Antes se coment que no haca falta indicar el mes; si no se introduce el mes,Linux mostrar todo el ao completo.

    MAN. Orden que nos proporciona el acceso al manual interactivo de Linux.Permite visualizar informacin acerca de cualquier orden o programa Linux.Basta con teclear la orden man seguida del nombre de la orden de la cual sedesea obtener informacin. Su sintaxis es:

    man nombre_comando

    Ejemplo:

    $ man cd

    CLEAR. Limpia La pantalla, dejndola simplemente con el prompt delsistema en la parte superior izquierda de la pantalla.

    MAIL. Mecanismo de correo electrnico o e-mail, que permite enviarmensajes de unos usuarios a otros. Su sintaxis es:

    mail [usuarios]

    Si se utiliza mail con un usuario sirve para enviar un mensaje a un usuario.No es necesario que el usuario destinatario est conectado en ese instante, yaque toda la correspondencia ser depositada en su buzn que podr ser

    consultada posteriormente. Si tenemos correo pendiente puede aparecer unmensaje como el siguiente: You have new mail

  • 7/30/2019 Resumen Unix

    24/72

    Si se utiliza mail sin parmetros, se visualizan en pantalla los diferentesmensajes con su correspondiente remitente que se tengan en el buzn. Parapasar de un mensaje a otro se pulsa enter.

    Ejemplo:

    $ mail alumxyz

    Subject : Asistencia a clase

    Te recuerdo que es obligatoria la asistencia a clase.

    CTRL+D

    $ mail

    SCO Openserver release 5.0. Type ? for help.

    "/usr/spool/mail/alumlcg": 1 message 1 new>N 1 pepe Thu Feb 21 11:25 13/445 "AYUDA"

    Cuando se est leyendo el correo se puede utilizar a partir del indicador &los siguientes comandos:x Salir de mail sin alterar el buzn, sin grabar. Si salimos de este modo escomo si no hubisemos entrado

    q Salir grabando

    p Imprimir mensaje

    s Guardar el mensaje en un archivo se pulsa s

    t Leer el mensaje especificado, por ejemplo si se escribe t2 se lee el mensaje 2.

    d Eliminar mensajes.

    d1 Elimina mensaje 1.

    d* Elimina todos los mensajes.

    d 2-5 Elimina los mensajes del 2 al 5.

    u Sin salir de mail se recuperan mensajes.

    u1 Recupera el mensaje 1.

    u* Recupera todos los mensajes.

  • 7/30/2019 Resumen Unix

    25/72

    u 3 7 Recupera los mensajes 3 y 7.

    u 3-7 Recupera los mensajes del 3 al 7.

    r Responder a un mensaje.

    h Mostrar lista de mensajes.

    $ mail

    >N 1 alumabc Thu Feb 21 11:25 13/445 AYUDA

    U 2 alumxyz Thu Feb 21 11:34 13/402 dos

    N Indica nuevo mensaje.

    U Indica mensaje recibido anteriormente y no ledo.> Mensaje activo, si se pulsar intro es el que se visualiza.

    WRITE. Esta orden se utiliza para comunicarnos con otros usuarios queestn en ese momento conectados a nuestro sistema. Para terminar hay quepulsar ctrl-d. Si se intenta enviar un mensaje a un usuario no conectado, seadvertir de que dicho usuario no se encuentra en sesin. Puede ocurrir queel usuario al que se le enve el mensaje tenga desactivados los mensajes, encuyo caso write fallar. Si hubiera un usuario conectado a varios terminales

    habra que especificar por cual sacar el mensaje. La sintaxis es:

    write usuario [tty]

    $ write elisa

    Message from alumlcg

    Nos vemos en el jamaicano. Ests ah?

    EOF

    Lo normal es que cuando iniciamos una comunicacin con otro usuario esteresponda invocando a write, de tal manera que se establece unacomunicacin bidireccional. Si el sistema est muy cargado la salida write sepuede ver retrasada.

    $ write alumlcg

    Message from elisa

    Claro que estoy y nos vemosEOF

  • 7/30/2019 Resumen Unix

    26/72

    MESG. Esta orden se utiliza para modificar los derechos de escritura porparte de otros usuarios en nuestro terminal, de tal manera que si alguien nosquiere enviar un mensaje y tenemos desactivados estos derechos, noseremos interrumpidos. La prohibicin de acceso de escritura no afecta aladministrador del sistema. La orden mesg sin parmetros nos dir sitenemos o no activa la recepcin de mensajes. Si se tienen los mensajesdesactivados, no recibiremos ninguno aunque alguien nos los enve. Estosmensajes se perdern aunque despus se vuelva a habilitar la posibilidad derecibirlos. Su sintaxis es:

    mesg [y/n]

    $ mesg

    is y

    $ mesg n

    $ mesg

    is n

    9. Directorios y Ficheros9.1. ESTRUCTURA DE DIRECTORIOS

    La estructura en Unix/Linux es jerrquica en forma de rbol invertido. Separte de un directorio principal root representado por el carcter /. Estedirectorio puede contener, al igual que en DOS, otros directorios o archivosque dependan de l.

    La diferencia fundamental con DOS es que no existe un directorio raz por

    cada unidad lgica de almacenamiento.

    Los nombres de archivo y directorio en Unix/Linux siguen reglas parecidasa los nombres en DOS. Concretamente, un nombre de archivo puede ser casicualquier secuencia de caracteres, y se considera que dos nombres dearchivo son iguales si coinciden en los primeros 14 caracteres.

    En cuanto a los caracteres para los nombres de archivo, se puede utilizarcualquiera, a excepcin del carcter/, ya que tiene un significado especial. Es

    conveniente no utilizar caracteres especiales, acentos, etc. No se pueden

  • 7/30/2019 Resumen Unix

    27/72

    incluir espacios en blanco ni es conveniente emplear caracteres como lossiguientes en los nombres de archivo:

    ! # & ( ) ` ; | > < @ $ } ? \ Tab (tabulador) Spacebar (barra espaciadora)

    Backspace (borrado hacia atrs) + -

    Lo ms importante es destacar que en Unix/Linux los nombres de archivoson diferentes en mayscula y en minscula. As, por ejemplo, PRACTICA,practica, Practica, seran nombres de archivos diferentes. Se recomiendautilizar todos en minscula.

    Los directorios en Unix/Linux son archivos especiales cuya funcin es la dealmacenar archivos u otros directorios. Tienen caractersticas especiales y, aligual que en DOS, cada directorio, a excepcin del raz, consta de losdirectorios . y .., que indican directorio actual y directorio padre,respectivamente.

    Para referirnos a un fichero en el rbol de directorios es necesario incluir elcamino o ruta de directorios (path) donde se encuentra el fichero. Si existenvarios subdirectorios se utiliza el car{cter / como separador.

    Por tanto, el camino indica la ruta que hay que recorrer para encontrar elfichero.

    El nombre de camino completo, partiendo desde el directorio raz (/) hastael directorio o fichero al que se desea llegar, se conoce como caminoabsoluto y comienza siempre por el car{cter /.

    La posicin en la que se est situado en el rbol en un momento dado seconoce con el nombre de directorio actual.

    Se denomina camino relativo al que hay que seguir a partir del directorio

    actual hasta el fichero o directorio al que se quiere llegar. Los caminosrelativos no comienzan por el car{cter /.

    9.2. TIPOS DE FICHEROS

    En Unix/Linux existen los siguientes tipos de archivos:

    Archivos ordinarios. Contienen la informacin con la que trabaja cada

    usuario. Normalmente son archivos que contienen texto, programas

  • 7/30/2019 Resumen Unix

    28/72

    escritos por el usuario en lenguaje C, etc. Suelen contener caracteres detipo ASCII, y pueden ser modificados, creados, borrados, etctera.

    Enlaces fsicos (Vnculos fsicos). No es especficamente una clase de

    archivo. Es un segundo nombre asignado a un archivo. Supongamos quedos usuarios necesitan compartir la informacin de un mismo archivo.Es evidente que si cada uno de ellos tiene una copia, el problema sesoluciona, en cierta medida. Pero las modificaciones que realice unusuario, no podrn ser utilizadas por otro, ya que solamente semodificar la copia de uno de los usuarios.

    Si en vez de tener una copia cada usuario, cada uno de ellos utiliza unarchivo tipo enlace al archivo original, cada vez que uno modifique suarchivo lo que estar modificando es en realidad el archivo comn. Elvnculo es un segundo nombre que hace referencia a un archivo, pero noes en s el archivo. El vnculo sirve para localizar el fichero en suubicacin actual, pero no es el archivo real. De esta forma, con tener unsolo archivo real, ste se podr utilizar por todos los usuarios que lonecesiten, sin tener que duplicarlo o triplicarlo.

    Enlaces simblicos (Vnculos simblicos). Se utilizan para asignar msde un nombre a un archivo. No sirven para directorios. Un vnculosimblico es un archivo que slo contiene el nombre de otro archivo.Cuando el sistema operativo opera sobre un vnculo simblico, ste sedirige al archivo al que apunta el vnculo simblico. A diferencia de losenlaces fsicos, que existen dentro de la estructura de archivos, losenlaces simblicos solamente hacen referencia al nombre de otro archivo.Se utiliza el parmetro s.

    Directorios. Son archivos especiales que contienen referencias a otrosarchivos. Cuentan con informacin sobre archivos ordinarios,subdirectorios, vnculos, vnculos simblicos, etc.

    Archivos especiales. Suelen representar dispositivos fsicos comounidades de almacenamiento, impresoras, etc. Unix/Linux trata losarchivos especiales como archivos ordinarios. De esta forma, un usuariopuede abrir un archivo vinculado a una unidad de disquete, modificarlo,etc. Con ello consigue leer del disquete, escribir en el disquete, etc.Unix/Linux transforma las operaciones bsicas y rdenes bsicas dearchivos ordinarios o regulares en comandos que interactan con elhardware a travs de los archivos especiales.

  • 7/30/2019 Resumen Unix

    29/72

    9.3. DIRECTORIOS DEL SISTEMA

    Algunos de los directorios ms importantes en Unix/Linux son:

    /bin. Contiene ficheros de comandos ejecutables utilizables por todos losusuarios.

    /ibin. Contiene ficheros de comandos ejecutables utilizados por eladministrador.

    /sbin. Contiene ejecutables utilizados en la secuencia de arranque y en larecuperacin manual ante fallos del sistema.

    /usr o /home. Contiene utilidades y programas generales de cadausuario.

    /dev. Contiene archivos especiales de bloques y caracteres asociados adispositivos hardware.

    /lib. Contiene libreras y compiladores del sistema.

    /etc. Directorio con ficheros de configuracin y utilidades para laadministracin.

    /var. Contiene ficheros para el administrador.

    /mnt. Directorio utilizado para montar dispositivos.

    /stand. Contiene los ficheros de arranque del sistema y el ncleo deUnix/Linux.

    /opt. Para admitir ficheros nuevos creados tras la modificacin del

    sistema. Sirve de punto de montaje desde el que se instalan los paquetesde aplicaciones adicionales.

    /bck. Para montar un sistema de archivos para realizar copias deseguridad.

    /boot. Contiene archivos OBJ (objeto) configurables para el ncleo delsistema.

    /config. Para configurar el arranque del sistema.

  • 7/30/2019 Resumen Unix

    30/72

    /dgn. Para almacenar los programas de diagnstico./export. Para exportar sistemas de archivos.

    /install. Donde el administrador instala las utilidades de administracin.

    /save. Para guardar copias de ficheros de administracin con el fin derealizar copias a disquetes.

    /tmp. Para almacenar archivos temporales.

    /home. Ubicacin de los directorios propios de cada usuario. Contiene eldirectorio de presentacin y el rbol de subdirectorios de cada usuario.

    Como puede verse, la estructura bsica de los directorios en Unix/Linux esmuy amplia. A veces resulta complicado moverse por ella, para localizar lainformacin deseada. Con este sistema operativo ocurre lo mismo que concualquier otro: cuando se utiliza habitualmente, el usuario recuerdaperfectamente en dnde tiene que realizar cada operacin.

    De la estructura de directorios expuesta anteriormente, es probable quealgunos de ellos no aparezcan en nuestro sistema. Esto depender de laversin Unix/Linux que estemos utilizando.

    9.4. RDENES DE OPERACIN Y DE PROCESAMIENTO

    9.4.1.rdenes sobre directorios y ficheros

    PWD. Presenta por pantalla el camino absoluto del directorio actual. Paralas personas habituadas a trabajar con MS-DOS el prompt del sistema les

    muestra constantemente el directorio donde estn trabajando. En Linux noocurre lo mismo generalmente, por lo que es bueno saber en qu directorioestamos trabajando si en algn momento estamos perdidos.

    CD. Permite cambiar de un directorio a otro. Su sintaxis es:

    cd [camino]

    Cada vez que un usuario se conecta al sistema se sita en su directoriopersonal o home. Si se utiliza la orden cd sin argumento, le sita

  • 7/30/2019 Resumen Unix

    31/72

    directamente en el directorio home o de conexin, con independencia deldirectorio en que se encuentre.

    Si se desea entrar en un directorio determinado se sustituye el argumento

    camino por el camino absoluto o relativo del directorio al que se deseaacceder.

    Ejemplos:

    $ cd

    Nos sita en el directorio home.

    $ cd ..

    Nos sita en el directorio padre del directorio actual.

    $ cd /home/i82fecoe/mail

    Nos sita en el directorio mail utilizando un camino absoluto.

    LS. Permite ver el contenido de un directorio; muestra todos los archivos deldirectorio. Puede ocurrir que un directorio no est disponible para la lectura,por lo que no se podr ver su contenido hasta que no sea desprotegido. Susintaxis es:

    ls [opciones] [directorio]

    Si se utiliza la orden ls sin argumentos visualiza el contenido del directorioactual.

    Si se desea visualizar el contenido de un directorio concreto se incluir sucamino como argumento.

    Ejemplo:

    $ ls mail

    Nota: Cuando se utiliza la orden ls sin opciones slo se visualizan los nombres de los

    ficheros y/o subdirectorios que contiene el directorio.

    Las opciones ms importantes de la orden ls son:- l listado en formato largo incluyendo permisos, usuario, grupo, etc.

    -t ordenado por fecha de modificacin.

  • 7/30/2019 Resumen Unix

    32/72

    -a lista todos los ficheros, incluso los que empiezan por punto, ordenadosalfabticamente.

    -s tamao de los ficheros en bloques.

    -i informa del nmero de inodo de cada fichero.

    Ejemplo:

    $ lsl

    Este listado suele incluir siete columnas de informacin:(1) Contiene diez caracteres. El primer carcter indica si el archivo es detipo ordinario (-) o directorio (d). Los nueve caracteres restantes dan una

    representacin simblica de los derechos de acceso actuales que tiene elarchivo.

    Estos nueve caracteres se dividen en tres columnas con tres caracteres cadauna, aunque no estn separadas por espacios. La primera columnarepresenta al usuario, la segunda al grupo de trabajo al que pertenece elusuario (en el caso de que pertenezca a alguno), y la tercera al resto de losusuarios del sistema.

    Cada uno de los tres grupos de permisos consta de tres caracteres. Estosrepresentan los permisos de lectura (r), escritura (w) y de ejecucin (x).

    (2) Contiene el nmero de enlaces en el sistema de archivos a estearchivo. Hay casos en los que interesa que un grupo de usuarios en elmismo sistema UNIX puedan compartir un archivo mientras trabajan en unproyecto conjunto. La comparticin del archivo permite su actualizacin portodos los usuarios en cualquier instante. Para que esto sea posible se creanenlaces al archivo que va a estar sujeto a modificaciones mediante la ordenln, que se ver ms adelante. De esta forma los usuarios que hayan creado

    enlaces podrn acceder al archivo como si este hubiera sido creado en supropio directorio de trabajo.

    (3) Muestra el propietario del archivo (el usuario que cre inicialmente elarchivo).

    (4) Visualiza el tamao del archivo en caracteres (o bytes).(5) Muestra la fecha en la que el archivo fue modificado por ltima vez.(6) Muestra la hora en la que el archivo fue modificado por ltima vez.

  • 7/30/2019 Resumen Unix

    33/72

    (7) Contiene el nombre del archivo.

    MKDIR. Permite crear uno o varios directorios. Su sintaxis es:

    mkdir [-p] [camino] / nombre/s_directorio/s

    La opcin p permite que los directorios padre que no existan sean creados.

    Ejemplo:

    $ mkdirp ../ejercicios/tema6

    Crea el directorio tema6. Al utilizar la opcin p tambin crea el directorio padreejercicios, que no existe.

    Ejemplo:

    $ mkdir tema5

    Crea el directorio tema5 sobre el directorio actual.

    Ejemplo:

    $ mkdir /home/i82fecoe/ejercicios/tema1 tema2 tema3 tema4

    RMDIR. Borra uno o varios directorios. Para poder borrar un directoriotiene que estar vaco. Su sintaxis es:

    rmdir [camino] / nombre/s_directorio/s

    Su funcionamiento es igual que la orden mkdir.

    Ejemplo:

    $ rmdir tema1 tema2 tema3

    Ejemplo:

    Si en el directorio tema4 creamos un directorio parte2 e intentamos borrar

    tema4, nos aparecer{ un mensaje de error y no se borrar el directorio, ya que no

    est vaco. Por tanto, para poder borrarlo tendremos que borrar el directorio

    parte2 que acabamos de crear y a continuacin proceder al borrado del directorio

    tema4.

  • 7/30/2019 Resumen Unix

    34/72

    CAT. Visualiza los ficheros especificados como parmetros.

    Ejemplo:

    $ cat coches motos

    CP. Se utiliza para copiar ficheros. Su sintaxis es:

    cp [opciones] fichero1 fichero2

    Copia el contenido de fichero1 en fichero2. Tambin se puede

    especificar el camino absoluto o relativo de cada uno de los ficheros.

    Ejemplo:

    $ cp coches ejercicios/cars

    Copia el fichero coches del directorio actual en el directorio ejercicios, con el

    nombre cars.

    Las opciones ms importantes son:-i pedir confirmacin si el fichero destino ya existe antes de sobrescribirlo.

    -r copia un directorio junto con sus ficheros y subdirectorios en otrodirectorio. Si el directorio destino no existe, lo crea.

    Ejemplo:

    $ cp coches mbox ejercicios

    Copia los archivos coches y mbox sobre el directorio ejercicios. Cuando se

    utilizan varios ficheros para copiar, el destino tiene que ser un directorio.

    Ejemplo:

    $cpi coches ejercicios

    Copia el archivo coches en el directorio ejercicios, no sin antes haber pedido la

    confirmacin para sobrescribirlo, puesto que ya hay un archivo con igual nombre en

    el directorio ejercicios.

    Ejemplo:

    $ cpr ejercicios so/pruebas

    Copiamos el directorio ejercicios y todo su contenido al directorio so, en un

    nuevo directorio que creamos al hacer la copia, llamado pruebas.

  • 7/30/2019 Resumen Unix

    35/72

    MV. Cambia un fichero de un directorio a otro. Sus sintaxis son:

    a) mv [opciones] fichero1 fichero2

    b) mv [opciones] directorio1 nuevo_directorioc) mv [opciones] fichero/s directoriod) mv [opciones] directorio1 directorio2

    En los dos primeros casos, la orden mv lo que hace es cambiar el nombre deun fichero o un directorio, segn el caso. Mientras que en los siguientes loque realiza es un cambio de localizacin. Es decir, se desplaza un fichero, o

    bien todo el contenido de un directorio, a otro directorio.

    Las opciones ms importantes son:-i si el fichero destino existe, pide confirmacin antes de sobrescribirlo.-f es la opcin por defecto. Si el fichero existe, lo sobrescribe sin pedirconfirmacin.

    Ejemplos:

    $ mv coches carros

    Cambia el nombre del fichero coches por carros.

    $ mv so sistemas_operativos

    Cambia el nombre del directorio so por sistemas_operativos.

    $ mv carros list sistemas_operativos

    Mueve los ficheros carros y list al directorio sistemas_operativos.

    $ mv pruebas sistemas_operativos

    Mueve los directorios y ficheros del directorio pruebas al directorio

    sistemas_operativos.

    RM. Se utiliza para borrar ficheros. Su sintaxis es:

    rm [opciones] fichero/s

    Sus opciones:-r borra recursivamente. Se emplea para borrar directorios.-f borra todos los ficheros sin confirmacin.-i pide confirmacin para borrar cada fichero.

  • 7/30/2019 Resumen Unix

    36/72

    Ejemplos:

    $ rmf carros list

    Borra los ficheros carros y list del directorio actual sin pedir confirmacin.

    $ rmr pruebasBorra el directorio pruebas y todo su contenido recursivamente. Solicita la

    confirmacin.

    FIND. La orden find permite efectuar bsquedas de archivos. Lleva comoargumentos los nombres de directorios seguidos de varias opciones posiblesque especifican el tipo y el criterio de la bsqueda. Find busca dentro de losdirectorios indicados y en sus subdirectorios archivos que cumplan con el

    criterio. Su sintaxis es:

    find directorio [condiciones] accin

    Donde:directorio es el directorio a partir del cual comienza la bsqueda.

    condiciones se puede substituir por:

    name nombre_fichero Bsqueda por el nombre del fichero.-perm NNN Bsqueda por la mscara de permisos en octal.-user nombre_usuarioBsqueda por el nombre de usuario.-size nFichero con tamao n bloques.-mtime nFicheros modificados hace n das.-atime nFicheros cuyo ltimo acceso fue hace n das.

    accin indica la accin a realizar con los ficheros encontrados.

    Ejemplo:

    $ find informesname lunes

    Se busca en el directorio informes el fichero lunes

    Ejemplo:

    $ find programasname *.c print

    Se busca en el directorio programas ficheros que tengan extensin .c y se muestra la

    ruta de los ficheros.

  • 7/30/2019 Resumen Unix

    37/72

    Se pueden usar los caracteres comodn del shell como parte del patrn delcriterio de bsqueda de archivos. El carcter comodn debe ir delimitado conel fin de evitar su evaluacin por el shell.

    Ejemplo:$ find / -user profes

    LN. Un inodo es la estructura de datos en disco que describe y almacena losatributos del fichero y su localizacin. Cada inodo tiene un nmero distintoy cada fichero tiene su inodo. Cuando se crea un fichero un inodo se leasigna a l y este es nico. La informacin que se guarda en un inodo es:propietario y grupo, tipo de fichero, permisos, fecha de creacin y

    modificacin, nmero de links al fichero, tamao del fichero, Los inodosguardan toda la informacin del fichero excepto su localizacin en eldirectorio y su nombre.

    Un enlace es un mecanismo que permite referirse con distinto nombre defichero a un mismo fichero en disco. Existen dos tipos de links:fsico,(duro ohardlink) y simblico (blando o softlink).

    Enlace duro: Crea un enlace, asociando uno o mas nombres de fichero

    con el mismo inodo. Se realizan mediante la orden ln. Su sintaxis es:

    ln archivo destino

    Crear un enlace consiste en hacer que un mismo fichero aparezca bajodiferentes nombres, en diferentes lugares del rbol de directorios.Fsicamente slo existir un fichero, pero se podr acceder a l bajodiferentes nombres, de modo que si se modifica el ficheroindependientemente del nombre con el que se haya accedido, todos susenlaces resultan modificados. No se puede hacer de directorios.

    Ejemplo:

    $ ln index hlink

    Crea un link con nombre hlink con el mismo inodo que el fichero index

    Enlace simblico: Asocia un nombre a un nuevo inodo, que indica laposicin en disco donde se guarda la informacin del path donde esta elfichero. Se realizan mediante la orden ln con el parmetro s. Su sintaxis es:

    ln s archivo destino

  • 7/30/2019 Resumen Unix

    38/72

    Ejemplo:

    $ ln -s index slink

    Asocia al nombre slink un nuevo inodo. Este inodo indica la posicin en disco donde

    se guarda el path completo del fichero index.

    Cuando se hace un enlace simblico se le asigna un n de inodo nuevo. Enningn caso se incrementa el n de enlaces. S se puede hacer de directorios.Los enlaces simblicos tienen su propio tipo de archivo que se representapor una l y ocupan mucho menos que el archivo original porque solamentealmacenan el nombre de la ruta de otro archivo.

    Los dos tipos de enlaces permiten visualizar el contenido de Index

    utilizando los nombres de hlink e slink pero existen diferencias en laestructura interna. Casos:

    1) Si no ocurre nada, ambos link visualizan el fichero index

    $ cat index

    Este es index de Elisa

    $ cat hlink

    Este es index de Elisa

    $ cat slink

    Este es index de Elisa

    $ ls -li

    total 20

    36409 -rw-r--r-- 1 librada8 users 24 Feb 25 10:46 index

    36409 -rw-r--r-- 2 librada8 users 24 Feb 25 10:46 hlink

    36852 lrwxrwxrwx 1 librada8 users 5 Feb 25 10:56 slink -> index

    34568 drwxrw_rw_ 3 librada8 users 5 Feb 25 10:56 ultimo

    2) Si se mueve index que significa solo aadir una nueva entrada en elnuevo directorio y borrarla del antiguo no se afecta el hardlink pues el inododel fichero es el mismo. Por el contrario softlink apunta a algo que no existepues ya no est en el mismo directorio. Lo mismo ocurre si se borra elfichero index.

    $ mv index seg/

    $ lslitotal 20

  • 7/30/2019 Resumen Unix

    39/72

    36409 -rw-r--r-- 2 librada8 users 24 Feb 25 10:46 hlink

    36852 lrwxrwxrwx 1 librada8 users 5 Feb 25 10:56 slink -> index

    $ cat hlink

    Este es index de Librada

    $ cat slink

    cat: slink: No such file or directory

    3)Si creamos un nuevo index

    $ cat > index

    Este es el nuevo index de Librada

    $ cat hlinkEste es index de Librada

    $ cat slink

    Este es el nuevo index de Librada

    $ ls -li

    total 20

    36485 -rw-r--r-- 1 librada8 users 24 Feb 25 10:46 index

    36409 -rw-r--r-- 2 librada8 users 24 Feb 25 10:46 hlink

    36852 lrwxrwxrwx 1 librada8 users 5 Feb 25 10:56 slink -> index

    ls -l identifica los diversos tipos de ficheros que existen en LINUX. Los mscomunes son:- ficheros regularesd directoriol link simbolico

    10.Gestin de la Seguridad: Usuarios, Grupos, Permisos sobreDirectorios y Ficheros

    En un sistema Unix/Linux la seguridad de la informacin que almacenamosen los ordenadores centrales o servidores es fundamental, ya que muchos

    usuarios tendrn o podrn tener acceso a parte de los recursos software yhardware que estn gestionados en estos ordenadores.

  • 7/30/2019 Resumen Unix

    40/72

    La primera medida a llevar a cabo consiste en tener a cada usuarioidentificado con un nombre y una password que le permitan conectarse alsistema. Cuando se teclea la password para acceder, el sistema no la

    visualiza en pantalla para impedir que otra persona pueda verla. Lapassword slo la debe conocer el usuario, de esta forma nadie podr accedera su informacin ni podr hacer mal uso de ella.

    Se recomienda por seguridad que cuando el usuario se ausente del terminalpor un tiempo o de manera definitiva, siempre se desconecte. Por otro lado,nunca deben utilizarse contraseas (passwords) que puedan detectarse confacilidad, como nombres propios, aficiones, fechas significativas, etc.

    La contrasea ha de cambiarse cada cierto tiempo con la orden passwd,como ya vimos en apartados anteriores.

    Otra medida de seguridad que permite un sistema Unix/Linux es laproteccin de ficheros contra accesos no deseados, indicando qu usuariospueden acceder y qu acciones pueden realizar sobre los datos.

    Los permisos de acceso se establecen en tres niveles:El del usuario que ha creado el fichero (propietario)El del grupo al que pertenece el usuario (grupo)El de todos los dems usuarios del sistema (otros).

    Para cada nivel hay tres tipos de acceso:Lectura (r) Permite ver el contenido del fichero o directorio.Escritura(w) Permite modificar el contenido de un fichero, o crear y

    borrar ficheros y subdirectorios, si se trata de un directorio.Ejecucin (x) Se puede ejecutar el fichero o acceder a l si es undirectorio.

    Si se teclea la orden ls l (listado largo) se nos presenta informacindetallada de cada fichero o directorio. La primera columna empezando porla izquierda muestra la mscara de permisos. Est formada por 10 caracteresque indican el tipo de fichero y sus permisos.

    El primer carcter, empezando por la izquierda, indica el tipo de fichero. Losm{s usuales son: -, si es fichero de datos y d, si es un directorio.Los tres caracteres siguientes indican los permisos para el propietario delfichero, los tres siguientes los permisos para el grupo y los tres ltimos,

    los permisos para otros.

  • 7/30/2019 Resumen Unix

    41/72

    Los permisos para cada uno de los niveles aparecen siempre en el mismoorden: rwx.

    El car{cter r significa acceso de lectura, w acceso de escritura, x acceso

    de ejecucin y - que no tiene acceso de lectura, escritura y ejecucin,dependiendo del lugar que ocupe.

    Ejemplo:

    -rwxrw---x

    Es un fichero de datos (-), con permiso de lectura, escritura y ejecucin para el

    propietario (rwx), de lectura y escritura para el grupo (rw-) y de ejecucin para

    otros (--x).

    Existe otra forma para referirnos a los permisos sobre ficheros: la mscaraoctal.

    Para poner la mscara de numeracin octal se siguen los siguientes pasos:

    Se pasa la mscara a binario utilizando tres dgitos con valores 0 y/o 1, paracada nivel: propietario, grupo y otros. 0 significa que no tiene permiso y 1que s lo tiene.

    Las posibles combinaciones seran:000 --- 100 r--001 --x 101 r-x010 -w- 110 rw-011 -wx 111 rwx

    A continuacin se le asigna el valor 4, 2 y 1 a cada dgito binario.

    Por ejemplo, para los permisos r-x, sera:

    4 2 11 0 1

    Por ltimo, se suman los valores en cuya casilla haya un 1.

    Siguiendo con el ejemplo anterior:4+1 = 5

    De esta forma, la mscara octal para todos los permisos sera:

    rwx 7 -wx 3rw- 6 -w- 2

  • 7/30/2019 Resumen Unix

    42/72

    r-x 5 --x 1r-- 4 --- 0

    10.1. GESTIN DE USUARIOS

    Unix/Linux es un sistema multiusuario real, en el que puede haberdiferentes cuentas actuando al mismo tiempo en el sistema, y cada una conprivilegios y funciones distintas. Por ello, se distinguen tres tipos de usuarios:

    1. Usuarios normales: son los usuarios habituales del sistema, queutilizarn los recursos del mismo. Es conveniente llevar una polticarestrictiva con estas cuentas, y habilitar slo aquellas funciones que

    necesiten. Estos usuarios pueden hacer login y se les asigna una shell encada inicio de sesin. Cada usuario tiene su propia carpeta personal, dela que es propietario.

    2. Usuarios del sistema: son aquellos incorporados por el propio sistemaoperativo, encargados de los demonios de ste. Algunos programas ydemonios necesitan un usuario para poder usarlo, y por eso se creanestos usuarios. Estos usuarios no tienen privilegios para hacer login en elsistema, y por regla general no tienen un shell asignado. Su shell por

    defecto es /bin/false. Algunos de estos usuarios son, por ejemplo: daemon,lp, mail, pop, etc.

    3. Usuario root: este usuario se diferencia de los dems, ya que es el nicoque tiene control total sobre todo el sistema. Su directorio personal esten /root, y es un directorio al cual slo l tiene acceso. El usuario root esel administrador del sistema y, como tal, es el nico que tiene derecho aadministrar el resto de usuarios del sistema. Adems de eso, debe ser elnico usuario que tenga privilegios sobre directorios y ejecutablescrticos para el sistema, como pueden ser los demonios del sistema,procesos crticos, programas que pueden comprometer la seguridad delsistema, script de inicio, etc. En definitiva, el usuario root slo deberausarse cuando fuera imprescindible, pero para trabajar normalmente esms seguro utilizar un usuario normal, ya que sus restricciones hacenque el sistema est ms seguro.

    En cuanto a los privilegios de los usuarios y grupos, es importante llevar unbuen control de los mismos, y sobre los permisos que tiene cada uno sobre elsistema, ya que, podramos comprometer la seguridad del mismo. Por reglageneral, los usuarios tienen control total nicamente sobre su carpeta

  • 7/30/2019 Resumen Unix

    43/72

    (/home/usuario). Respecto a los grupos, es importante tenerlos biendiferenciados, y dar a cada uno de ellos nicamente los permisos necesariospara realizar las funciones que desempeen. Llevar una buena poltica degestin de grupos y usuarios es muy importante para poder mantener la

    seguridad de un sistema Linux.

    En Unix/Linux, los ficheros que contienen toda la informacin de losusuarios son /etc/passwd, donde, como ya se ha comentado anteriormente,se guardan los nombres de los usuarios, con sus ID de usuario y grupo, sudirectorio personal, su shell, y un comentario acerca de ese usuario; y

    /etc/shadow, donde se guarda la contrasea de cada usuario, y suconfiguracin.

    Cuando se crea un usuario nuevo, se aade una entrada en el fichero/etc/passwd.

    El UID (User ID) es un nmero con el que Linux identifica a cada usuario.Este nmero es nico para cada usuario, ya que Unix/Linux no identifica alos usuarios por el nombre, sino por ese nmero. No debe ser un nmeroaleatorio; por lo general, Unix asigna un nmero a partir de 200, y Linux unnmero entre 500 y 700. Cuando se crea una cuenta normal, por ejemplo enLinux, el primer UID que se asignar ser el nmero 500, y a medida que sevayan creando ms cuentas, se irn asignando consecutivamente. Sinembargo, el root tiene un UID de 0. Tambin es posible asignar un UIDespecfico, como veremos ms adelante, aunque no es lo normal.

    El GID (Group ID) es el nmero de identificacin del grupo al que perteneceel usuario.

    El directorio personal, por defecto, de cada usuario se encuentra en /usr, enUnix, y en /home, en Linux, y se crea un directorio de trabajo por cadausuario dado de alta en el equipo. Sin embargo, para el usuario root, no se

    cumple esta regla, ya que el directorio base es /root, al que slo l tieneacceso.

    El ltimo campo es la shell. La shell es el intrprete de comandos que secarga una vez iniciada la sesin, y a travs de l nos comunicaremos con elsistema operativo. La shell por defecto en Suse Linux es /bin/bash, peropuede ser modificada para que cada usuario ejecute la que crea msconveniente. Cuando un usuario inicia sesin en el equipo, y tras ejecutar elprograma login, y comprobar que la contrasea del usuario es la correcta (a

    travs de los ficheros /etc/passwd y /etc/shadow), se carga unaconfiguracin por defecto. Esta configuracin, en caso de que el usuario

  • 7/30/2019 Resumen Unix

    44/72

    haya iniciado sesin con la shell Bash, se guarda en los ficheros/etc/bash.bashrc y /etc/profile. Estos ficheros contienen configuraciones ycomandos que podrn ser utilizados por el usuario. En /etc/skel, se guardauna copia de estos ficheros, por si al modificarlos hubiera algn problema,

    y tengan que ser reemplazados. En los directorios base de cada usuariotambin estn los ficheros .bashrc y .profile, que pueden ser librementemodificados por el propietario y sirven para tener configuracionespersonalizadas. Estos ficheros locales tienen preferencia sobre los ficheros/etc/bash.bashrc y /etc/profile.

    En Linux existen varias cuentas especiales predefinidas por el sistema, y quetienen funciones especficas para realizar algn tipo de tareas. Algunas deestas cuentas son:

    Daemon: servidores. Lp: subsistema de impresin Mail: demonio de correo News: subsistema de noticias. Pop: administrador POP.

    10.1.1. Creacin de Usuarios

    USERADD.Permite crear usuarios en Linux. Hay que tener privilegios deroot para ejecutar este comando. Su sintaxis es:

    useradd nombre_usuario [-u uid] [-g gid] [-d home-directory] [-m ] [-sshell] [-g grupo] [-c comentarios]

    Donde:-u uid sirve para especificar un UID al usuario. Debe ser un nmero positivo

    y nico. Por defecto, el sistema asigna el primer UID libre.

    -g gid selecciona el GID del grupo principal del usuario. Este GID deberexistir.

    -d home_directory para especificar un directorio personal concreto. Si no seespecifica, se asume el directorio.

    -m crea el directorio home para el nuevo usuario.

    -s shell especifica un shell de inicio para el usuario.

  • 7/30/2019 Resumen Unix

    45/72

    -c comentarios introduce un comentario para tener ms informacin delusuario.

    10.1.2. Eliminacin de Usuarios

    USERDEL. Permite borrar cuentas de usuarios en Linux. Hay que tenerprivilegios de root para ejecutar este comando. Su sintaxis es:

    userdel [-r] nombre_usuario

    Donde:

    -r para eliminar todos los archivos y subdirectorios contenidos dentro deldirectorio de trabajo del usuario a eliminar.

    nombre_usuario identifica al usuario que se va a borrar.

    10.1.3. Modificacin de Usuarios

    USERMOD. Una vez creada una cuenta de usuario se puede cambiarcualquier caracterstica editando directamente el fichero /etc/passwd ousando el comando usermod. Por ejemplo si quieres modificar el UID de lacuenta usr1 desde 501 al 502 puedes usar el comando: usermodu 502 usr1.

    Sintaxis:

    usermod [-c comentarios] [-d home_directory] [-e final de datos][-g grupo inicial] [-G otros grupos *,++[-l nombre de login]

    [-s shell] [-u uid] [-o]] login

    Donde:-c comentarios modifica el comentario acerca del usuario.

    -d home_directory para especificar un directorio personal concreto. Si no seespecifica, se asume el directorio.

    -e final de datos fecha en la que la cuenta de usuario ser desactivada.

    Formato MM/DD/YY

  • 7/30/2019 Resumen Unix

    46/72

    -g grupo inicial nuevo nmero de grupo o nombre de grupo. El grupodeber existir.

    -G otros grupos lista de grupos suplementarios de los que el usuario es

    miembro. Cada grupo se separa del siguiente por coma, sin espacio enblanco. Los grupos deben existir. Si el usuario es miembro de un grupo queno est en esta lista, se borrar el grupo.

    -l nombre de login cambio de login

    -s shell cambio de shell

    -u uid cambio de nmero de usuario. Este valor ser nico a menos que seuse la opcin o. No admite valores negativos. Cualquier uid de fichero queest en el directorio origen del usuario se cambiar automticamente alnuevo uid, pero no pasa as con los ficheros que estn en otro directorio, quedebern ser cambiados manualmente (usando chmod, chgrp, chown).

    login login actual del usuario que vamos a modificar.

    10.2. GESTIN DE GRUPOS

    La informacin referente a los grupos se almacena en el fichero group, queest en el directorio/etc.

    Los grupos son agrupaciones de usuarios que cuentan con los mismospermisos, lo que hace ms fcil el seguimiento y la administracin delsistema. Existen unos grupos especiales creados por el sistema, queengloban tareas especficas. Algunas de estas cuentas son:

    Root: grupo de administradores.Users: grupo por defecto de los usuarios.Dialout: grupo que permite realizar conexiones remotas.

    10.2.1. Creacin de Grupos

    GROUPADD. Permite crear grupos en Linux, al igual que podra hacersemodificando manualmente el fichero/etc/shadow. Su sintaxis es:

  • 7/30/2019 Resumen Unix

    47/72

    groupadd [-g gid] [-o] [-r] grupo

    Donde:-g gid especifica el GID del grupo que se va a crear.

    -o indica que el grupo puede tener asociado ms de un GID.-r crea un grupo de sistema.grupo nombre asignado al grupo que se va a crear.

    Ejemplo:

    $ groupaddg 500 claseasi

    Aade el grupo 500 de nombre claseasi

    10.2.2. Eliminacin de Grupos

    GROUPDEL.Permite borrar grupos en Linux. Su sintaxis es:

    groupdel grupo

    Donde:grupo nombre asignado al grupo que se va a borrar.

    Ejemplo:

    $ groupdel claseasi

    10.2.3. Modificacin de Grupos

    GROUPMOD.Permite modificar grupos en Linux. Su sintaxis es:

    groupmod [g nuevo_gid] [- n nuevo_nombre] grupo

    Donde:-n nuevo_nombre especifica el nuevo nombre del grupo.-g nuevo_gid especifica el nuevo GID del grupo.grupo nombre del grupo que se va a modificar.

    Ejemplo:

    $ groupmod clasenueva claseasi

    Cambia el nombre del grupo claseasi a clasenueva.

  • 7/30/2019 Resumen Unix

    48/72

    10.2.4. Cambiar el Grupo de un Usuario

    NEWGRP.El fichero/etc/group contiene los grupos del sistema. Cuando seaccede al sistema siempre se hace con el mismo grupo. Pero un usuariopuede pertenecer a ms de un grupo aunque slo est activo uno. El usuariopuede necesitar cambiarlo por otro de los que pertenezca para crear nuevosficheros. Para ello usar el comando que nos ocupa. Ha de ser el usuariodesde su login quien ejecute esta operacin. Su sintaxis es:

    newgrp nuevo_grupo

    Si el usuario desea visualizar la lista de nombres de los grupos a los quepertenece, bastar con que ejecute la orden groups.

    10.3. GESTIN DE PERMISOS SOBRE DIRECTORIOS Y FICHEROS

    10.3.1. Modificacin de los Permisos de un Fichero

    CHMOD. Permite modificar los permisos de uno o varios ficheros. Susintaxis es:chmod mascara fichero/s

    donde la mscara puede ser octal o simblica.

    Ejemplo:

    $ chmod 652 practica

    El propietario de practica tendr permiso de lectura y escritura (4+2=6), el grupo de

    lectura y ejecucin (4+1=5) y otros de escritura (2).

    Si quisiramos expresar lo mismo mediante una mscara simblica, pondramos:

    $ chmod u=rw, g=rx, o=w practica

    La mscara simblica est formada por tres cdigos:

    a) Clases de usuarios:Smbolo Significado

    u propietariog grupo

  • 7/30/2019 Resumen Unix

    49/72

    o otrosa todos

    b) Permisos:

    Smbolo Significador lecturaw escriturax ejecucin

    c) Operacin:Smbolo Significado

    + aadir permisos- quitar permisos

    = asignar permisos

    Ejemplo:

    $ lsl

    -rw-r-x-w- 1 cbt staff 512 Feb 09 18:55 practica

    $ chmod u+x, g-x practica

    $ lsl

    -rwxr---w- 1 cbt staff 512 Feb 09 18:55 practica

    Da permiso de ejecucin del fichero al propietario y le quita el permiso de ejecucin

    al grupo.

    10.3.2. Cambio del Propietario de un Fichero

    CHOWN. Este comando cambia el propietario de un fichero. La sintaxis es:

    chown nuevo_propietario fichero/s

    Donde:nuevo_propietario se sustituye por el nombre o el identificador de usuariodel nuevo propietario.

    Ejemplo:

    $ chown pepe carta

    10.3.3. Cambio de Grupo a un Fichero

    CHGRP. Este comando cambia de grupo a un fichero. La sintaxis es:

  • 7/30/2019 Resumen Unix

    50/72

    chgrp nuevo_grupo fichero/s

    Donde:nuevo_grupo se sustituye por el nombre o el identificador de grupo del

    nuevo grupo.

    Ejemplo:

    $ chgrp usuarios1 carta1 carta2

    11.Shell11.1. METACARACTERES

    El shell proporciona una forma de abreviar los nombres de archivos mediante eluso de patrones o comodines que se utilizan para especificar uno o msarchivos, sin tener que escribir los nombres completos. Se pueden utilizarcomodines para especificar de una sola vez un conjunto completo dearchivos o para buscar un archivo cuando slo se conoce parte de sunombre.

    Cuando el shell, procesa una lnea de orden, sustituye en forma ordenada,

    cualquier palabra que contenga comodines de nombres de archivos por losnombres de archivos identificados.

    Los metacaracteres son los siguientes:

    ? : Cuando este carcter es utilizado como parte del nombre de unarchivo o directorio, la interrogacin sustituye a un solo carcter.

    Ejemplos:

    $ ls unit?Se mostrarn todos los archivos que comiencen por unit y tengan un carcter

    ms.

    $ ls e?s

    Se mostrarn todos los archivos y directorios que comiencen por e y terminen en

    s y tengan tres caracteres.

    *:Cuando este carcter es utilizado como parte del nombre de un archivo

    o directorio, el asterisco sustituye a una serie de caracteres.

  • 7/30/2019 Resumen Unix

    51/72

    $ ls unit*

    $ ls e*s

    $ ls *

    [ ] :Cuando se utilizan como parte de nombres de archivo o directorio,representan un solo carcter de los incluidos entre los corchetes, que sesustituirn por el carcter en el nombre de archivo o directorio en laposicin en la que estn estos corchetes. Pueden incluir rangos separadospor un guin. Dentro de [ ] podemos utilizar !, que permite excluircaracteres.

    $ ls capitulo1[102]

    capitulo10 capitulo11 capitulo12

    $ ls capitulo[123]0

    capitulo10 capitulo20 capitulo30

    $ ls capitulo[1-5]

    capitulo1 capitulo2 capitulo3 capitulo4 capitulo5

    $ ls [tn]*[ms]

    Muestra los archivos que empiecen por t o n, a las que les siga una cadena de

    caracteres y, que finalmente, terminen por m o s. Ejemplo: tos, nueces.

    $ ls cap[!1]

    Muestra todos los archivos que comiencen con la palabra clave cap y terminen

    con un nico carcter que no sea el 1.

    $ ls unit[!6-9]

    Muestra todos los archivos y directorios que comiencen por unit, tengan 5

    caracteres y el ltimo sea diferente de 6, 7, 8 9.

    $ ls cap[!15]Muestra todos los archivos que comiencen con la palabra cap y de 4 caracteres,

    no pudiendo ser ni el 1 ni el 5 el ltimo.

    11.2. REDIRECCIN

    Cada vez que se inicia un intrprete de rdenes, se abren automticamentetres archivos. Esto es porque para LINUX todos los dispositivos fsicos son

    archivos. Estos archivos son los siguientes:

  • 7/30/2019 Resumen Unix

    52/72

    stdin: archivo estndar de entrada, es de donde los programas leen suentrada.stdout: archivo estndar de salida, es a donde los programas envan susresultados.

    stderr: archivo estndar de error, es a donde los programas envan sussalidas de error.

    El archivo estndar de entrada se identifica generalmente con el teclado. Losarchivos estndar de salida y error se identifican normalmente con la

    pantalla.

    11.2.1. Redireccionamiento de Entrada (. Si el archivo al queredireccionamos no existe, el shell lo crear automticamente, si, por elcontrario ya exista, entonces se sobrescribir la informacin, machacando elcontenido original del archivo.

    Ejemplo: $ date > prueba

    Se almacena la fecha actual del sistema en el archivo prueba.

    11.2.3. Redireccionamiento de Adicin a un Fichero (>>)

    Si por cualquier causa lo que queremos es aadir informacin a un archivosin destruir su contenido, deberemos utilizar para la redireccin el doblesmbolo de mayor que, >>.

    Ejemplo: $ ls > prueba

    Se almacena al final del fichero prueba el contenido del directorio activo.

  • 7/30/2019 Resumen Unix

    53/72

    11.2.4. Redireccionamiento de Errores (2> y 2>>)

    Este tipo de redireccionamiento se utiliza para almacenar los erroresproducidos en la ejecucin de un comando en un archivo especfico, en vez

    de utilizar la pantalla. Para ello se utilizan los caracteres 2> y 2>>.

    Ejemplo: $ cat fichero>fichero1 2>errores

    Si el archivo fichero no existe o no est en ese lugar, o se da cualquier otro error, se

    crea un fichero llamado errores con el contenido del mensaje del error que se hubiera

    mostrado por pantalla. Si el fichero errores existe, se destruye y se queda con la

    ltima informacin; si no existe, se crea. La diferencia al poner 2>> es la misma que

    con la adicin.

    11.3. FILTROS

    En Unix/Linux es posible introducir en una misma lnea dos o mscomandos separados por el carcter tubera o pipe (|).

    De esta forma, puedes ejecutar un comando, y el resultado de ste puede serla entrada para otro, que a su vez puede servir de entrada a un tercero.

    Si ejecutamos la siguiente secuencia de comandos:

    $ comando1 | comando2 | comando3,

    Ocurrir que la salida proporcionada por el comando1 se tomar comoentrada para el comando2. La salida del comando2 es tomada como entradapara el comando3.

    Los filtros en Unix/Linux se utilizan igual que en DOS, mediante el carctertubera para filtrar la informacin. Estos filtros son:

    MORE. Orden que muestra el contenido de un archivo paginando la salidapor pantalla. Su sintaxis es:

    more fichero1 ....

    Pulsando aparece una nueva lnea.Pulsando barra espaciadora aparece una nueva pantalla.Pulsando q finalizamos la visualizacin.

    Ejemplo:

  • 7/30/2019 Resumen Unix

    54/72

    $ more fich1

    Ejemplo:

    $ ls | more

    LESS. Orden que muestra el contenido de un archivo paginando la salidapor pantalla y permitiendo moverse tanto hacia al final del fichero comohacia el principio. Su sintaxis es:

    less fichero1 ....

    Pulsando aparece una nueva lnea.Pulsando barra espaciadora aparece una nueva pantalla.

    Pulsando q finalizamos la visualizacin.

    Ejemplo:

    $ less fich1

    Ejemplo:

    $ ls | less

    TAIL. Visualiza el final de un fichero, por defecto visualiza las diez ltimaslneas. Su sintaxis es:

    tail [opciones] [fichero]

    Donde las opciones pueden ser:+n empieza a visualizar a partir de n lneas del principio del fichero.- nempieza a visualizar a partir de n lneas del final del fichero.

    Ejemplo:$ tail10c fich

    Obtiene los 10 ltimos caracteres de fich.

    Ejemplo:

    $ ls / tail

    Obtiene las 10 ltimas lneas del listado obtenido mediante la orden ls..

    HEAD. Obtiene en la salida estndar las primeras lneas de un fichero, pordefecto las 10 primeras lneas. Su sintaxis es:

  • 7/30/2019 Resumen Unix

    55/72

  • 7/30/2019 Resumen Unix

    56/72

    En este ejemplo, el comando imprime el nmero total de lneas (2), de palabras (6), y

    de caracteres (31) (incluye espacios en blanco y nueva lnea) del fichero prueba.

    Ejemplo:

    $ wc c*4 4 26 coche

    4 4 22 coche2

    8 8 48 total

    Visualiza los ficheros que empiezan por c y suma el total.

    Tambin puede formar parte de una tubera para contar las palabras o lneasde la entrada:

    Ejemplo:$ ls | wcl

    Cuenta las lneas del directorio activo.

    GREP. Es un filtro que permite buscar cadenas de caracteres (patrn) en losarchivos que se le indica y muestra la lnea del fichero que contiene elpatrn. Su sintaxis:

    grep [opciones] patrn [fichero(s)]

    Donde las opciones pueden ser:-c visualiza el n total de lneas donde se localiza el patrn.-i elimina la diferencia entre maysculas y minsculas.-l visualiza slo el nombre de los ficheros donde se localiza el patrn.-n visualiza el n de lnea donde aparece el patrn, as como la lneacompleta.-v visualiza las lneas del fichero donde no aparece el patrn.

    Ejemplo:

    $ cat pruebagrep

    hola voy a probar a

    ver si me dice en que lugares

    aparece la letra a

    el comando grep

    y este no tiene la letra

    $ grep letra pruebagrep

    aparece la letra a

  • 7/30/2019 Resumen Unix

    57/72

    y este no tiene la letra

    $ grep -c letra pruebagrep

    2

    $ grep -n letra pruebagrep

    3:aparece la letra a

    5:y este no tiene la letra

    $ grep -v -n letra pruebagrep

    1:hola voy a probar a

    2:ver si me dice en que lugares

    4:el comando grep

    Caracteres especiales dentro del patrn. Expresiones regularesUna expresin regular es un patrn que define a un conjunto de cadenas decaracteres.^ Indica que la cadena buscada debe encontrarse al principio de lnea.$ La cadena deber encontrarse al final de la lnea.

    $ cat semana.doc

    Lunes

    Martes

    Mircoles

    $ grep ^M