[es] administración de usuarios, procesos y servicios en gnu/linux

63
Administración de Usuarios, Procesos y Servicios en GNU/Linux Diplomado en Software Libre Eudris Cabrera Rodríguez @eudriscabrera @eudriscabrera 08 Marzo 2014, Santiago de los Caballeros, R. D.

Upload: eudris-cabrera

Post on 13-Jun-2015

876 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Administración de Usuarios, Procesos y Servicios en

GNU/Linux

Diplomado en Software Libre

Eudris Cabrera Rodríguez

@eudriscabrera @eudriscabrera

08 Marzo 2014, Santiago de los Caballeros, R. D.

Page 2: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Todas las marcas registradas, así como todos los logotipos, imágenes, fotografías, audio y vídeos mostrados en esta presentación son propiedad de sus respectivos propietarios.

Su utilización es solamente para fines ilustrativos y no pretendo dar a entender cualquier afiliación con esas empresas.

Los conceptos y juicios de valor emitidos en esta presentación son responsabilidad personal y no se puede entender como una posición oficial de alguna empresa con la que he tenido relación laboral.

Asuntos Legales

Page 3: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Agenda

1- Administración de Usuarios y Grupos❏ Comando su❏ Comando passwd❏ Crear y remover cuentas usuarios❏ Trabajar con grupos❏ Cambiar permisos, usuarios y grupos

2- Procesos❏ Comandos útiles para identificar procesos❏ logs del sistema y memoria

3- Administración de Red4- Servicios

❏ Servicios de conexión remota

Page 4: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Objetivos

❖ Aprender los conceptos fundamentales para la administración de

usuarios y grupos.

❖ Aprender a identificar procesos y auditar logs del sistema.

❖ Conocer los servicios más importantes para la conexión remota

Page 5: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Administración de Usuarios y Grupos

Page 6: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Provee la capacidad de ejecutar tareas con los credenciales de un usuario diferente del que usted se encuentra ingresado en el sistema actualmente .

Es usado en un contexto de dos maneras diferentes:

1. Cuando se encuentra como un usuario y necesita hacer una tarea como root.

2. Cuando es root y necesita disfrazarse como otro usuario.

Sintaxis: $ su nombre-usuario

Comando su

Page 7: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Usted no debe ejecutar sus tareas de día a día desde la cuenta de root, ya que amenaza su sistema completo.

Si necesita ejecutar una tarea administrativa, usted puede salir de la cuenta en que se encuentran e ingresar de nuevo al sistema como root.

Mientras esté ingresado como root, ejecute sus tareas y cuando termine salga de la cuenta del superusuario y reingrese con su usuario y continué trabajando.

Page 8: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Toda la información acerca de la cuenta de los usuarios se incluye en /etc/passwd y en un formato específico.

Campos Contenidosusername Nombre único del usuario en el sistema password Contraseña encriptada del usuario user ID (UID) Número único usado por el SO para identificar el usuario group ID (GID) Número único para el SO identificar el grupo del usuario comment Nombre del usuario, teléfono, dirección, etc.user’s homedir Directorio en el cual el usuario es colocado al ingresarlogin command Comando ejecutado al ingreso del usuario; usualmente un shell

El archivo passwd

Cada línea en el archivo /etc/passwd debe contener siete campos.

Aunque algunos de estos campos campos pueden estar vacíos, deben ser definidos por sus dos puntos.

Page 9: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Las contraseñas se cambian usando el comando passwd. Los usuarios sólo pueden cambiar su propia contraseña, pero el root puede cambiar todas las contraseñas.

Sintaxis: $ passwd [usuario]

Comando passwd

Cuando un usuario cambia su propio password, el no necesita especificar su nombre de usuario; pero, si se le pedirá en el prompt que de su contraseña anterior antes de ingresar la nueva.

Cuando es root que cambia el password de un usuario, debe especificar el nombre del usuario pero no tiene que saber la contraseña presente del usuario.

Page 10: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

