Técnico de Soporte Informático
TEMA 16 UNIX / LINUX
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
TEMA 16 16.. UNIX / LINUX CONTENIDO 1.
EL SISTEMA OPERATIVO UNIX / LINUX ................................................................................................. 2
2.
CARACTERÍSTICAS TÉCNICAS Y FUNCIONALIDA FUNCIONALIDADES DES ............................................................................. 6 2.1 EL NÚCLEO Y EL SHELL ........................................................................................................................ 6 2.2 CONEXIÓN DE USUARIOS ...................................................................................................................9 Conexión remota..................................................................................................................................9 Primera conexión a Linux ...................................................................................................................11 2.3 ESTRUCTURA DEL SISTEMA UNIX/LINUX..........................................................................................11 2.4 ARCHIVOS Y DIRECTORIOS................................................................................................................12 Tipos de archivos en Linux..................................................................................................................13 2.5 PERMISOS Y DERECHOS....................................................................................................................13
3.
GESTIÓN DE USUARIOS Y GRUPOS.....................................................................................................14 3.1 GESTIÓN DE USUARIOS ....................................................................................................................14 Añadir usuarios...................................................................................................................................15 Modificar usuario ...............................................................................................................................15 3.2 GESTIÓN DE GRUPOS........................................................................................................................16 Añadir un grupo..................................................................................................................................16 Modificar un grupo.............................................................................................................................16 Eliminar un grupo .......................................................................................................................... ..... 16
4.
SERVICIOS, OPERACIONES Y COMANDOS BÁSICOS............................................................................17 4.1 ALGUNOS SERVICIOS Y OPERACIONES EN LINUX ............................................................................. 17 4.2 COMANDOS BÁSICOS ....................................................................................................................... 18
5.
SUPERVISIÓN DE LOGS ....................................................................................................................... 21
2
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
1 . E L SISTEMA OPERATIVO UNIX / LINUX
W S W E . L W Generalmente, el hardware de cualquier sistema multiusuario consta de dos partes Y fundamenteales: .E C Encargado de suministrar información a los diferentes usuarios C J .del sistema. También conocido como L P Son los puestos con los que los usuarios se comunican con el ordenadorA A central. P L . J C C Estos SO constan de dos componentes: E . Y Éste es el equivalente al intérprete de comandos de DOS O EL Explorador de Windows. W Permite introducir comandos, ejecutar programas, etc. La diferencia respecto a DOS yL . Windows es que además Shell es un lenguaje de programación que permite controlar comosE W se están ejecutando los comandos. S W Es la parte del sistema que interactúa con el hardware. Aporta servicios para la gestión El sistema operativo Unix / Linux es uno de los sistemas multiusuario por excelencia. A lo largo de su evolución histórica se ha llamado de muchas maneras y ha tenido muchas versiones, pero siempre ha estado especializado en la gestión de software para que pueda ser utilizado simultáneamente por varios usuarios.
El Ordenador central.
servidor.
Terminales.
núcleo y Shell.
Shell:
Núcleo:
de memoria, control de acceso a los periféricos, control y gestión del sistema de archivos, manejo de interrupciones, gestión de procesos de e/s, etc.
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
3
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
UN POCO DE HISTORIA
Los inicios de Unix datan de los años 60, fruto de un proyecto de investigación de los laboratorios BELL. El sistema se llamaba MULTICS. El proyecto estuvo parado durante años por que necesitaba mucha memoria y los programas o acababan de funcionar bien con él. En 1969 se escribe de nueve un SO basado en MULTICS que supera los problemas de éste. En 1973 se escribe el lenguaje C. A partir de aquí el sistema sufre numerosas modificaciones, hasta que en 1982, AT%T lanza la primera versión comercial de Unix. Paralelamente, otras empresas sacaron “sus” versiones de Unix, lo cual hizo dudar a los usuarios. AT%T envió copias del sistema operativo Unix a muchas universidades del mundo, por lo que la mayoría de los informáticos realizaban sus estudios basándose en este SO. Se creó un estándar y multitud de librerías, de forma que la característica fundamental de Unix, la portabilidad, fuera máxima. Con la aparición de los procesadores 8088 de IBM, Unix mejoró en prestaciones e incluso llegaron a hacerse versiones ligeras de Unix. La historia de Linux empieza en Finlandia en 1991, cuando Linus B. Torvalds, estudiante de la Universidad de Helsinki, se le ocurrió comprarse un PC con procesador 386. Después de observar que MSDOS no aprovechaba los recursos de la máquina, decidió usar otro sistema operativo de entonces: Minix, que era un pequeño sistema Unix. Sin embargo, debido a las limitaciones de Minix, Linus decidió reescribir algunas partes del sistema, añadiéndole mayor funcionalidad. Posteriormente, Linus difundió el código fuente por Internet, de manera gratuita y con el nombre de Linux. La primera difusión de Linux tuvo lugar el mes de agosto de 1991. Se trataba de la versión 0.01, y por el momento trabajaba bajo Minix. La primera versión oficial fue la 0.02 y se hizo pública el 5 de octubre de 1991. En esta nueva versión ya se permitía el uso de algunos programas GNU. Éste es un acrónimo recursivo que significa “GNU No es Unix”. La primera versión estable de Linux fue la 1.0 y apareció en marzo de 1994. El número de versión asociado al núcleo tiene un sentido muy particular, ya que está ligado a su desarrollo, la evolución de Linux se efectúa en dos fases: Fase de desarrollo: es el momento en que se añade funcionalidad al núcleo, optimizaciones y demás. Es la fase en la que se desarrolla más el núcleo y se caracteriza por su nombre de versión impar: 1.1, 1.3, etc. Fase de estabilización: se trata de coger el núcleo desarrollado en la fase anterior y hacer que sea lo más estable posible. Aquí las modificaciones son mínimas; se trata más de retoques y pequeños ajustes. Los núcleos estables tienen número de versión par: 1.0, 1.2, etc…
4
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
Actualmente Linux es un sistema Unix completo, aunque inicialmente se diseñó como un clónico de éste, distribuido libremente para funcionar en máquinas PC.
W S W E . L W Y Una distribución o “ ” de Linux, es una compilación de software, o como en este caso . Sistema Operativo basada en el núcleo de Linux, incluyendo ciertos paquetes de software queE C satisfacen las necesidades de un grupo de usuarios específicos. De esta manera se originan C J .ediciones empresariales, domésticas y para servidores L P Generalmente se componen de software libre (gratuito) aunque a veces incorporan algunasA A aplicaciones o controladores propietarios (perteneciente a alguna empresa o persona físicaP L que tiene derechos sobre él). . J C C E .Las distribuciones de Linux más utilizadas en la actualidad son las siguientes: Y W L . E W La empresa homónima estadounidense ofrece las distribuciones S más utilizadas en servidores. Actualmente la versión gratuita es W Fedora. Es necesario el pago de una licencia de soporte. Está DISTRIBUCIONES
distro
RED HAT.
enfocada a empresas.
W S W E . Esta es una distribución que patrocina RedHat. Su comunidad seW L encarga de soportarla. Resulta fácil de instalar y es de muy buena Y .E calidad. C C J . L P A A Esta es una distribución francesa que se basa en RedHat. EsP L muy accesible para quienes empiezan en Linux. Tras la fusión . J co n Conectiva cambió u nom b re por Mandriva. Actual me nte C C está en la versión 2010, que se ofrece en distintos packs, algunos gratuitos y otros de pago, E .aunque ya ha aparecido la versión beta 2011. Y W L . E W S W FEDORA.
MANDRIVA.
5
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
DEBIAN.
Debian es desarrollado por una extensa comunidad de aproximadamente de 500 programadores repartidos por todo el mundo y distribuida de manera gratuita. Es una de las distribuciones más estables actualmente. Como inconveniente, no es tan accesible para usuarios principiantes como las anteriores. Su versión estable más actual es la 6.0.
UBUNTU.
Esta distro está basada en Debian. Está ganando mucha popularidad gracias a su facilidad de uso y de instalación. A partir de ella también se crearon otras distribuciones específicas como xubuntu, kubuntu e edubuntu.
OPENSUSE.
Es otra de las grandes distribuciones de Linux. Es fácil de instalar y corresponde a la versión libre de la distribución comercial SUSE. Ésta da soporte a través de la empresa Novel l. Está enfocada a empresas.
GENTOO.
Esta distribución es una de las únicas que incorporaron un concepto totalmente nuevo en Linux. Es un sistema inspirado en BSD por ts. Permite compilar/optimizar un sistema completamente desde cero. No es recomendable adentrarse en esta distribución sin una buena conexión a internet, un ordenador medianamente potente y cierta experiencia en sistemas Unix.
6
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
W S Linux, además de ser un SO es también Es decir, el sistema permite E que los usuarios estén ejecutando varias aplicaciones simultáneamente utilizando la técnica deW . tiempo compartido. Para conseguir esto Linux emplea el . Éste L W algoritmo es uno de los más complejos y eficaces. Y .E Otras características genéricas de Linux son las siguientes: C C J Esta técnica permite a los usuarios del sistema ejecutar programas, . de forma que dé la sensación de que toda la memoria RAM es para ellos. L P Utiliza un sistema de archivos en forma de árbol A invertido. Linux no gestiona dispositivos de forma directa, si no que los gestiona como A P fueran directorios, de manera que cuando estamos accediendo al directorio L siasociado . a una disquetera, en realidad lo que estamos haciendo es acceder a la J C información contenida en el disquete. Un sistema Unix/Linux permite no solamente C E . trabajar con él en una máquina, sino también conectar varios equipos entre sí de Y que cada usuario tenga acceso a la información contenida en todos ellos. W forma Gracias a él se pueden ejecutar programas en máquinas que estén a varios kilómetros L de distancia, enviar correo electrónico de unos equipos a otros, realizar conversación . E W directa entre dos usuarios etc. S La información a la que un usuario puede tener acceso puede W limitarse de forma sencilla. 2. CARACTERÍSTICAS TÉCNICAS Y FUNCIONALIDADES multiusuario
multitarea.
algoritmo por prioridades
Memoria virtual:
Sistema de Archivos jerárquico:
Comunicación con otros ordenadores:
Sistemas de seguridad:
Interfaz texto/gráfica: Lo normal es que la interfaz utilizada por Unix/Linux sea de tipo
texto. Poco a poco se han incorporado mejoras que permiten gestionar el SO en modo gráfico. Fundamentalmente, la aparición de las interfaces X WINDOWS ha permitido agilizar y mejorar procesos, especialmente para el administrador.
W S W E . L W 2.1 EL NÚCLEO Y EL SHELL Y .E C C J .Proporciona una serie de servicios que pueden ser utilizados por los programas, sin qu éstosL P A tengan que preocuparse de cómo se gestiona el hardware. A En general, el núcleo se encarga de gestionar la memoria, mantener el sistema de archivos, elP L manejo de las interrupciones, de los errores, realiza los servicios de e/s, asigna los recursos de. J C CPU, gestiona los periféricos de e/s, etc… C E .Un programa realiza con las que indicará que le abra un archivo, queY escriba en otro, que utilice la impresora etc… W L . El núcleo del sistema operativo Unix / Linux, recibe el nombre de El Kernel actúaE W directamente con los elementos físicos del ordenador y se carga en memoria al arrancar la S máquina. Permanece en ella hasta que ésta se apaga. W El núcleo es la parte del sistema operativo que sirve para interactuar con el hardware.
llamadas al sistema
KERNEL.
7
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
El Shell es el intérprete de mandatos o de comandos con el que cuenta el SO.
Actúa como interfaz de comunicación entre el usuario y el ordenador, cuando un usuario se conecta con el servidor Linux, automáticamente se arranca un Shell para que pueda trabajar. Cada usuario conectado al servido tendrá un Shell para su uso. En Linux existen varios intérpretes de comandos, son los siguientes: Shell Bourne (sh): El prompt del sistema está representado por el símbolo “$”(el
prompt es la forma en la que el SO indica al usuario que está preparado para recibir comandos que ejecutar). Este Shell es el que se monta en casi todos los sistemas Linux. C Shell (csh). Procede del sistema BSD, proporciona características tales como control de trabajos, historia de comandos, capacidad de edición etc. Su prompt es el símbolo “%”. Ofrece muchas ventajas para los programadores en C. Shell job (jsh). Incorpora algunas características de control al Shell estándar del sistema. Shell Korn (ksh). Amplía el Shell del sistema añadiendo historia de comandos, edición
de línea de órdenes y características ampliadas de programación. Bourne Again Shell (Bash). Es el más utilizado actualmente. Fue creado para usarlo en el proyecto GNU, por lo tanto es un intérprete de comandos GNU. Es compatible con sh. Incorpora algunas características útiles de ksh y csh, y otras propias, como la edición de línea de comandos, tamaño ilimitado del histórico de comandos, control de trabajos y procesos, funciones y alias, cálculos aritméticos con número enteros, etc.
FUNCIONES DEL SHELL
Ya hemos visto que la interfaz de usuario que sirve de comunicación entre éste y el sistema recibe el nombre de Shell. Cuando un usuario emite una orden, se está relacionando con el Shell, parte de sistema de Linux a través de la cual se controlan los recursos del SO, proporcionando características que hacen que el sistema sea potente y flexible. El Shell es además de un intérprete de comandos, un lenguaje de programación interactivo sobre el que se pueden ejecutar comandos con los que se pueden crear programas denominados guiones. Cuando el usuario se conecta al sistema Unix/Linux, automáticamente se inicia un programa de Shell. Éste es el denominado Shell de presentación. Éste se carga de forma automática cuando se accede al fichero /etc/passwd. Este archivo contiene la información que el sistema necesita conocer de cada usuario. Es dentro de este archivo donde se encuentra el nombre del Shell que se quiere ejecutar que normalmente es el estándar del sistema. Al iniciarse el Shell de presentación se busca el fichero .profile dentro del directorio activo. Este fichero contiene comandos que sirven para personalizar su entorno de trabajo.
8
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
Una vez realizada esta operación se muestra en pantalla, normalmente, el símbolo $ para que el usuario pueda introducir sus comandos.
W S W E . L W Y .E INTERFACES DE USUARIO C C J .Es la parte del sistema Linux que determina cómo interactúa el usuario con él, dicho de otraL P manera, de qué forma el usuario introduce comandos u otra información y cómo el sistema A visualiza los mensajes después de procesar esa información. A P L La interfaz básica de Unix/Linux es de tipo texto y durante mucho tiempo fue la única.. J Actualmente hay interfaces gráficas como son el X Windows, Open Look, GNOME o KDE. C C E . Y W XWindows: L . W Su característica fundamental es que incorpora un modelo clienteservidor para el modo enE S que las aplicaciones interactúan con los dispositivos terminales. Incorpora también un W protocolo de red y varias herramientas software que pueden ser utilizadas para crear En general, todas las órdenes de Linux son programas almacenados en el sistema de archivos. Su sintaxis es la siguiente: $ mandato [ modificadores][argumentos]
aplicaciones basadas en X Windows.
W S Open Look W E . Ha sido diseñada por AT&T y Sun Microsystems como interfaz gráfica estándar para el sistemaW L Unix/Linux. Esta interfaz permite ejecutar y visualizar varias aplicaciones simultáneamente en Y ventanas separadas sobre una misma pantalla. En general, todas las operaciones de gestión de. E archivos se realizan de forma gráfica gracias a la interfaz OPEN LOOK. C C J . L P A GNOME A P L “GNU Network Object Model Environment.” . J C Proporciona un gestor de ventanas atractivo e intuitivo y una plataforma de desarrollo para C E aplicaciones que son capaces de integrarse con el escritorio. Es simple, fácil de usar y .crear Y proporciona una gran eficiencia. W L GNOME cuenta con un Escritorio. Este escritorio tiene iconos para acceder rápidamente a. aplicaciones y menús que permiten iniciar programas. Además permite usar varios espacios deE W trabajo, como escritorios independientes. S W
9
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
El escritorio GNOME es bastante configurable: puede configurar los menús, los iconos, las tipografías, el fondo, el protector de pantalla, el tema, el administrador de ventanas, sonido, la interacción con las ventanas y muchos otros detalle. Para hacer algunas de las configuraciones permite emplear opciones de los menús GNOME, el ratón. El gestor de ventanas empleado decorará cada ventana con botones que permiten cerrar, maximizar o minimizar. Las ventanas minimizadas se verán en la parte inferior del escritorio GNOME, exáctamente en el panel, que no tiene por que´estar en la parte inferior, si no que puede reubicarse de acuerdo a su gusto. Dentro de los menús de GNOME existen multitud de herramientas, como son la calculadora gcalctool ; el editor de texto gedit ; el calendario gnomecal , procesador de textos, hoja de cálculo, reproductor multimedia y muchas otras.
KDE En su página web explica que, “KDE es un entorno de escritorio contemporáneo para estaciones de trabajo Unix. KDE llena la necesidad de un escritorio amigable para estaciones de trabajo Unix, similar a los escritorios de Mac OS X o Windows”. KDE está basado en el principio de la personalización; esto quiere decir que la inmensa mayoría de los componentes de KDE son configurables. Las opciones más frecuentes son generalmente accesibles desde menús y diálogos de configuración. La apariencia de KDE se puede configurar en más de un nivel. Tanto el gestor de ventanas (llamado KWin) como los controles (botones, menús, etc.) utilizan "estilos" intercambiables, que definen cada aspecto de su apariencia. Por eso KDE no conserva una única apariencia entre versiones, sino que se opta por aquella más ampliamente aceptada en el momento de cada nuevo lanzamiento.
2.2 CONEXIÓN DE USUARIOS CONEXIÓN REMOTA Vamos a ver cómo conectar desde cualquier ordenador a otro ordenador con Unix/Linux. En este caso, podremos conectar como un usuario cualquiera o como administrador del sistema, es decir, como root. La diferencia de conectarse con un usuario o con otro es el tipo de operaciones que permiten realizar. El primer paso para conectar desde otro ordenador con el servidor Unix/Linux es lanzar desde nuestro equipo el comando de conexión. Esta orden simplemente intenta hacer que el ordenador del usuario y el servidor se entiendan.
10
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
El protocolo de comunicación, suele ejecutarse bajo el entorno Windows o Linux, y puede lanzarse con el software denominado TELNET. Éste es el software que permite la conexión entre terminales mediante el protocolo de comunicaciones TCP/IP. Sirve para conectarse a cualquier equipo que esté identificado con una dirección IP determinada.
W S En primer lugar, teclear la palabra “telnet” desde “Ejecutar” seguido de la dirección IPW E del servidor Unix/Linux. En versiones Windows 2000/XP, automáticamente aparece . ventana de comando, tipo DOS, en la que hay que teclear los datos de la conexiónW L una se va a llevar a cabo. Si en “Ejecutar” introducimos solamente la palabra telnet, a Y que continuación deberemos escribir la dirección IP del servidor al que vamos a conectar. . E C C J . L P A A P L . J C C E . Y W Tras ejecutar Telnet con la dirección IP (comando de conexión) el usuario recibe delL . servidor la petición de Se introduce la identificación y aE W continuación solicitará el Hay que tener en cuenta que Unix diferencia S entre mayúsculas y minúsculas, por lo tanto no sería lo mismo escribir Usuario01 que W usuario01. Por seguridad, al introducir la contraseña no aparece ningún carácter en la login o Linux login. password.
pantalla (ni siquiera asteriscos).
W S Después de introducidos estos datos el sistema cargará un Shell para ese usuario yW E . el símbolo del sistema o , que dependerá del tipo de Shell asignado. L aparecerá Normalmente es el símbolo “$” para usuarios normales y “#” para elW Y superadministrador o root. .E C C J . L P A A P L . J C C E . Y W L . E W S W promot
11
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
PRIMERA CONEXIÓN A LINUX Puede pasar que el usuario que se conecta por primera vez no tenga contraseña por que el administrador lo haya decidido así. En este caso el propio usuario podrá asignarse una clave de acceso utilizando el comando passwd. De esta manera una vez aparecido el prompt del sistema $ y tras introducir el comando passwd aparecerán los siguientes mensajes: $ passwd Pass wd: changi ng pass wor d f or user X Ol d pass wor d: New pass wor d: Re- ent er new pass wor d: Passwor d Changed
Lógicamente, lo primero que está pidiendo es la contraseña antigua, de esta manera evita que cualquier persona pueda cambiar las claves de los usuarios. Tras esto se teclea la clave nueva dos veces, de esta manera se asegura de que no hayamos cometido errores al escribirla.
2.3 ESTRUCTURA DEL SISTEMA UNIX/LINUX La estructura de Unix/Linux es jerárquica en forma de árbol invertido. Se parte de un directorio principal root, representado por el carácter “/”. Este directorio puede contener otros directorios o archivos que dependan de él. Un nombre de archivo en Linux puede ser casi cualquier secuencia de caracteres, y se considera que dos nombres de archivo son iguales si coinciden en los primeros catorce caracteres. Durante la instalación se crean una serie de directorios con las ficheros que conforman el sistema operativo UNIX. / Como hemos visto es el directorio raíz del sistema de ficheros UNIX/LINUX y a su vez es el directorio al que accede el administrador del sistema (root ) cuando se conecta al sistema. /home Directorios privados de los usuarios /sbin Comandos reservados para el administrador del sistema y programas utilizados durante la inicialización del sistema /dev Ficheros de dispositivos (device files) que representan los componentes de hardware
12
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
/etc Ficheros de configuración del sistema /usr/bin Comandos públicos
S E /usr/sbin Comandos reservados para el administrador del sistema. . L /sbin/init.d Script de arranque Y /usr/inelude Ficheros de encabezamiento para el compilador de C C J ./usr/share/doc Ficheros de documentación. P /usr/man Ficheros de ayuda en línea A /usr/src Fuentes del software del sistema. L /usr/src/linux Funentes del kernel C E ./tmp Ficheros temporales /usr Aplicaciones y comandos para el usuario W /var ficheros de configuración W /var/adm Administración del sistema W /bin Comandos necesarios durante el arranque del sistema.
/varllog Ficheros de registro
/proc El sistema de ficheros de los procesos
S /opt Software opcional, paquetes grandes (KDE ... ) E . L Y 2.4 ARCHIVOS Y DIRECTORIOS C Para los nombres de archivos se puede utilizar cualquier carácter excepto /, aun que es J .conveniente no utilizar caracteres especiales, acentos etc. P Es muy importante destacar que en Unix/Linux los nombres de archivo son diferentes en A mayúscula y en minúscula. Es recomendable utilizar sólo minúsculas. L Los directorios de Linux son archivos especiales cuya función es la de almacenar archivos u C otros directorios. E . W W W
W W W .E C L A P . J C Y L .E S W W W .E C L A P . J C Y L .E S
13
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
TIPOS DE ARCHIVOS EN LINUX Existen básicamente 4 tipos de archivos en Linux: Archivos ordinarios: contienen la información con la que trabaja cada usuario. Enlaces físicos: En realidad es sólo un segundo nombre asignado a un archivo. Enlaces simbólicos: Se utilizan para asignar más de un nombre a un archivo. Un vínculo
simbólico es un archivo que sólo contiene el nombre de otro archivo. Directorios: Son archivos especiales que contienen referencias a otros archivos. Archivos especiales: Suelen representar dispositivos físicos como unidades de
almacenamiento, impresoras etc.
2.5 PERMISOS Y DERECHOS En Unix/Linux, los permisos o derechos que los usuarios pueden tener sobre determinados archivos contenidos en él o en los ordenadores principales se establecen en tres niveles: Permisos del propietario. Permisos del grupo. Permisos del resto de usuarios
El propietario es el usuario que genera o crea un archivo dentro de su directorio de trabajo en un directorio sobre el que tenga derechos. Cada usuario tiene la potestad de crear los archivos que quiera dentro de su directorio de trabajo. Lo normal es que cada usuario pertenezca a un grupo de trabajo. Así, cuando se gestiona el grupo. Se gestionan todos los usuarios que pertenecen a éste. Por último, también los privilegios de archivos pueden tenerlos otros usuarios que no pertenezcan al grupo de trabajo en el que está integrado el archivo en cuestión. Es decir, a los usuarios que no pertenecen al grupo de trabajo en el que está el archivo, pero que pertenecen a otros grupos de trabajo, se les denomina resto de usuarios del sistema.
14
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
W Para la administración de usuarios, Linux maneja tres ficheros concretos localizados en el S W subdirectorio /etc. E . L W Contiene las cuentas de usuarios y passwords. Y Almacena los grupos. .E C C Fichero (sombra) con función de seguridad para guardar las paswords de los J .usuarios. L P A Sabemos que Linux se trata de un sistema multiusuario y al ser así debe permitir trabajar con A diferentes usuarios usuarios. P L . Si sabemos el passwor, Linux nos permite manejar la cuenta de usuario root (superusuario). A J C C través de esta cuenta accederemos a todo el sistema operativo para poder administrarlo, E .configurarlo y gestionarlo. Una manera rápida de utilizar esta cuenta de superusuario en laY línea de comandos, es teclear la palabra su o sudo (depende de la distro y del shell) delante de W L cada orden. . E W Aun así lo lógico sería trabajar con una cuenta aparte de usuario para evitar complicaciones y S falta de seguridad. W 3. GESTIÓN DE USUARIOS Y GRUPOS
/etc/passwd: /etc/group:
/etc/shadow:
Es decir, en linux aunque seamos una sola persona usando este sistema lo mejor sería usar una cuenta de usuario creada anteriormente con el root (superusuario) y solo acceder a la cuenta del root cuando se precise importante para realizar algún cambio.
W S W E . L W 3.1 GESTIÓN DE USUARIOS Y .E Las cuentas de usuario están compuestas de la siguiente información: C J Nombre de usuario: corresponde al nombre que le damos a la cuenta. Este campo en realidad C .es sólo útil para el usuario, y no para la máquina. L P A USER ID: es el número que identifica a cada usuario. Cada usuario tiene uno diferente. A P L Group ID: es la identificación, número, del grupo por defecto del usuario. . J C Clave: es una clave encriptada que el sistema almacena de cada usuario. C E .Nombre completo: es el nombre real y completo del usuario (nombre y apellidos). Al igual que Y el nombre sólo es útil para el usuario. W L . E Directorio inicial: este campo almacena el directorio donde el sistema debe colocar al usuario W S al conectarse. Generalmente “home/usuario”. W
15
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
Intérprete de inicio: contiene la información del interprete que debe ejecutar el sistema cuando el usuario se conecte. Toda esta información se encuentra en el fichero passwd (/etc/passwd) en el siguiente formato: Nombre:clave:UID:GID:nombrecompleto:dir.ini:interprete
En el fichero passwd localizado en el directorio etc (/etc/passwd) se encuentra toda esta información almacenada.
AÑADIR USUARIOS El comando que se utiliza para añadir usuarios es “useradd ” y su sintaxis es la siguiente: useradd - [ c] [ d] [ e] [ g/ G] [ m] [ p] [ s] [ u] opci ones
- c: coment ar i o o nombr e compl et o - d: di r ect or i o home por def ect o. - e: f echa en l a que se deshabi l i t a l a cuent a YYYY- MM- DD - g: gr upo i ni ci al , t i ene que haber si do cr eado ya. - G: Li st a de gr upos supl ement ar i os separ ados por comas y si n espaci os en bl anco a l a que t ambi én per t enece el usuar i o. - m: Cr ea el di r ect or i o home y copi a l os f i cher os cont eni dos en / et c/ skel ( f i cher os de i ni ci al i z aci ón) . - p: cl ave de ent r ada - s: nombr e y r ut a del shel l - u: nombr e numéri co que i dent i f i ca al usuar i o. Debe de ser úni co si no se especi f i ca l a opci ón o. Del 0- 99 est án r eser vados.
MODIFICAR USUARIO El comando que se utiliza para modificar usuarios es “usermod ” y su sintaxis es la siguiente: usermod - [ c] [ d] [ e] [ g/ G] [ m] [ p] [ s] [ u] [ f ] [ r ] opci ones - c: coment ar i o o nombr e compl et o - d: di r ect or i o home por def ect o. - e: f echa en l a que se deshabi l i t a l a cuent a YYYY- MM- DD - g: gr upo i ni ci al , t i ene que haber si do cr eado ya. - G: Li st a de gr upos supl ement ar i os separ ados por comas y si n espaci os en bl anco a l a que t ambi én per t enece el usuar i o.
16
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
- m: Cr ea el di r ect or i o home y copi a l os f i cher os cont eni dos en / et c/ skel ( f i cher os de i ni ci al i z aci ón) .
W S W E . L W Y .E C C J . L P 3.2 GESTIÓN DE GRUPOS A A Los grupos tienen la función de facilitar la tarea del administrador. Por ejemplo, si creamos unP L . grupo, éste tiene asignados unos permisos, a la hora de añadir los usuarios en ese grupo por J C defecto estaríamos a su vez dando a los usuarios los permisos del grupo (los heredarían) de C E .manera que el administrador no tendría que poner los permisos a cada usuario uno por uno. Y W L . E W AÑADIR UN GRUPO S W Comando: groupadd - p: cl ave de ent r ada
- s: nombr e y rut a del shel l
- u: nombr e numéri co que i dent i f i ca al usuar i o. Debe de ser úni co si no se especi f i ca l a opci ón o. Del 0- 99 est án reser vados. - f : nombr e compl et o o coment ar i o - r : ext ens i ón
Sintaxis: gr oupadd - g gi d [ - o] nombr e
S E . L Y C MODIFICAR UN GRUPO J .Comando: groupmod P Sintaxis: A LNos pemite cambiar el identificador de usuario o el nombre del grupo. C E .ELIMINAR UN GRUPO Comando: groupdel W Sintaxis: W Elimina un grupo en el fichero etc/group/ siempre que no tenga usuarios en: /etc/passwd W
gi d: val or numéri co i dent i f i cador del gr upo. Del numero 0- 99 est án r eser vados por el si st ema. Debe ser val or úni co y posi t i vo. o: se puede cr ear un gr upo con el gi de ot r o. Est e comando sol o l o puede ut i l i z ar el admi ni s t r ador , s i no se es pec i f i c a l a opc i ón g: asi gna el si st ema al si gui ent e.
groupmod [ - g gi d [ - o] ] [ - n gr upo] nombre
gr oupdel
W W W .E C L A P . J C Y L .E S
17
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
4. SERVICIOS, OPERACIONES Y COMANDOS BÁSICOS
4.1 ALGUNOS SERVICIOS Y OPERACIONES EN LINUX Linux ofrece multitud de servicios o servidores, que o bien pueden arrancar junto con la carga del sistema o bien pueden después ser puestos a funcionar cuando se requieran (es lo mejor). Una parte esencial de la administración de sistemas Linux es continuamente trabajar con los servicios que este proporciona, cosa que es bastante sencilla. Trabajar con estos servicios requiere aprender a iniciarlos, pausarlos, reiniciarlos o pararlos cuando sea necesario. MANUALMENTE:
Se hace a través del directorio init.d . Esta carpeta está ubicada en /etc o en /etc/rc.d dependiendo de la distro. Se trata de una serie de scripts que permiten iniciar/detener la gran mayoría de los servicios o servidores que están instalados en el equipo. Estos scripts reconocen una serie de argumentos autodescriptivos como son start, stop, restart, status. Un ejemplo sería el siguiente: #> / et c/ i ni t . d/ apache2 r est ar t
Con este comando reiniciamos el servicio “Apache”.
EL COMANDO SERVICE
En algunas distribuciones, como Fedora o RedHat, existe el comando service, este comando permite también iniciar y/o detener servicios. Funciona igual a como si escribiéramos la ruta completa hacía el directorio init.d. #> ser vi ce mysql st at us Checki ng f or ser vi ce MySQL: st opped
Con el comando anterior revisamos el estado del servicio MySQL.
DESDE EL ARRANQUE DEL SISTEMA
En muchos casos conviene que un servidor o servicio inicien junto con el arranque del equipo en si, por ejemplo el servidor web Apache o alguna base de datos, con el fin de que estén disponibles todo el tiempo y que no sea necesaria la intervención del administrador para iniciarlos.
18
Promoción Interna de Técnico de Soporte Informático
Técnico de Soporte informático
TEMA 16
AMBIENTES GRÁFICOS
S E . L Y C J .4.2 COMANDOS BÁSICOS P A L C E . W W W
W W W .E C L A P . J C Y L .E S
En todas las distribucciones actuales en sus ambientes gráficos X Window incluyen herramientas de configuración se servicios que facilitan mucho la administración de servidores. En una misma pantalla con un click indicar si el servicio arranca o se detiene, incluso iniciarlos o detenerlos en ese momento, todo vía gráfica.
Comando
Tabla de comandos Descripción
Ejemplos y comentarios
man c o m a n d o
Muestra el manual de un comando, útil para aprender a utilizar sus argumentos
man man
mc
Explorador de archivos que incluye su propio editor, mcedit. Es necesario instalarlo
sudo mc
cd nom_directorio
Cambia de directorio
cd sólo va a tu home
cd ..
Sube un nivel de directorios
Si estabas en /home/usuario/ pasas a /home/
cd -
Vas a la ubicación donde estabas antes
si desde /home/usuario haces cd /etc/X11 y luego cd vuelves a /home/usuario
cp archivo1 archivo2
Copia archivo1 como archivo2 (nuevo nombre) manteniendo el original
cp archivo /directorio
Copia archivo en directorio manteniendo nombre y el original
ln archivo1 /directorio/archivo2
Hace copias enlazadas (ambos archivos se actualizan en cuanto uno se guarda)
mv archivo1 archivo2
Renombra archivo1 en archivo2
mv archivo /directorio
Mueve archivo dentro de directorio
rm archivo
Borra archivo
rm -rf directorio
Borra el directorio con todo lo que tenga dentro sin pedir confirmación
mkdir nom_directorio
Crea directorio nom_directorio
rmdir nom_directorio
Borra directorio nom_directorio
kill -9 PIDnumber
Mata el proceso numberPID que queramos (finaliza su ejecución)
kill -STOP numberPID
Para hasta nueva orden el proceso numberPID
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
Si pones la opción -s crea un acceso directo en lugar de una copia.
Si el nombre de la carpeta es compuesto, poner entre comillas
kill -HUP numberPID Hace lo mismo
19
Promoción Interna de Técnico de Soporte Informático
TEMA 16
kill -CONT NumberPID
Continúa el proceso numberPID parado anteriormente
killall processname
Mata el proceso con ese nombre
ls
Lista los archivos de un determinado directorio
ls -l
Lista también las propiedades y atributos
ls -a
Lista todos los archivos, incluidos los ocultos y los del sistema
cat fichero
Muestra el contenido de un fichero
less
Muestra la salida estándar de forma paginada
less fichero
Muestra el contenido de un archivo de forma paginada
more
Muestra la salida estándar de forma paginada
more fichero
Muestra el contenido de un archivo de forma paginada
zcat fichero
Muestra el contenido de un archivo comprimido (.gz)
zmore fichero
Muestra el contenido de un archivo comprimido (.gz)
zless fichero
Muestra el contenido de un archivo comprimido (.gz)
echo cadena
echo nos muestra en pantalla el texto que le diga
grep 'cadena' archivo
Muestra las líneas del archivo que contienen la cadena
file archivo
Muestra el tipo de un archivo determinado
head archivo
Muestra las primeras líneas de un archivo, 10 por defecto
tail archivo
Muestra las últimas líneas de un archivo, 10 por defecto
tail -fn 200 archivo
Muestra las últimas 200 líneas de un archivo y sigue agregando mientras crece
find directorio -name nom_archivo -print
Busca todos los archivo con el nombre especificado en un directorio determinado
find /home/usuario name *.jpg -print
Busca todas las imágenes .jpg en /home/usuario
whereis ejecutable
Busca binarios ejecutables (ejemplo: whereis find)
type comando
Muestra la ubicación del ejecutable perteneciente al comando indicado
pwd
Visualiza el directorio actual o de trabajo
history
Muestra el listado de comandos usados por el usuario
Técnico de Soporte informático
Poniendo solo ls mostrara los archivos del directorio actual
cat /home/NOMBRE_USUARIO/YO/prueba.php
20
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
(~/.bash_history) ps -aux
S E . L Y C J . P A L C E . W W W
Lista de los programas que se están ejecutando actualmente con su PID (Process IDentifier)
df
Muestra el espacio libre en el disco duro
top
Muestra los procesos que más CPU consumen en tiempo real, así como la memoria RAM y swap usada, entre otra información
halt
Apaga el equipo
reboot
Reinicia el equipo
shutdown -h now
Apaga el equipo
shutdown -r now
Reinicia el equipo
passwd
Cambia la contraseña del usuario
ps -ef l grep nombre_proceso
Lista los procesos que se estén ejecutando con que contengan la cadena nombre_proceso
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
El comando ps -ef es redireccionado por medio de una pipe (Alt Gr+ 1) y fitrado con grep por la palabra que le sigue a grep
W W W .E C L A P . J C Y L .E S
21
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
5. SUPERVISIÓN DE LOGS El sistema de logs de Linux (LOG = REGISTRO), es un componente estándar encargado de recoger los mensajes generados por los programas, aplicaciones y demonios (procesos que se ejecutan en segundo plano) y enviarlos a un archivo predefinido. Cada mensaje está compuesto por la fuente (aplicación que generó el mensaje), la prioridad (nivel de importancia del mensaje), la fecha y la hora. Hay varios niveles de prioridad de los mensajes (de menos a más prioritario: debug, info, notice, warning, warn, err , error , crit , alert , emerg y panic) y varios tipos de mensajes (auth, authpriv , cron, daemon, kern, lpr , mail , mark , news, security , syslog, user , uucp y local0local7 ).
El SISTEMA DE LOGS arranca con el script /etc/init.d/sysklogd , y tiene dos demonios:
syslogd: gestiona los logs del sistema. Distribuye los mensajes a archivos, tuberías, destinos remotos, terminales o usuarios, usando las indicaciones especificadas en su archivo de configuración /etc/syslog.conf , donde se indica qué se loguea y a el lugar donde se envían estos logs. klogd: encargado de los logs del kernel. Lo normal es que klogd envíe sus mensajes a syslogd pero no tiene por qué ser así, sobre todo en los eventos de prioridad alta, que aparecen directamente por pantalla. Los logs se almacenan en archivos ubicados en el directorio /var/log, aunque la mayoría de programas manejan sus propios logs y los guardan en /var/log/. Además, es posible especificar diferentes destinos para un mismo mensaje. Algunos de los log más importantes son: /var/log/messages: aquí encontraremos los logs que llegan con prioridad info (información), notice (notificación) o warn (aviso). /var/log/kern.log: este archivo almacena los logs del kernel, generados por klogd . /var/log/auth.log: en este log se registran los login en el sistema, las veces que tecleamos su, etc. Los intentos fallidos se registran en líneas con información del tipo invalid password o authentication failure. /var/log/dmesg: en este archivo se almacena la información que genera el kernel durante el arranque del sistema. Podemos ver su contenido con el comando dmesg.
22
Promoción Interna de Técnico de Soporte Informático
TEMA 16
Técnico de Soporte informático
BIBLIOGRAFÍA
TÉCNICO EN SEGURIDAD DE REDES Y SISTEMAS. Neptunos Formación.
S E Manual Linux 9. Grupo Garben. . L Y C J . P http://www.linuxes.org/ A L http://www.es.redhat.com/ C http://fedoraproject.org/es/ E . http://www.mandriva.com/es/ W http://www.debian.org/ W http://www.ubuntues.org/ http://es.opensuse.org/ W http://www.gentoo.org/
MUÑOZ F.J. Sistemas Informáticos Monousuario y Multiusuario. Mc Graw Hill
PÁGINAS WEB CONSULTADAS
www.es.gnome.org/
S E . L Y C J . P A L C E . W W W
www.kde.org/
W W W .E C L A P . J C Y L .E S W W W .E C L A P . J C Y L .E S
23