Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mantenimiento y monitorización de un
servidor Linux
Índice
ÍNDICE ............................................................................................................... 1
INTRODUCCIÓN ............................................................................................... 3
PROCESOS ........................................................................................................ 3
Gestión de procesos en modo texto ............................................................. 3
DISPOSITIVOS DE ALMACENAMIENTO .................................................................... 8
ARCHIVOS DE REGISTRO ................................................................................... 12
SSH ............................................................................................................... 13
VNC ............................................................................................................... 14
BIBLIOGRAFÍA ............................................................................................... 39
Introducción
Durante el ciclo de vida de un sistema operativo, es necesario realizar una
correcta monitorización de todos los servicios que está funcionando sobre el
mismo ya que es normal que el rendimiento del sistema se vaya degradando o
simplemente sea necesario añadir nuevas funcionalidades o actualizar las ya
existente.
En esta unidad vamos a estudiar las herramientas básicas que nos van a
permitir controlar el funcionamiento de nuestro sistema operativo
Procesos
Un proceso es un programa en ejecución aunque el concepto de proceso y
programa es diferente ya que un mismo programa, cada vez que se ejecuta,
crea un proceso diferente, es más, puede haber distintos procesos o instancias
del mismo programa ejecutándose a la vez
ps
Informa del estado de los procesos
Sintaxis ps [opciones]
Opciones -A Para ver de todos los procesos las columnas PID, TTY,
TIME y CMD
-ely Estas opciones se usan unidas para ver de todos los
procesos, columnas como PID, PPID, TIME, CMD, NI, RSS,…
Argumentos
pstree
Informa del estado de los procesos de forma jerárquica
Opciones
Argumentos
&
Se utiliza para ejecutar procesos en segundo plano, con lo que el terminal
queda libre para seguir realizando tareas
Opciones
Argumentos
jobs
Muestra los procesos que se están ejecutando en segundo plano así como los
que están suspendidos
Sintaxis jobs
Opciones
Argumentos
kill
Envía información al proceso que le indiquemos. También se puede utilizar
para enviar otras señales a un proceso.
Argumentos
top
Muestra los procesos y otra información sobre el sistema actualizada cada
cierto tiempo, por defecto es cada 3 segundos
Sintaxis top
Opciones
Argumentos
El resto de información nos muestra cada uno de los procesos que se están
ejecutando en ese momento. Esta información es en tiempo real y se irá
actualizando cada 3 segundos. Entre todos los procesos que vemos
podemos ver el proceso asociado al comando “top” que estamos ejecutando.
time
Ejecuta un comando y al terminar muestra información sobre el tiempo que ha
tardado en ejecutarse, los recursos utilizados,…
Opciones
Argumentos
nice
Permite cambiar la prioridad de un proceso antes de su ejecución. Por
defecto, todos los procesos tienen la misma prioridad ante la CPU que es 0.
Las prioridades van desde -20 la más alta a 19 la más baja. Solo root puede
establecer prioridades negativas
Argumentos
renice
Permite cambiar la prioridad de un proceso en tiempo de ejecución, sin
necesidad de detenerlo. Este comando es necesario ejecutarlo como
administrador.
Argumentos
df
Informa de la utilización del espacio de disco en los sistemas de archivos.
Si no se especifica ningún parámetro muestra información de todos los
sistemas de archivos.
Opciones
Argumentos
du
Informa de la cantidad de espacio de disco usada por los archivos
especificados.
Argumentos
mount
Permite montar un dispositivo de almacenamiento en el sistema principal de
archivos
umount
Permite desmontar un dispositivo de almacenamiento del sistema principal de
archivos
Opciones
Argumentos
fdisk
Utilizado para mostrar la tabla de particiones, crear y eliminar particiones
Argumentos
Si tecleamos “m” nos aparecerá el menú con todas las operaciones que nos
permite hacer este comando, entre todas ellas destacamos:
Crear una partición. Para crear una partición, escribimos la opción “n”.
El resultado es una serie de preguntas que solicitan información sobre la
partición: si debería ser primaria, extendida o lógica: el cilindro de inicio
de ésta; el cilindro o tamaño de finalización de ésta, etc. Los detalles de
las preguntas dependen en parte de lo que se haya definido. Por
ejemplo, fdisk no le preguntará si desea crear una partición
extendida si ya existe una. Una característica de fdisk que puede
parecernos extraña es que mide los puntos de inicio y finalización de la
partición de cilindros, en vez de megabytes. Esto es un vestigio de las
medidas CHS utilizadas por la tabla de partición de x86. Esto no tiene
por qué ser un problema; podemos elegir el punto de inicio por defecto y
especificar luego el tamaño de la partición en megabytes o gigabytes;
fdisk calculará correctamente el cilindro final.
mkfs
Utilizado para formatear particiones con diferentes sistemas de archivos
Argumentos
Archivos de registro
Los archivos de registro son los archivos donde se almacena información sobre
la ejecución de los diferentes procesos que están operativos en el equipo. Su
objetivo es hacer el seguimiento y detectar posibles fallos en el funcionamiento
de dichos procesos.
SSH
SSH es un protocolo que permite conectarse de forma segura a un
servidor para poder administrarlo. En realidad, es más que eso, ya que se
ofrecen más servicios como la transmisión de ficheros, el protocolo FTP seguro
e, incluso, se puede usar como transporte de otros servicios.
VNC
Otra opción para llevar a cabo la administración remota de un equipo es utilizar
un escritorio remoto. Con esta característica podemos visualizar en una
ventana de otro equipo el escritorio completo del equipo que queremos
administrar y tener control absoluto sobre dicho equipo. Este tipo de acceso
consume más recursos de red que ssh.
vino-preferences
Para activar el servicio hay que marcar la opción “Permitir a otros usuarios ver
mi escritorio” y si además se desea poder tomar el control de las acciones de
forma remota también habrá que marcar la opción “Permitir a otros usuarios
controlar su escritorio”. Es aconsejable por motivos de seguridad marcar la
opción “Requerir que el usuario introduzca una contraseña”.
Una vez hecho esto debemos hacer que el servicio VNC se cargue
automáticamente al iniciar el servidor, para ello iremos a la opción Startup
Applications o Aplicaciones de inicio y añadiremos una nueva
Comando: /usr/lib/vino/vino-server
Y para finalizar nos aseguramos que el puerto 5900 que es el puerto por el que
funciona este servicio está activo, para ello desde el terminal tecleamos
en mi caso
pvcreate /dev/sdb
pvcreate /dev/sdb2
resize2fs volumenLogico
e2fsck –f volumenLogico
resize2fs volumenLogico 4G
lvreduce -L 4G volumenLogico
Servidor LDAP
LDAP son las siglas en inglés de Lightweight Directory Access Protocol
(Protocolo Ligero de Acceso a Directorios) y podemos considerarlo como un
sistema de almacenamiento de red (normalmente construido como una base
de datos) al que se pueden realizar consultas.
Cada entrada del directorio representa un objeto, que puede ser abstracto o
real: una persona, un mueble o una función en la estructura de una empresa,
etc
Para referirse al nombre completo suelen utilizarse las siglas RDN, que
provienen del inglés Relative Distinguished Name.
objectClass: person
givenname: Juan
sn: Lopez
o: somebooks
u: medio
mail: juanlopez@somebooks.es
Ya sólo nos queda indicar el nombre de la cuenta LDAP que tendrá privilegios
para realizar cambios en las contraseñas. Como antes, deberemos escribir un
nombre global único (Distinguished Name – DN) siguiendo las indicaciones que
vimos al principio de este capítulo (cn=admin,dc=somebooks,dc=local)
-t nss, con el que le indicamos que los archivos que vamos a modificar
son los correspondientes a NSS
sudo pam-auth-update
base dc=somebooks,dc=local
uri ldap://192.168.0.16/
rootbinddn cn=admin,dc=somebooks,dc=local
ldap_version 3
bind_policy soft
Con esto habremos terminado la configuración del servidor LDAP. Ahora está
listo para autenticar usuarios.
En algunas redes, con clientes muy antiguos, puede ser necesario mantener la
versión 2 del protocolo LDAP. Por ese motivo, antes de terminar, el asistente
nos pregunta queremos permitir el protocolo LDAPv2. Elegimos No.
# comentario
<atributo>: <valor>
<atributo>: <valor>
...
Entre dos entradas consecutivas debe existir siempre una línea en blanco.
objectClass: organizationalUnit
ou: usuarios
dn: ou=grupos,dc=somebooks,dc=local
objectClass: organizationalUnit
ou: grupos
dn: uid=jlopez,ou=usuarios,dc=somebooks,dc=local
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: jlopez
sn: Lopez
givenName: Juan
uidNumber: 1060
gidNumber: 1060
userPassword: mi_password
loginShell: /bin/bash
homeDirectory: /home/jlopez
shadowFlag: 0
shadowWarning: 7
shadowMin: 8
shadowMax: 999999
shadowLastChange: 10877
mail: juan.lopez@somebooks.com
postalCode: 29000
o: somebooks
initials: JL
dn: cn=SMR2,ou=grupos,dc=somebooks,dc=local
objectClass: posixGroup
cn: SMR2
gidNumber: 1060
Una vez instalado podremos acceder a esta aplicación vía web. Abrimos un
navegador y tecleamos http://IPServidor/phpldapadmin, en mi caso será:
http://192.168.0.16/phpldapadmin
Vamos a modificar el fichero de configuración para que nos cargue los datos de
nuestro dominio automáticamente, para ello editamos el fichero
/etc/phpldapadmin/config.php y modificamos las siguientes líneas.
Configuraciones finales
Default: yes
Priority: 900
Session-Type: Addittional
Session:
Si tecleamos getent passwd nos tiene que aparecer además de los usuarios
locales, el usuario creado en LDAP.
ldap://192.168.0.16/
En la siguiente pantalla nos pide la versión del protocolo, que en nuestro caso
será la versión 3
Ya sólo nos queda indicar el nombre de la cuenta LDAP que tendrá privilegios
para realizar cambios en las contraseñas. Como antes, deberemos escribir un
nombre global único (Distinguished Name – DN) siguiendo las indicaciones que
vimos al principio de este capítulo (cn=admin,dc=somebooks,dc=local)
Fichero /etc/ldap.conf
Buscamos una línea como esta pam_password md5 y la sustituimos por esta
pam_password crypt
Fichero /etc/ldap/ldap.conf
Fichero /etc/nsswitch.conf
getent passwd
Como vemos, la salida del comando ofrece al mismo tiempo información sobre
los usuarios locales y los usuarios LDAP.
Configuraciones finales
Vamos a configurar las políticas de autenticación predeterminadas de PAM,
para ello ejecutamos desde el terminal
sudo pam-auth-update
En la ventana que nos aparece nos aseguramos de que todas las opciones
están marcadas.
Ahora mismo, el cliente ya está listo para que nos autentiquemos con una
cuenta de usuario LDAP, sin embargo, al identificarnos con el usuario LDAP
jlopez, no encontraremos la carpeta /home/jlopez en el equipo cliente.
Podíamos crear dicha carpeta a mano, pero tendríamos que repetir el proceso
para cada usuario LDAP y para cada cliente en el que se quisiera conectar.
Una vez hecho este cambio, si reiniciamos sesión e intentamos acceder con el
usuario LDAP veremos que se creará automáticamente su carpeta HOME.
Vamos a configurar LigthDM para que solicite el nombre de usuario y así poder
autenticarnos con usuarios OpenLDAP.
[SeatDefaults]
greeter-hide-users=true
greeter-show-manual-login=true
Vamos a utilizar NFS para compartir las carpetas de perfil de cada usuario
desde el servidor por lo que todos los datos estarán centralizados evitándose el
problema planteado anteriormente
3. Crear una carpeta en los equipos cliente para montar los perfiles
móviles (el equivalente a /home/usuario de cada usuario en cada
cliente). Para este ejemplo, la carpeta de los clientes también se llamará
/móviles, esta carpeta tendrá todos los permisos para todos los tipos
de usuarios (chmod 777 /moviles). Esta carpeta la hemos llamado
igual que la del servidor aunque no es necesario que su nombre
coincida.
Bibliografía
Configuración de servicios de red en Ubuntu
http://www.forat.info/2008/08/12/servidor-en-linux-ubuntu-server-manual-
completo/
Uso de fdisk
https://baulderasec.wordpress.com/linux/3-configurar-el-hardware/3-11-
particionar-un-disco/uso-de-fdisk/
http://somebooks.es/12-4-que-es-ldap/
http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m6/openldap.html
https://www.youtube.com/watch?v=zNzRNgSbDPs