El comando chpasswd lee desde un archivo que contiene la combinación de nombre de usuario y contraseña separado por dos puntos nombre :contraseña con un nombre de usuario por línea.

Por defecto, el comando chpasswd encripta las contraseñas antes de almacenarlas.

Sin embargo, podemos proveer la contraseña en un formato encriptado y usamos la opción -e , opción que previene de que chpasswd no ejecute ningún tipo de encriptación.

Comando chpasswd

En el archivo /etc/login.defs, se define número de caracteres, cuando expiran,etc.

Page 11: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Si el campo de contraseña en su archivo /etc/passwd es una x, su sistema usa un archivo shadow password.

Este archivo contiene el nombre del usuario y su contraseña encriptada. además también contiene otras informaciones de la contraseña, como es cuando caduca o expira.

Contraseñas shadow

Page 12: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Estos son los campos disponibles en el archivo /etc/shadow:

1. Nombre del Usuario2. Contraseña encriptada3. Número de días desde Ene . 1, 1970, y último cambio de la contraseña.4. Tiempo Mínimo que usuario puede permanecer sin cambiar la contraseña.5. Tiempo Máximo que usuario puede permanecer sin cambiar la contraseña6. Cuántos días de advertencia antes de que la contraseña del usuario expira.7. Cuantos días esperar para deshabilitar cuenta después que contraseña expire.8. Fecha de expiración de la cuenta en número de días desde Ene . 1, 1970

Contraseñas shadow

Page 13: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Al usar contraseñas shadow , el campo de la contraseña no se puede dejar vacío.

Para prevenir que un usuario cambie su password, haga que la fecha mínima de caducar de la contraseña sea mayor que la fecha máxima.

Contraseñas shadow

Page 14: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Hay diferente maneras de crear cuentas de usuarios, muchas distribuciones proveen sus propias herramientas de hacer esta tarea administrativa.

Fundamentalmente usted debes dominar dos métodos:Manualmente editar el archivo /etc/passwd y usar el comando useradd.

Crear usuarios

Para un usuario ingresar a un sistema GNU/Linux necesita un nombre de usuario y un directorio home.

Todo lo otro es agregado a la cuenta por otras razones, como usar contraseñas por razones de seguridad del sistema.

Page 15: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Nuevas cuentas de usuarios pueden ser creadas editando el archivo /etc/passwd y entonces usando el comando passwd para asignar la contraseña a la recién creada cuenta.

También será necesario crear el directorio home del usuario y asignarle los permisos apropiados al directorio antes de esto el usuario no podrá ingresar al sistema.

Editar el archivo /etc/passwd

Page 16: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Una manera más conveniente de agregar cuentas de usuarios al sistema que administra es con el comando useradd.

Sintaxis:

$ useradd [nuevo-usuario]

Se usarán los valores por defecto del directorio home y comando de login del sistema al menos que usted especifique otros.

Comando useradd

Page 17: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Para desplegar los valores por defecto, escriba useradd -D sin ningún nombre de usuario como argumento.

La salida será similar a la siguiente :

GROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/shSKEL=/etc/skelCREATE_MAIL_SPOOL=no

Use la opción -d para especificar el directorio home y -s para cambiar el comando al ingresar al sistema.

Use -m para que el useradd cree el directorio home y copie los archivos por defecto del esqueleto (/etc/skel).

La opción -k le permite especificar dónde se encuentran los archivos de esqueleto si no es en la posición por defecto de /etc/skel.

Use -c para asignar valore s al campo de comentario y -e para especificar una fecha de expiración.

Page 18: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Después de creada la cuenta de usuario podemos modificar cualquiera de los campos del archivo /etc/passwd con el comando usermod.

Opciones usadas con usermod para modificar los campos del archivo /etc/passwd.

Opción Campo -l <username> Nombre de usuario -u n UID; use -o si no es única al sistema -g n Grupo de Login -c “información” Comentarios -d <path/dir> Directorio Home; use -m para copiar de uno al otro directorio -s <path/shell> Shell de Login

Comando usermod

Page 19: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Usted no puede cambiar el nombre del usuario si está actualmente ingresado en el sistema.

