Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Básico
Manual
Mantenimiento Básico de servidores
basados en GNU/Linux
Universidad Nacional
Heredia, Costa Rica
Actualizado al 06 de Agosto de 2009
Por: José Pablo Carvajal Chaves
Para efectos de la ejecución de los comandos explicados en este manual
se recomienda total seguridad, principalmente en servidores que se encuentran en producción.
Licencia de Publicación
Esta obra está licenciada bajo una Licencia Atribución 3.0 Unported de Creative Commons. Para ver una copia de esta licencia,
visite http://creativecommons.org/licenses/by/3.0/ o envíenos una carta a Creative Commons, 171 Second Street, Suite 300,
San Francisco, California, 94105, USA.
PNUD 1/23
Manual Básico
Índice
Contenido Página
Primer Parte: Conceptos Básicos 1
Segunda Parte: Conexiones remotas 7
Tercera Parte: Editores de texto en consola 11
Cuarta Parte: Comandos básicos 12
Quinta Parte: Comandos de administración 14
Sexta Parte: Administración de usuarios 18
Séptima Parte: Actualización del sistema 21
Referencias 22
PNUD 2/23
Manual Básico
Primera Parte
Conceptos Básicos
1. Distribución utilizada por los servidores:
Debian es una comunidad conformada por desarrolladores y usuarios, que mantiene un
sistema operativo GNU/Linux basado en software libre, para múltiples arquitecturas de
computador y en varios núcleos.
Existen varias fases para la distribución Debian: Estable (se refiere a la versión totalmente
estable del sistema operativo. Es la que más se recomienda instalar), Pruebas (conocida como
testing y es la versión que permite probar la mayoría de paquetes para próximas versiones
estables), Inestable (versión activa de desarrollo) y Congelada (se congela en caso de localizar
muchos errores en la versión de desarrollo).
En caso de necesitar otros conceptos básicos del proyecto y distribución Debian visite:
http://www.debian.org/intro/about.es.html#what
2. Algunos conceptos iniciales:
¿Qué es una Partición?
Es la división física de nuestro disco duro en partes más pequeñas.
¿Qué es la memoria virtual?
Es la memoria utilizada para realizar y completar las operaciones en ejecución en una
máquina, generalmente esta memoria es parte del disco duro o un archivo que funciona como
extensión de la memoria convencional de la máquina.
¿Qué es un punto de montaje?
Una vez que tenemos una partición en nuestro disco duro y es debidamente formateada, para
efectos de visualizarla como parte de un sistema de archivos se hace necesario montarla en un
sistema, para lo cual se debe indicar el punto de montaje y la localización específica dentro
del sistema. Al instalar nuestro sistema operativo, el mismo se encarga de levantar los puntos
PNUD 3/23
Manual Básico
de montaje.
¿Qué es un paquete?
Un paquete de software es la compilación específica para una arquitectura de procesador (32
bits ó 64 bits) de un programa, el cual permite instalarlo en nuestro sistema con sus
especificaciones y documentación respectiva.
¿Qué es un filesystem?
Es la forma de organizar archivos y directorios en un sistema, posee operaciones, y estructuras
de datos. Algunos ejemplo de sistemas de archivos son: fat, fat32, NTFS, ext3, xfs. Los
servidores utilizan por defecto ext3, en caso contrario el que sea definido por la persona que
instala. Actualmente la tendencia es definir nuestro sistema de archivos como ext4.
3. Anatomía de un sistema GNU/Linux
La forma de un sistema GNU/Linux se define de acuerdo a la estructura basada en capas según
su aplicabilidad:
A. Kernel: Se refiere al núcleo del sistema operativo el cual está basado en Linux.
B. Aplicaciones GNU: El proyecto GNU y colaboradores se encargan de producir una serie de
aplicaciones (Software Libre). Éstas aplicaciones son pequeños módulos funcionales separados
unos de otros que se ligan al kernel.
PNUD 4/23
Manual Básico
C. Niveles: hay diferentes aplicaciones según el tipo de usuario dentro del sistema: aplicaciones
y módulos para programadores, módulos para administradores, bibliotecas e interpretadores
de alto nivel y programas para usuario final.
Cabe aclarar que cada paquete instalado en GNU/Linux posee ciertas dependencias y cuando
un programa es eliminado del sistema operativo se eliminan consigo las dependencias (si éstas
no están ligadas a otro programa) manteniendo la estabilidad del sistema operativo por mayor
tiempo.
4. Jerarquía de sistema de archivos en GNU/Linux
PNUD 5/23
Manual Básico
5. Intérprete de comandos
Es un programa que permite comunicarse a nivel de usuario con una serie de funcionalidades
que están presentes en cada distribución. El intérprete de comandos proporciona una serie de
instrucciones similares a un lenguaje de programación por lo cual se le llama Shell
programable.
6. Conceptos de Red
A. Host:
Es una máquina o dispositivo existente dentro de una red.
B. Localhost:
Es la máquina de red en la que nos encontramos ubicados físicamente.
C. Gateway:
Puerta de enlace o máquina que nos sirve de ruteo para obtener servicios de red.
D. DNS:
Servidor de nombres de la red, es el que hace posible que una dirección IP sea conocida como
dominio (p ej. www.cc.una.ac.cr).
PNUD 6/23
Manual Básico
Segunda Parte
Conexiones Remotas
1. Servicio SSH:
SSH (Secure Shell: intérprete de órdenes seguro) es el nombre de un protocolo y del programa
que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite
manejar por completo la computadora mediante un intérprete de comandos.
SSH trabaja de forma similar al comando telnet, difieren en que SSH usa técnicas de cifrado
para que la información que viaja por el medio de comunicación vaya de manera no legible y
ninguna tercera persona pueda descubrir el usuario y contraseña de la conexión ni lo que se
escribe durante toda la sesión.
2. Conexión SSH (cliente) desde GNU/Linux:
Para iniciar una conexión SSH (cliente) desde GNU/Linux debemos ingresar a la terminal o
consola en:
Aplicaciones → Accesorios → Terminal
La pantalla mostrada es:
Para iniciar una sesión SSH con un servidor escribimos: :~$ ssh direccion IP l usuario
Ejemplo: :~$ ssh 10.0.2.2 l administrador
PNUD 7/23
Manual Básico
Realizamos una conexión segura al servidor:
Nótese que ya nos encontramos (en la misma pantalla) bajo el dominio del host
ccomputo@web:~$, lo cual nos indica que nos encontramos dentro del servidor. A partir de
este momento podemos ejecutar acciones sobre el servidor de manera remota.
3. Conexión SSH (cliente) desde MS/Windows:
Para iniciar una conexión SSH (cliente) desde MS/Windows debemos ingresar al programa en:
A. El escritorio: Encontrará dos accesos directos, el SSH Secure Shell Client permite realizar
conexiones a nivel de consola; el SSH Secure File Transfer Client permite transferir archivos de
manera segura al servidor.
B. Inicio → Todos los programas → Ssh Secure Shell → SSH Secure Shell Client
PNUD 8/23
Manual Básico
Se nos mostrará una pantalla igual a la siguiente:
Para iniciar la sesión con el servidor presionamos la tecla Enter ó la barra espaciadora.
Igualmente podemos iniciar sesión presionando File → Quick Connect...
PNUD 9/23
Manual Básico
Nótese que ya nos encontramos (en la misma pantalla) bajo el dominio del host
ccomputo@web:~$, lo cual nos indica que nos encontramos dentro del servidor. A partir de
este momento podemos ejecutar acciones sobre el servidor de manera remota.
NOTAS:
En caso de problemas para realizar la conexión SSH a un servidor recordemos verificar:
A. El estado de la conexión a la red del servidor: si tenemos acceso al servidor verifiquemos las
conexiones de red y el parpadeo de los dos led's que posee la tarjeta de red.
B. Utilicemos el comando ping para verificar si el servidor “escucha al mundo exterior”. Para
ejecutar el comando ping (tanto en MS/Windows como en GNU/Linux) utilizamos: ping ip
(del servidor). Ej. ping 10.0.2.2
En caso de realizar las pruebas anteriores y no obtener respuesta del servidor, algunas de las
posibles causas del problema:
A. Problema del sistema operativo y de su conexión a red.
B. El servidor está siendo víctima de un ataque de negación de servicio.
PNUD 10/23
Manual Básico
Tercera Parte
Editores de texto en consola
Entre los principales editores de texto en consola se encuentran: pico, vi, etc. Nos centraremos
en el editor pico, el cual nos permite de una forma rápida, a nivel de consola, editar archivos e
inclusive crear nuevos archivos.
Principales acciones en el editor pico:
Control + g : Permite visualizar la ayuda del pograma
Control + o : Permite guardar el documento
Control + w : Permite buscar coincidencias dentro del texto
Control + k : Permite copiar la selección de texto hecha dentro del documento
Control + u : Permite pegar texto
Control + x : Permite salir del programa
La consola se visualiza de la siguiente manera:
Nótese la leyenda de comandos en la parte inferior. Para aplicar el comando pico basta con
hacer lo siguiente:
PNUD 11/23
Manual Básico
ccomputo@web:~$ pico nombredearchivo
ccomputo@web:~$ pico prueba.txt
ccomputo@web:~$ pico /etc/php5/apache2/php.ini
Cuarta Parte
Comandos Básicos
A. Lista
Comando Acción
ls Lista los archivos que se encuentran en un
directorio específico.
cd Permite navegar dentro del sistema de
directorios. Similar al comando cd de MSDOS.
du Permite determinar las características de
tamaño de un archivo.
top Permite ver los procesos que se están
ejecutando en la máquina.
date Permite visualizar la fecha actual del sistema.
find Permite localizar archivos o carpetas dentro
del sistema de archivos.
mkdir Se utiliza para crear directorios.
rm Permite borrar archivos y directorios.
cp Se utiliza para copiar archivos.
clear Permite limpiar la pantalla de la consola.
B. Aplicación de los comandos
– Comando ls:
$ ls l Nos permite visualizar el contenido de una carpeta y los permisos de cada archivo.
$ ls a Nos permite visualizar el contenido de una carpeta incluyendo las carpetas ocultas.
– Comando cd:
$ cd / Nos llevará al punto de montaje /.
PNUD 12/23
Manual Básico
$ cd home Nos permite acceder a la carpeta home.
$ cd .. Nos permite salir de la carpeta en la que estamos situados actualmente.
– Comando du:
$ du archivo.txt Nos dice el tamaño en BYTES
$ du sh archivo.txt Nos dice el tamaño en MEGAS
– Comando top:
Al ejecutar el comando top tendremos una salida como la siguiente:
Podemos visualizar la información de procesos (PID USER, consumo de memoria, consumo de
procesador), así como la memoria utilizada por el sistema, la memoria disponible, entre otra
información importante.
– Comando date:
$date Nos permite visualizar la fecha y hora del servidor.
– Comando find:
$ find / name archivo.txt Busca todas las conincidencias con archivo.txt desde / por todo el
árbol del sistema de archivos.
PNUD 13/23
Manual Básico
$find name archivo.txt Busca en la ruta actual el archivo especificado.
NOTA: para ejecutar efectivamente dicho comando muchas veces se necesitan privilegios de
administrador.
– Comando mkdir:
$ mkdir nuevacarpeta Permite crear nuevas carpetas.
– Comando rm:
$ rm archivo.txt Permite eliminar el archivo especificado.
$ rm r directorio Permite eliminar una carpeta y todo su contenido.
NOTA: para ejecutar efectivamente dicho comando muchas veces se necesitan privilegios de
administrador.
– Comando cp:
$ cp archivo ruta Permite copiar el archivo especificado en la ruta determinada.
$ cp texto.txt /var/www
NOTA: para ejecutar efectivamente dicho comando muchas veces se necesitan privilegios de
administrador.
– Comando clear:
$ clear Limpia la pantalla de cosola
PNUD 14/23
Manual Básico
Quinta Parte
Comandos de Administración
A. Lista
Comando Acción
su Permite loguearse como superusuario dentro
de la máquina.
init 0 Permite apagar el equipo.
init 6 Permite reiniciar el equipo.
ifconfig Permite visualizar la dirección IP de la
máquina.
init.d Permite iniciar/reiniciar/detener los servicios
dentro de la máquina.
man Permite visualizar la ayuda en consola para un
comando.
free Permite visualizar la cantidad de memoria
libre y utilizada.
sysstat Paquete con utilidades para monitorear el
rendimiento del sistema.
Ctrl + c Permite cancelar acciones.
route Permite visualizar la tabla de ruteo de nuestro
equipo.
df Permite visualizar el espacio libre y utilizado
en disco.
netstat Monitorea los procesos de red en el equipo.
ping Permite verificar la respuesta vía red de un
equipo específico.
B. Aplicación de los comandos
NOTA: para ejecutar efectivamente dichos comandos muchas veces se necesitan privilegios de
administrador.
PNUD 15/23
Manual Básico
– Comando su:
$ su Inmediatamente el sistema le solicitará la contraseña de superusuario.
– Comando init 0:
$ init 0 Apagará de manera inmediata el equipo
– Comando init 6:
$ init 6 Reiniciará de manera inmediata el equipo.
– Comando ifconfig:
$ ifconfig Permite visualizar el ip de la máquina.
– Comando init.d:
Para iniciar, reiniciar, detener servicios en una distribución GNU/Linux se debe hacer uso de
init.d
$ /etc/init.d/mysql start/restart/stop
$ /etc/init.d/apache2 start/restart/stop
– Comando man:
$ man ls Permite visualizar la ayuda del sistema para el comando ls. Para salir de la ayuda
presionar “q”.
– Comando free:
$ free Nos muestra el nivel de uso de la memoria del sistema
PNUD 16/23
Manual Básico
– Comando sysstat:
NOTA: para la ejecución de estos comandos es necesario instalar el paquete sysstat.
$ iostat d 2 Reporte continuo de dispositivos cada 2 segundos.
$ mpstat P ALL 2 5 Muestra cinco reportes de estadísticas globales para todos los
procesadores en intervalos de 2 segundos.
$ sar u 2 5 Reporta el uso de CPU por cada 2 segundos.
– Comando ctlr + c:
Permite detener cualquier acción en consola.
– Comando route:
$ route Permite visualizar la tabla de ruteo de nuestro equipo.
– Comando df:
$ df h Visualiza el espacio libre y ocupado de nuestro equipo.
PNUD 17/23
Manual Básico
– Comando netstat:
$ netstat Permite visualizar los procesos de red de nuestro equipo
– Comando ping:
$ ping 10.0.5.10 Permite visualizar la respuesta del IP especificado (conexión a la red)
PNUD 18/23
Manual Básico
Sexta Parte
Administración de usuarios
A. Lista
Comando Acción
passwd Permite cambiar la contraseña de un usuario
específico.
ls l Permite listar (archivos y carpetas) con los
permisos de cada uno.
chgrp Permite cambiar el grupo al que pertenece un
archivo ó carpeta.
chown Permite cambiar el usuario al que pertenece
una carpeta ó archivo.
chmod Permite cambiar los permisos de un archivo ó
carpeta.
B. Aplicación de los comandos
Al ejecutar un comando como ls l, la salida por pantalla es la siguiente:
PNUD 19/23
Manual Básico
La notación simbólica de los atributos es Read ( r ), write (w), Execute (x).
– Comando passwd:
Si no es usuario administrador, éste comando lo podrá utilizar únicamente para cambiar su
propia contraseña, en casos de ser superusuario podrá cambiar cualquier password de
cualquier usuario de la máquina.
$ passwd
Changing password for usuario
Old password : xxxx
New password: xxxx
Retype new password: xxxx
$ passwd usuario Cambia la contraseña para el usuario especificado.
– Comando ls l:
$ ls l Permite visualizar los permisos de archivos y carpetas.
$ ls l /var/www Permite visualizar los permisos de la carpeta especificada.
– Comando chgrp:
$ chgrp others archivo Permite cambiar el grupo al que pertenece un archivo ó carpeta.
– Comando chown:
$ chown operadores archivo Permite cambiar el usuario al que pertenece el archivo ó carpeta
especificada.
– Comando chmod:
PNUD 20/23
Manual Básico
FORMA OCTAL:
$ chmod 755 archivo
$ chmod 644 /var/www
FORMA SIMBÓLICA
$ chmod u+r archivo
$ chmod u+rwx /var/www
SIGNIFICADO MODO SIMBÓLICO
Quiénes:
– u : Usuario dueño del archivo
– g : Grupo de miembros
– o : Otros, es decir el “mundo entero”
– a : Todos
Qué hacer:
– : quita el permiso indicado
– +: Activa el permiso indicado
– =: deja igual los permisos
Permisos:
– r : Acceso lectura
– w : Acceso de escritura
– x : Acceso de ejecución
PNUD 21/23
Manual Básico
FORMA OCTAL:
Séptima Parte
Actualización del sistema
1. Archivos de repositorios:
Conocido como el “source list”, es el archivo que le indica al sistema operativo los repositorios
o “mirrors” de donde descargar paquetes ó actualizaciones del sistema.
$ pico /etc/apt/sources.list
PNUD 22/23
Manual Básico
2. Comandos:
$ aptget update Actualiza la información de repositorios en nuestro sistema.
$ aptget upgrade Ejecuta un actualización total de nuestro sistema.
$ aptget install paquete Realiza una instalación del paquete seleccionado.
$ aptcache search paquete Realiza una búsqueda del paquete ó coincidencias.
Referencias
• Manual de capacitación GNU/Básico, Coral Systems.
• Biblioteca en línea Wikipedia.
• Material GNU/Avanzado, UOC.
PNUD 23/23