Además, deberá cambiar el nombre del directorio home al nombre del nuevo usuario. Cambiar el nombre no es necesario siempre y cuando el directorio home del usuario ya exista.

Comando usermod

Page 20: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Cuando un usuario ya no requiere acceso a su sistema, usted debe remover su cuenta, archivos, y cualquier tarea programada de crontab o at (jobs) que tenga programada.

Para remover el usuario manualmente , siga los siguientes pasos:

1. Remueva la línea del usuario del archivo /etc/passwd.2. Remueva el directorio home del usuario.3. Busque y elimine los archivos del usuario que se encuentran fuera de su home .4. Elimine el correo y los alias de correo del usuario.5. Elimine los trabajos (jobs) que el usuario ha programado.

Remover cuentas de usuarios

Page 21: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Una manera mucho más fácil de ejecutar esta tarea de eliminar los usuarios es usar el comando userdel.

Sintaxis: $ userdel [opción] nombre-usuario

Si ejecuta el comando userdel sin opciones se elimina la entrada del usuario del archivo /etc/passwd y otros archivos del sistema pero no borra el directorio home.

Remover cuentas de usuarios

Use la opción -r para también eliminar el directorio home.

También tendrá que eliminar manualmente los archivos que no se guardaron dentro del directorio home .

Page 22: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Si desea deshabilitar una cuenta de usuario en vez de eliminarla, simplemente agréguele un asterisco (*) al principio del campo de la contraseña del usuario e n el archivo /etc/passwd.

No cambie la contraseña ya encriptada, esto va a evitar que el usuario ingrese .

Cuando quiera reactivar la cuenta, simplemente remueva el asterisco y entonces el usuario podrá ingresar al sistema.

Deshabilitar cuentas de usuarios

Page 23: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Cuentas especiales de usuarios

Propósito

Superusuario del sistema Dueño y establece los permisos en los procesos del sistemaDueño de ejecutablesDueño de ejecutablesDueño de los archivos de los diarios (logs)Usado para el acceso UUCP

Nombre-usuario

rootdaemonbin sys adm uucp

Page 24: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Otras cuentas del sistema controlan los procesos como el correo, ftp, noticias, y demás.

Nunca debe cambiar las entradas de estas cuentas ya que podría desestabilizar su sistema y hasta causar su total fracaso (System Failure ).

Puedes comprobar que estas cuentas tienen un asterisco (*) en el campo de la contraseña de la cuenta en el archivo /etc/passwd para prevenir que nadie ingrese al sistema usando el nombre de usuario de estas cuentas.

Cuentas especiales de usuarios

Page 25: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Los grupos se usan para organizar a los usuarios y establecer permisos a archivos y directorios.

Los grupos se crean basado en la necesidad de que todos acceden ciertos archivos. En alguna ocasión, es necesario crear un grupo para que tengan acceso a dispositivos específicos, por ejemplo, redes o impresoras.

Crear grupos ayuda a simplificar su trabajo.

Grupos

Page 26: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Campo ContenidosGroupname Nombre del grupo debe ser único y puede ser hasta de ocho caracteresPassword Contraseña se puede digitar, normalmente en blanco o un asteriscoGroupID Usada por el sistema debe ser únicaMembers Listado de los usuarios, separado por coma, son miembros de un grupo

El archivo /etc/group

Cada línea del archivo /etc/group tiene cuatro campos, cada uno separado por dos puntos (:).

Si un campo se deja vacío, aún tenemos que colocar los dos puntos.

El archivo /etc/group define cada grupo y sus miembros y tiene un formato similar al del archivo /etc/passwd.

Page 27: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Al momento que un usuario intenta acceder a un archivo, el sistema operativo realiza los siguientes pasos.

1. Revisa si es el propietario de ese archivo.2. Si no lo es, revisa si el usuario es miembro del grupo asociado.3. Si el usuario pertenece al grupo apropiado, recibe el nivel de acceso

definido a ese grupo.4. Si el usuario no es miembro del grupo, entonces recibe los niveles de

permisos asignados a todos los otros.

Page 28: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Identificar su grupo

Todo y cada usuario del sistema debe pertenecer por lo menos a un grupo.

Si sólo existe un grupo, agregue a todos sus usuarios a este grupo.

Los usuarios pueden pertenecer a muchos grupos; sin embargo, sólo un número de GID puede ser asociado con un usuario en cualquier momento.

Page 29: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

El grupo por defecto de cada usuario está definido en el archivo /etc/passwd.Para obtener información sobre los grupos disponibles utilizamos los siguientes comandos:

$ id Grupo por defecto del usuario actual$ groups Todos los grupos del cual el usuario es miembro,

pero no indica cual es el grupo por defecto.$newgrp nombre-grupo Cambiar el grupo por defecto al que pertenece.

Puedes ejecutar el comando newgrp sin argumentos para cambiar a su grupo por defecto al login como es definido en el archivo /etc/passwd.

Page 30: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Trabajar con grupos

Se crean nuevos grupos o directamente editando el archivo /etc/group o usando un utilitario que cree la entrada.

Cuando editamos el archivo /etc/group, se agrega una línea por cada grupo.

También podríamos en vez de digitar manualmente esta línea haber usado el utilitario groupadd para haber creado este nuevo grupo.

Page 31: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Comando groupadd

Sintaxis :groupadd [opciones] nombre-grupo

El comando groupadd crea el grupo pero no le agrega usuarios al grupo.

Tendrá que ingresar los miembros del grupo de otra forma. Esto se puede llevar a cabo o editando manualmente el archivo /etc/group o usando el comando gpasswd con la opción -a.

Page 32: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Comando gpasswd

Si establecemos una contraseña a un grupo, los usuarios que no son miembros tendrán que aportar la contraseña si desean hacer membresía en el grupo.

El comando gpasswd también se usa para cambiar la contraseña del grupo si le pasamos el nombre del grupo como argumento único.

Sintaxis:gpasswd [opciones] <usuario> grupo

El comando gpasswd también se usa para cambiar la contraseña del grupo si le pasamos el nombre del grupo como argumento único.

-R Previene el uso del comando newgrp para agregarse al grupo-a username Agrega al usuario nombrado al grupo-d username Remueve al usuario nombrado del grupo-A username Establece al usuario nombrado un administrador del grupo-r Remueve el password al grupo

Page 33: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Modificar y eliminar grupos

Puede cambiar el nombre o el GID del grupo editando el archivo /etc/group o usando el comando groupmod.

Sintaxis: groupmod [opciones] nombre-del-grupo

Use la opción -n nombre para cambiar el nombre del grupo o la opción -g GID para cambiarle el GID.

Page 34: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Para eliminar un grupo, podemos editar el archivo /etc/group manualmente en un editor de nuestra preferencia y remover la línea deseada.

Debes tomar en cuenta los siguientes pasos:

1. Revise el archivo /etc/passwd y verifique que ningún usuario tiene el grupo eliminado como su grupo de login. Los usuarios en que este sea el caso no podrán ingresar al sistema (log in).

2. Busque todos los archivos y directorio que tiene este grupo como su grupo dueño. Si usted no corrige esto, puede ser que los archivos se tornan inaccesibles.

Page 35: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Antes de eliminar un grupo revise que el archivo /etc/passwd, para asegurarse que ningún usuario tiene este grupo designado como su grupo de ingreso (login group).

En caso de existir, tendrá que cambiar el grupo de login por defecto para ese usuario antes de eliminarlo.

También podemos usar el comando group desde la línea de comando.

Sintaxis: groupdel nombre-del-grupo

Esta sentencia borraría la línea referente a este grupo desde el archivo /etc/group.

Si intentas ejecutar este comando a un grupo que está designado a cualquier usuario como su grupo login, el comando fallará.

Page 36: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Grupos del sistemaGrupo Funciónroot Dueño de la mayoría de los archivos del sistema.daemon Dueño del correo, impresoras, y otros software y directorios.kmem Administra acceso directo a la memoria del kernel.sys Dueño de algunos archivos del sistema, swap, y imágenes de memoria; puede trabajar similar al grupo kmemnobody Dueño de software que no necesita permisos especialestty Dueño de archivos de dispositivos que controlan los terminales

Grupos del sistema

El sistema crea un número de grupos como los son bin, mail, sys, adm, entre otros.No le agregue usuarios a estos grupos ya que esta Acción le concede derechos globales en todo el sistema.

Los grupos del sistema sólo deben tener como miembros cuentas de usuarios del sistema.

Los grupos se definen en el archivo /etc/groups.

Los comandos disponibles para manipular y administrar grupos son groupadd, groupdel, groupmod, y gpasswd.

Page 37: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Cambiar permisos, usuarios y grupos

Para remover los permisos de ejecución a grupos y otros basta con usar: $ chmod g-x,o-x archivo

si deseas remover usuario el permiso de escritura: $ chmod u-x archivo

Agregando y removiendo dos permisos a la vez: $ chmod u-x+w archivo

Page 38: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Permisos en formato numérico octal

La combinación de valores de cada grupo de los usuarios forma un número octal, el bit x es 20 es decir 1, el bit w es 21 es decir 2, el bit r es 22 es decir 4, tenemos entonces:

r = 4 w = 2 x = 1

La combinación de bits encendidos o apagados en cada grupo, dá ocho posibles combinaciones de valores, es decir la suma de los bits encendidos.

- - - = 0 No se tiene ningún permiso- - x = 1 Solo permiso de ejecución- w - = 2 Solo permiso de escritura- w x = 3 Permisos de escritura y ejecuciónr - - = 4 Solo permiso de lecturar - x = 5 Permisos de lectura y ejecuciónr w - = 6 Permisos de lectura y escriturar w x = 7 Todos los permisos establecidos, lectura, escritura y ejecución

Page 39: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Cuando se combinan los permisos del usuario, grupo y otros, se obtienen un número de tres cifras que conforman los permisos del archivo o del directorio.

Page 40: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Comando chmod

Es fácil cambiar los permisos de cualquier archivo o directorio, usando el comando chmod (change mode).

Sintaxis:chmod [opciones] permisos archivo[s], algunos ejemplos:

$ chmod 755 reporte1 $ chmod 511 respaldo.sh $ chmod 700 julio* $ chmod 644 *

Page 41: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Cambiando propietario y grupo

Con chmod y chgrp, es posible utilizar la opción -R para recursividad.

Una manera rápida para el usuario root de cambiar usuario y grupo al mismo tiempo, es con el mismo comando chown de la siguiente manera:

$ chown juan.gerentes presentación (o en vez de punto, con : puntos)$ chown juan:gerentes presentacion

El propietario del archivo y el grupo al que pertenece, se puede cambiar a través de los comandos chown (change owner, cambiar propietario) y chgrp (change group, cambiar grupo).

Sintaxis:

$ chown usuario archivo[s] y chgrp grupo archivo[s].

$ chown juan presentacion

$ chgrp gerentes presentacion

Page 42: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Permisos preestablecidos con umask

El comando umask establece la máscara de permisos de directorio y de archivos.

Es decir los nuevos directorios y archivos que se crean obtienen el valor de los permisos a partir de los valores de umask.

Para establecer el valor de la máscara, simplemente se usa el mismo comando umask seguido del valor de máscara que se desee:

$ umask 0022

Page 43: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Procesos

Page 44: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Procesos

Los procesos que se encuentren en ejecución en un determinado momento serán, en general, de diferente naturaleza.

Procesos de sistema:Son procesos asociados al funcionamiento local de la máquina y del kernel, o bien procesos (denominados daemons) asociados al control de diferentes servicios, ya sean locales, o de red, porque estamos ofreciendo el servicio (actuamos de servidor) o estamos recibiendo el servicio (actuamos de clientes).

Page 45: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Procesos del usuario administrador: En caso de actuar como root, nuestros procesos interactivos o aplicaciones lanzadas también aparecerán como procesos asociados al usuario root.

Procesos de usuarios del sistema: Asociados a la ejecución de sus aplicaciones, ya sea tareas interactivas en modo texto o en modo gráfico.

Page 46: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Comandos para identificar procesos

ps El comando estándar, lista los procesos con sus datos de usuario, tiempo, identificador de proceso y línea de comandos usada.Una de las opciones utilizada es ps ef, pero hay muchas opciones disponibles (ver man).

topUna versión que nos da una lista actualizada a intervalos.

kill Permite eliminar procesos del sistema mediante el envío de señales al proceso como, por ejemplo, la de terminación kill -9 PID, donde indicamos el identificador del proceso.

Útil para procesos con comportamiento inestable o programas interactivos que han dejado de responder.

Page 47: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Logs del sistema

La mayor parte de los logs se generan en el directorio /var/log, aunque algunas aplicaciones pueden modificar este comportamiento;la mayoría de logs del propio sistema sí que se encuentran en este directorio.

Una modificación simple de este método podría ser introducir, desde un terminal, la instrucción siguiente:

$ tail -f /var/log/messages

El daemon Syslogd es el servicio más importante de obtención de información dinámica de la máquina.

El proceso de análisis de los logs nos ayuda a entender el funcionamiento, los posibles errores y el rendimiento del sistema.

Page 48: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Comandos relacionados

uptime Tiempo que hace que el sistema está activo.

last Analiza log de entradas/salidas del sistema (/var/log/wtmp).

free Informa sobre el estado global de la memoria. Da también el tamaño de la memoria virtual.

vmstat Informa sobre el estado de la memoria virtual, y el uso que se le da.

Page 49: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Servicios

GNU / Linux ofrece multitud de servicios o servidores, estos pueden iniciar o arrancar junto con la carga del sistema o pueden después ser puestos a funcionar cuando se requieran.

Page 50: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Iniciando servicios manualmente

Directorio init.d

Dentro de este directorio ubicado en /etc o en /etc/rc.d dependiendo de la distribución, se encuentran una serie de scripts que permiten iniciar/detener la gran mayoría de los servicios/servidores que estén instalados en el equipo.

Estos scripts están programados de tal manera que la mayoría reconoce los siguientes argumentos: start stop restart status

Los argumentos son autodescriptivos, y tienen permisos de ejecución, entonces siendo root es posible iniciar un servicio de la siguiente manera, por ejemplo samba:

$ /etc/rc.d/init.d/smb start

Page 51: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Comando service

En varias distros, como Fedora o RedHat, existe el comando service, este comando permite también iniciar y/o detener servicios, de hecho funciona exactamente igual a como si escribiéramos la ruta completa hacia el directorio init.d, con service se indica de la siguiente manera:

$ service mysql status

Page 52: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Iniciando servicios (desde el arranque del sistema)

En Linux, a diferencia de otros sistemas operativos, es posible configurarlo en base a niveles de ejecución (run levels), cada nivel de ejecución (en la mayoría de las distros son 7), inicia o detiene (Start o Kill) ciertos servicios.

Estos niveles son los siguientes:

0 Detener o apagar el sistema 1 Modo monousuario, generalmente utilizado para mantenimiento del sistema 2 Modo multiusuario, pero sin soporte de red 3 Modo multiusuario completo, con servicios de red 4 No se usa, puede usarse para un inicio personalizado 5 Modo multiusuario completo con inicio gráfico ( X Window) 6 Modo de reinicio (reset)

Page 53: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Comando init

Este comando te permite cambiar el nivel de ejecución actual por otro, es decir puedes estar en el nivel 3 y en cualquier momento pasar al 5 o viceversa, o entrar a un modo monousuario para tareas de mantenimiento como utilizar fsck.

Esto sin necesidad de cambiar la línea initdefault en /etc/inittab, simplemente usando el comando init:

$> init 3

Page 54: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Directorios rc

Debajo de /etc se encuentra el directorio rc.d que a la vez contiene un directorio para cada nivel de ejecución, así tenemos rc0.d, rc1.d, rc2.d, rc3.d, etc.

Hay algunas distros que estos directorios están ubicados directamente en /etc. Cada uno de estos directorios contienen scripts (o mas bien enlaces a scripts) que apuntan al directorio init.d, entonces el comando init (ya sea ejecutado manualmente o cuando se inicia el sistema), dependiendo del nivel indicado leerá cada uno de los enlaces o accesos directos del directorio respectivo.

Page 55: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Comando chkconfig

Permite configurar que servicios arrancan/detienen en cada nivel de ejecución.

chkconfig no inicia ni detiene servicios al momento (excepto aquellos bajo xinetd), tan solo crea o elimina precisamente los enlaces de los que se habló en el punto anterior de una manera más amigable.

La opción --list nos da una lista de todos los servicios instalados y para cada nivel si arrancará (on) al entrar a este nivel o se detendrá (off) o simplemente no se iniciaron.

Page 56: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Si se indica como argumento el nombre de algún servicio nos regresará su estatus:$ chkconfig smbsmb on

Sin ningún argumento nos dará una lista con el status de todos los servicios:

$ chkconfighttpd offmysql onsmb on

Se desea que el servidor web apache (httpd) inicie cuando se entra en el nivel 5, entonces usamos la opción --level:$ chkconfig --level 5 httpd on

La base de datos MySQL no se desea que inicie en los niveles 3 y 5, solo hasta que el administrador decida arrancarla:$ chkconfig --level 35 mysql off

Page 57: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Servicios sobre TCP/IP

El protocolo TCP/IP es en realidad un conjunto de protocolos básicos que se han ido agregando a principal para satisfacer las diferentes necesidades en la comunicación ordenador-ordenador como son TCP, UDP, IP, ICMP, ARP.

La utilización más frecuente de TCP/IP para el usuario en la actualidad son la conexión remota a otros ordenadores (telnet, SSH Secure Shell), la utilización de ficheros remotos (Network File System NFS) o su transferencia (File Transfer Protocol FTP, Hipertext Markup Protocol, HTTP).

Page 58: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Servicios de conexión remota

Page 59: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Telnet y telnetd

Telnet es un comando (cliente) utilizado para comunicarse interactivamente con otro host que ejecuta el daemon telnetd.

El comando telnet se puede ejecutar como telnet host o interactivamente como telnet, el cual pondrá el prompt “telnet>” y luego, por ejemplo: open host.

Una vez establecida la comunicación, se deberá introducir el usuario y el password bajo el cual se desea conectar al sistema remoto.

Page 60: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Ssh, Secure shell

El protocolo ssh (en su versión OpenSSH) provee de un conexión encriptada y comprimida mucho más segura que, por ejemplo, telnet (es recomendable utilizar la versión 2 del protocolo).

Todas las distribuciones actuales incorporan el cliente ssh y el servidor sshd por defecto.

Para ejecutar el comando, hacer: ssh -l login name host o ssh user@hostname SSH soporta diferentes modos de autentificación (ver man ssh) basados en algoritmo RSA y clave pública.

Utilizando el comando ssh-keygen -t rsa|dsa, se pueden crear las claves de identificación de usuario.

Page 61: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

Referencias

Libros:GNU/Básico : Antonio Perpiñanhttp://codigolibre.org/

Administración Avanzada de GNU/Linuxhttp://www.uoc.edu/masters/oficiales/img/871.pdf

Enlaces:http://blog.desdelinux.net/permisos-basicos-en-gnulinux-con-chmod/http://www.linuxtotal.com.mx/index.php?cont=info_admon_003http://www.linuxtotal.com.mx/index.php?cont=info_admon_011

Page 62: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

¡Gracias por acompañarnos!

Page 63: [ES] Administración de usuarios, procesos y servicios en GNU/Linux

@eudriscabrera

@eudris

@ecabrerar

@eudriscabrera

Eudris Cabrera Rodríguez Ingeniero Telemático

Desarrollador de Software / Consultor Informático

[email protected]