Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GNU/Linux Básico
Trabajo Final
Tecnicatura Universitaria en Software Libre
Universidad Nacional del Litoral
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Licencias
Página 2 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Agradecimientos
Este manual contó con el invaluable aporte de muchos profesionales especializados que
controlaron, revisaron, aclararon, criticaron y sugirieron cambios del material expuesto, pero
el aporte más importante lo hizo mi compañera de vida quien me apoyo a lo largo de la
carrera que con esto llega a su fin, Gracias Loy.
Página 3 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Índice
Página 4 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 5 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 1
Fundamentos de este manual
El siguiente manual es una obra creada para la finalización de la carrera de Tecnicatura
Universitaria en Software Libre perteneciente a la Universidad Nacional del Litoral. El mismo
es un trabajo recopilatorio de distintas obras o instructivos que deambulan por el universo,
pero que no siguen un orden en común.
Toda esta labor está preparada para guiar a los administradores de sistemas que no están
familiarizados con GNU/Linux o quienes quieren adentrarse en el mundo de la
administración de sistemas y no saben cómo hacerlo.
Dicho trabajo no pretende crear expertos ni eruditos en el tema, solo intenta capacitar y
ayudar a quien carezca de experiencia previa o que tenga conocimientos básicos en esta
área, abriendo una puerta para que cada uno desarrolle su propio camino dentro del mundo
del Software Libre.
Página 6 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 2
Conceptos Básicos
Todo el material aquí expuesto tiene la referencia hacia el sitio del cual fue extraído algún
tipo de información. No todo el contenido mostrado viene de creadores foráneos, sino que
también se ha producido contenido propio, resultado del aprendizaje de la carrera y
conocimientos previos.
A pesar de que hay muchas distribuciones de sistemas operativos libres, los utilizados para
este manual son en base a las distribuciones en Ubuntu y algunas de sus derivadas (Linux
Mint, Ubuntu Mate, etc.)
Página 7 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 3
¿Porque elegir Software Libre?
El software libre proporciona a nivel técnico y operativo una serie de ventajas para los
usuarios, algunos ejemplos claros de estas típicas ventajas que proporciona son los bajos
costes al eliminar las erogaciones monetarias derivadas de licencias privativas. También
puede ser la elevada fiabilidad al ser testeados, usados y corregidos continuamente en
diferentes entornos lo que conlleva a una mayor seguridad que presenta al ser pública su
especificación y estar sometido a constante revisión. Otro ejemplo es la gran flexibilidad que
da el poder modificar y adaptar el código a los requerimientos particulares del usuario. Por
último uno de los fundamentos más importantes es que posee un mantenimiento flexible y
competitivo al no estar monopolizado por una compañía.
b. ¿Qué es GNU/Linux?
Según lo identifica el sitio Wikipedia, GNU/Linux, es un sistema operativo libre tipo
Unix; multiplataforma, multiusuario y multitarea. El sistema es la combinación de
varios proyectos, entre los cuales destacan GNU y el núcleo Linux. Su desarrollo es
Página 8 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
uno de los ejemplos más prominentes de software libre, todo su código fuente puede
ser utilizado, modificado y redistribuido libremente por cualquiera, bajo los términos
de la GPL (Licencia Pública General de GNU) y otra serie de licencias libres.
A pesar de que Linux denomina en la jerga cotidiana al sistema operativo, éste es en
realidad solo el kernel del sistema. La idea de hacer un sistema completo se
remonta a mediados de la década de 1980 con el proyecto GNU, así como una gran
cantidad de los componentes que se usan hoy en día, que van desde los
compiladores de GNU hasta entornos de escritorio. Sin embargo, tras la aparición de
Linux en la década de 1990 una parte significativa de los medios generales y
especializados han utilizado el término GNU/Linux para referirse al todo lo cual ha
sido motivo de polémicas.
A GNU/Linux se le encuentra normalmente en forma de compendios conocidos
como distribuciones o distros, a las cuales se les han adicionado selecciones de
aplicaciones y programas para descargar e instalar las mismas. El propósito de una
distribución es ofrecer GNU/Linux como un producto final que el usuario pueda
instalar, cumpliendo con las necesidades de un grupo de usuarios o bien del público
general.
Página 9 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
este cometido. De todas maneras gracias a que GNU/Linux goza de alta popularidad
ofrece una alta compatibilidad con diferentes componentes de Hardware a pesar de
no estar detrás de ninguna casa comercial.
Si hablamos de software la diferencia es en extremo más notable, GNU/Linux cuenta
con menos programas en algunos sectores, y tiene una menor aceptación en el
mundo empresarial, aunque gracias a apoyos de empresas como Sun Microsystems
o IBM se consiguieron avances importantes en los últimos tiempos. En contraparte
MS Windows posee una gran cantidad de software, ya que es el sistema operativo
más utilizado en las empresas y esto hace que los desarrolladores se centren más
en él.
Como consideraciones finales de este punto se deja en claro que a pesar de que MS
Windows parece ser mejor, pero GNU/Linux siempre se ha caracterizado por la
robustez de su sistema, ya que por ejemplo podemos estar meses sin que el equipo
presente fallas en su operatividad y si una aplicación falla, no se bloquea totalmente
el equipo. En MS Windows siempre de alguna manera u otra es necesario reiniciar el
sistema cuando se modifica o actualiza alguna configuración del mismo o si se tiene
funcionando largos periodos de tiempo, también es frecuente que se puede bloquee
al ejecutar alguna operación aparentemente sencilla.
Página 10 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 4
Metodología de trabajo
Este manual se centra básicamente en mostrar las bondades que posee el mundo del
software libre y todas las posibilidades que ofrece al momento de administrar sistemas.
Pero si no se lleva de manera organizada y con un orden preestablecido puede abrumar al
lector haciendo que se torne difícil la comprensión del mismo.
Es por eso que la metodología que se usará a lo largo del manual es simple, en primera
medida se deja aclarado que todos los temas que se van a ir tocando se pueden realizar
con una instalación de GNU/Linux a mano así se puede probar lo que se va aprendiendo,
ya que la informática no es para espectadores. Paso siguiente iremos viendo desde las
tareas más básicas a realizar como controlar o movernos por dentro de una computadora
hasta cuestiones más complejas que llevan a manejar cientos o miles de equipos con muy
poco esfuerzo.
Página 11 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 5
Preparando nuestro entorno de laboral
Antes de arrancar con cualquier tema debemos preparar nuestra área de trabajo. Para ello
vamos a necesitar una instalación de GNU/Linux limpia, o sea que no tenga nada más que
lo básico que se configura al momento de instalarlo
Página 12 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
A partir de este punto este manual se vuelve más práctico, ya que comenzaremos la
instalación del sistema operativo, incluyendo la preparación de la máquina virtual y
su parametrización.
Para comenzar con la instalación vamos a necesitar el instalador de Oracle VM
Virtualbox y la imagen de disco de Ubuntu Mate, los mismos se pueden descargar
desde el sitio oficial de cada uno de ellos, en caso de requerirse, los enlaces de
descarga se acompañan en el apéndice de este manual.
Con todos los requisitos a mano, es hora de comenzar con la tan ansiada
preparación de la máquina virtual (a partir de ahora VM, siglas de Virtual Machine).
Como se puede apreciar en la imagen 5.1, para el primer paso en la creación de una
VM debemos darle un nombre, así la podremos identificar entre las otras VMs que
tengamos en nuestro equipo real, paso siguiente y sobre todo muy importante, elegir
qué tipo de sistema operativo va a alojar nuestra naciente VM como también que
versión y de qué tipo es. Luego continuamos con la asignación de memoria RAM,
tener en cuenta que no podemos darle más de la que poseemos físicamente y
además de eso tampoco podremos darle toda la que tenemos, siempre se aconseja
optar por la memoria que recomienda el virtualizador. Para finalizar en este paso
seleccionamos que tipo de disco rígido queremos para esta VM.
Página 13 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
del disco rígido físico el tamaño del virtual. En cambio sí usamos uno dinámico
vamos a ir ocupando espacio en el disco físico de manera gradual a medida que
vamos cargando información en el virtual. Luego de este paso ya solo aceptamos
con el botón correspondiente y nuestra VM ya se creará.
Cuando ya tenemos la VM creada, solo nos resta una sola cosa más, montar la
imagen de instalación del sistema operativo Ubuntu Mate. Para ello debemos
seleccionar la VM que acabamos de crear y tocar el botón Configuración.
Luego de realizar esta acción se muestra una ventana como se puede apreciar en la
imagen 5.3 donde debemos seleccionar el acceso de Almacenamiento. Dentro de
este apartado tenemos la configuración del disco rígido recientemente creado y de
una unidad óptica virtual, que es donde debemos montar nuestra imagen del
instalador.
Desde esta sección podemos agregar más discos rígidos o más unidades ópticas de
ser necesario
Página 14 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Con todo listo, solo queda comenzar la instalación, presionamos el botón de iniciar la
VM recientemente creada y configurada y veremos cómo cobra vida, mostrando una
pantalla inicial (imagen 5.4) donde el instalador nos ofrece una selección de idiomas
y algo que es de destacar, nos da la posibilidad de elegir entre instalar el sistema
operativo o solo probarlo. Antes de continuar hay que aclarar que la opción de
probar si bien da una gran experiencia de lo que el sistema operativo puede hacer,
no es para nada similar a lo que es tenerlo instalado, ya que carece de una
configuración adecuada que solo se logra en la instalación, sin contar que los
recursos de hardware son utilizados de una manera para nada óptima. En este caso
seleccionamos la opción de instalar y pasamos al paso siguiente.
Página 15 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 16 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 17 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
En esta nueva ventana (imagen 5.8) que nos muestra el instalador podemos
apreciar que posee un listado de los dispositivos físicos de almacenamiento con los
que cuenta el equipo hardware, si bien en este caso solo vemos uno pero podrían
ser mas de acuerdo a la configuración de cada equipo.
El particionamiento no es una ciencia exacta, y mucho menos con las miles de
combinaciones que hay, pero una cosa si es cierta, separar el punto de montaje
/home del resto de las particiones nos ahorrará muchos problemas y dolores de
cabeza, sobre todo en actualizaciones, donde no perderemos ni un solo dato.
De todas maneras a medida que un administrador de sistema se va adentrando en
el mundo de preparación de equipos, se va haciendo cada vez más hábil para
determinar qué tipo de particionado debe usar en cada caso.
Página 18 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 19 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 20 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Con el disco rígido particionado, solo nos quedan dos pasos, seleccionar la zona
horaria y por último pero no menos importante se nos solicita que identifiquemos al
equipo y usuario administrador con una contraseña (Imagen 5.11).Si bien el
asistente de instalación denota que la contraseña no es obligatoria debería serlo, ya
que la misma protege de accesos indebidos a los equipos y por más que no parezca
útil o necesaria, por seguridad, si lo es.
Página 21 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 22 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 6
Abriendo las puertas a GNU/Linux
Con este capítulo el propósito principal que intento alcanzar es el de demostrar que
GNU/Linux no posee misterios ocultos ni tampoco que es un mundo inaccesible para
usuarios que están acostumbrados a otros sistemas operativos. De hecho es todo lo
contrario, si bien siendo un usuario avanzado se puede obtener de manera ilimitada
distintas funcionalidades con este sistema operativo, si somos usuarios inexpertos o
principiantes también podemos utilizarlo de manera que nos permita resolver las cuestiones
diarias que se nos presentan.
Para esto vamos a ir viendo a lo largo de este capítulo y los subsiguientes como poder
desenvolvernos dentro de este entorno nuevo para nosotros, conociendo con el correr de
los temas las funciones que podemos realizar para alcanzar un alto grado de
personalización en la administración de sistemas.
Otra de las metas a alcanzar es la de enseñar a movernos dentro del entorno que nos
ofrece GNU/Linux, observando en contraparte las modalidades que nos presenta el sistema
operativo para realizar una misma tarea.
Por último pretendo desmitificar la consigna de que lo que hacemos en MS Windows no se
puede realizar en GNU/Linux, de hecho la idea es hacer caer esta creencia demostrando
que en ocasiones es mejor opción utilizar un sistema operativo libre que uno privativo.
Página 23 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
que viene por defecto en esta distro que instalamos, dejando las otras para que sean
investigadas más adelante en el caso de que se tenga interés en esta particularidad
del sistema operativo por parte del lector.
En la imagen 6.1 se puede apreciar como se ve el inicio de sesión por primera vez
de nuestra reciente instalación. Se nos presenta inicialmente una ventana de
bienvenida, sobre la cual podemos realizar algunas tareas como ir a la tienda de
software, conectarnos a la comunidad o simplemente realizar un donativo a los
desarrolladores y personas que mantienen este sistema operativo en particular. Esta
pantalla va a ser visualizada siempre que iniciemos sesión en el equipo, salvo que
desactivemos la opción correspondiente.
Página 24 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
interfaz de línea de comandos tras arrancar el equipo. Eso significa, que el control
siempre lo tendremos desde la interfaz de línea de comandos, y desde ella
podremos controlar todo el entorno gráfico. Al ser un sistema operativo multiusuario,
cualquier sistema GNU/Linux dispone de varias terminales de línea de comandos
para iniciar sesión, accesibles mediante la combinación de teclas CTRL+ALT+FX
(X=1,2,3,4,5,6) y una interfaz gráfica por defecto a la cual accedemos mediante
CONTROL+ALT+F7.
Los usuarios que no están familiarizados con una interfaz de línea de comandos o
una interfaz gráfica de usuario (GUI) pueden querer saber los pros y los contras de
cada una para ayudarlo a determinar qué funciona mejor en cada caso. Otros
pueden sentir curiosidad por las diferencias entre las dos. Con un gran énfasis en los
comandos y la manipulación de archivos, la siguiente tabla ilustra qué interfaz tiene
la ventaja en ciertas categorías y por qué.
Controlar Los usuarios tienen un buen Una GUI ofrece una gran cantidad
control sobre los archivos y el de acceso a archivos, funciones
sistema operativo en una interfaz de software y al sistema operativo
de línea de comandos. Sin en su conjunto. Al ser más fácil de
embargo, para usuarios nuevos usar que una línea de comandos,
o principiantes, no es tan fácil de especialmente para usuarios
usar como una GUI. nuevos o principiantes, una GUI
es utilizada por más usuarios.
Página 25 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Recursos Una computadora que solo usa Una GUI requiere más recursos
la línea de comandos consume del sistema debido a los
muchos menos recursos del elementos que requieren la carga,
sistema que una GUI. como los iconos y las fuentes. Se
deben cargar los controladores de
video, mouse y otros, que
requieren recursos adicionales del
sistema.
Diversidad Una vez que haya aprendido a Cada GUI tiene un diseño y una
navegar y usar una línea de estructura diferentes cuando se
comando, no cambiará tanto trata de realizar diferentes tareas.
como una nueva GUI. Aunque se Incluso diferentes iteraciones de la
pueden introducir nuevos misma GUI, como MS Windows,
comandos, los comandos pueden tener cientos de cambios
originales casi siempre diferentes entre cada versión.
permanecen iguales.
Página 26 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
usar una interfaz de línea de puede ser un riesgo, pero una GUI
comandos porque los usuarios tiene más colores y es más
solo usan un teclado. Hay poca atractiva visualmente, lo que lleva
necesidad de cambiar las a una posible reducción de la
posiciones de las manos y la tensión visual.
tensión en las muñecas o incluso
los dedos pueden verse
afectadas.
Como hemos visto en el cuadro comparativo anterior se dejan los pros y los contras
de cada entorno, esto no significa que debamos optar por uno y olvidarnos del otro,
sino más bien utilizar ambos, aprovechando al máximo las particularidades de cada
uno.
Página 27 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
tal motivo cualquier daño realizado como un usuario normal se mantiene contenido
dentro de ese dominio, de manera que no afecta al sistema o a otros usuarios.
Además es mucho más difícil que el software malicioso que se origina en equipos
remotos pueda acceder a los archivos críticos del sistema, ya que generalmente
pertenecen a la cuenta de root. Utilizar una cuenta de superusuario para realizar
tareas administrativas ayuda a evitar cometer errores.
Para poder adquirir los permisos de superusuario utilizamos normalmente el
comando sudo, el cual nos habilita temporalmente a realizar las tareas
administrativas que requerimos
Página 28 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
proviene de una fuente segura y está libre de malware. Los repositorios de donde
nos descargamos los programas disponen de las medidas de seguridad necesarias
para asegurar que los programas descargados están libres de este tipo de
amenazas, siempre y cuando los mismos sean repositorios oficiales del software que
estamos utilizando. También el proceso de actualización del sistema operativo es
mucho más sencillo. En el momento que se actualizan los repositorios podremos
actualizar fácilmente nuestro sistema operativo mediante nuestro gestor de
paquetes.
El uso de repositorios únicamente presenta a una sola desventaja frente otros
sistemas operativos, en el caso que queramos instalar un programa o actualizar el
sistema operativo precisamos de una conexión de internet. Esto es así porque
descargar la totalidad de dependencias de un programa de forma manual exige
demasiado tiempo. Como opinión particular esto no es ningún tipo de desventaja
porque hoy en día es común disponer de una conexión a Internet, pero puede darse
la situación que esto no sea así.
Además de lo antes mencionado también tenemos otra manera tradicional que es la
descarga de software empaquetado (rpm, deb, tgz, ebuild, etc) que se instala de
manera fácil desde la consola o desde algún gestor de paquetes como los
anteriormente mencionados.
Página 29 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 7
Primeros conceptos de la Administración de Sistemas
La administración de sistemas en GNU/Linux no difiere con la de otros sistemas operativos
en lo que respecta a tareas que debemos realizar. Siempre tendremos que hacer
mantenimiento de redes, configurar algún servidor o hacer copias de seguridad de alguna
base de datos entre otras decenas de cosas. Por eso es que en esta sección nos
enfocamos en presentar las primeras herramientas que nos van a acompañar a lo largo de
nuestra vida como administradores.
Página 30 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 31 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
éxito entonces se elimina esa operación del journal. Pero, si antes de finalizar la
operación de escritura en disco se produjese un fallo entonces el journal, que
aún mantiene la información correspondiente al archivo, podría recuperarlo para
el sistema rápidamente en el siguiente inicio.
Página 32 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 33 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
b. Intérpretes de comandos
El intérprete de comandos permite la comunicación entre el sistema y el usuario.
Aunque actualmente las interfaces gráficas de usuario o GUI facilitan el trabajo
cotidiano, todavía existen funciones, como la automatización de tareas, que se
resuelven mejor desde la línea de comandos o CLI (Command Line Interface). Es el
programa que recibe lo que se escribe desde la terminal y lo convierte en
instrucciones para que el sistema operativo las realice.
En otras palabras el objetivo de cualquier intérprete de comandos es ejecutar los
programas que el usuario teclea en el prompt del mismo. Cuando el usuario escribe
una orden, el intérprete la ejecuta. En dicha orden, puede haber programas internos
o externos: Los programas internos son aquellos que vienen incorporados en el
propio intérprete, mientras que los externos son los programas que tenemos dentro
de nuestros equipos.
Si bien hay un gran número de intérpretes y clones de estos, nos vamos a centrar en
BASH (Bourne-again shell), que es uno de los más utilizados y más completos que
podemos encontrar en el mundo de los shell de GNU/Linux. Sobre este intérprete
tenemos muchísimo material sobre su historia y sus funcionalidades, aquí solo
vamos a detallar las más significativas para poder realizar tareas diarias de
administración.
i. Comandos básicos
Para poder trabajar con los intérpretes necesitamos saber cómo, para eso
tenemos un conjunto de comandos básicos que nos ayudaran desde crear una
carpeta a ver si un equipo está encendido del otro lado de una red. Abajo se
detalla un pequeño listado con cada comando y su funcionalidad, así como un
pequeño ejemplo de uso
diff [-e] arch1 Encuentra diferencia entre archivos diff foo.c newfoo.c
arch2
Página 34 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 35 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 36 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
● No tienen contraseñas pues son cuentas que no están diseñadas para iniciar
sesiones con ellas.
● También se les conoce como cuentas de "no inicio de sesión" (nologin).
● Se crean automáticamente al momento de la instalación de GNU/Linux o de
la aplicación.
● Generalmente se les asigna un UID entre 1 y 100
Usuarios normales
● Se usan para usuarios individuales.
● Cada usuario dispone de un directorio de trabajo, ubicado generalmente en
/home.
● Cada usuario puede personalizar su entorno de trabajo.
● Tienen solo privilegios completos en su directorio de trabajo o HOME.
● Por seguridad, es siempre mejor trabajar como un usuario normal en vez del
usuario root, y cuando se requiera hacer uso de comandos solo de root,
utilizar el comando su.
● En las distros actuales de GNU/Linux se les asigna generalmente un UID
superior a 1000.
Usuarios sudoers
Una mención especial merecen recibir los usuarios sudoers, son usuarios
normales con permisos de administración como el usuario root
ii. Administrar Usuarios
Añadir usuarios con useradd
El comando useradd permite añadir nuevos usuarios al sistema desde la línea
de comandos. Sus opciones más comunes o importantes son las siguientes:
● -c añade un comentario al momento de crear al usuario, campo 5 de
/etc/passwd
● -d directorio de trabajo o home del usuario, campo 6 de /etc/passwd
● -e fecha de expiración de la cuenta, formato AAAA-MM-DD, campo 8 de
/etc/shadow
● -g número de grupo principal del usuario (GID), campo 4 de /etc/passwd
● -G otros grupos a los que puede pertenecer el usuario, separados por comas.
● -r crea una cuenta del sistema o especial, su UID será menor al definido en
/etc/login.defs en la variable UID_MIN, además no se crea el directorio de
inicio.
● -s shell por defecto del usuario cuando ingrese al sistema. Si no se
especifica, bash, es el que queda establecido.
● -u UID del usuario, si no se indica esta opción, automáticamente se
establece el siguiente número disponible a partir del último usuario creado.
Ahora bien, realmente no hay prácticamente necesidad de indicar ninguna
opción ya que si hacemos lo siguiente:
#> sudo useradd lukas
Se creará el usuario y su grupo, así como las entradas correspondientes en
/etc/passwd, /etc/shadow y /etc/group. También se creará el directorio de inicio
o de trabajo: /home/lukas y los archivos de configuración que van dentro de este
directorio.
Las fechas de expiración de contraseña, etc. Quedan lo más amplias posibles
así que no hay problema que la cuenta caduque, es por eso que prácticamente
lo único que faltaría sería añadir la contraseña del usuario y algún comentario o
Página 37 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
7.1 Distintos parámetros para useradd con la visual de los usuarios agregados
(Imagen editada para mostrar dos resultados en una sola vista)
Página 38 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Casi seguro también cambiará el nombre del directorio de inicio en /home, pero
si no fuera así o si necesitamos otros cambios o modificaciones en la misma
cuenta tenemos los siguientes comandos
Página 39 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 40 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 41 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
i. Tipos de Grupos
Los diferentes grupos que posee GNU/Linux son para reunir a distintos usuarios
y que estos puedan compartir archivos por ejemplo. También estos permisos se
dan para limitar el accionar dentro del sistema de usuarios malintencionados, ya
que para realizar acciones en distintas carpetas se debe poder pertenecer a ella
y tener el permiso correspondiente
ii. Administrar Grupos
Creación de grupos con groupadd
En este caso, tenemos el comando groupadd, tan solo debemos indicar el
nombre del grupo como parámetro. Por ejemplo, si quisiéramos añadir un grupo
llamado “tusl”, la sentencia sería la siguiente
Página 42 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Con todas estas herramientas se pueden realizar múltiples tareas donde se limiten a
los usuarios a sus propios asuntos, sin poner en peligro a los archivos de otros
usuarios. Pero para que los grupos tengan sentido se necesita que identifiquemos
qué hará cada uno o qué podrá hacer, para ello es que existen los permisos o
privilegios.
Página 43 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 44 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 45 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 46 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 8
Redes de datos, compartiendo es mejor
En la actualidad todas las personas están conectadas a una red de datos de alguna manera
u otra. Es poco probable encontrarse con personas que no tengan acceso a la telefonía
celular o una computadora con acceso a internet.
Pues bien, el mundo GNU/Linux no escapa a esta realidad y es por eso que el énfasis en el
desarrollo de utilitarios o funcionalidades que se han realizado, en pro de mejorar este
mundo de conectividad, creció de manera vertiginosa hasta situar a este sistema operativo
entre los más confiables al momento de administrar una red.
La mayoría de las empresas poseen una cantidad considerable de equipamiento
informático, debido a que en un alto porcentaje tienen una computadora para cada
empleado que la utiliza para realizar su trabajo diario.
Al principio, algunas de estas computadoras tal vez hayan trabajado aisladas unas de otras,
pero en la actualidad, todos los dispositivos de una organización, o al menos, la gran
mayoría, necesitan estar conectados a la red de la empresa para distribuir la información
que generan. La idea es compartir recursos y la meta es que todos los programas, equipos
y en especial los datos estén disponibles para cualquier persona en la red, sin importar la
ubicación física del recurso o del usuario.
Un ejemplo obvio es el de las impresoras; es mucho más eficiente tener una impresora de
red a la que todos los empleados de una oficina puedan acceder, que una por empleado.
Una impresora en red de alto volumen es más económica, veloz y fácil de mantener que
una extensa colección de impresoras individuales.
Aun así, compartir información es más importante que compartir recursos físicos cabe
destacar que en esta guía no voy a enfocarme en el conocimiento de protocolos de red ni
en la arquitectura, ya que la idea central es conocer las funcionalidades principales y que se
puede hacer para mejorar nuestro trabajo diario, como también se da por sentado que el
lector posee un conocimiento básico en redes.
a. Breve introducción a redes en GNU/Linux
Si bien GNU/Linux no es muy diferente al resto de los sistemas operativos en cuanto
a la administración de redes, si tiene muchas particularidades y herramientas que lo
hace el sistema operativo predilecto al momento de montar servidores o analizar una
red de datos. Es por este motivo que cada vez son más las redes que poseen
servicios (base de datos, acceso a internet, etc) basados en GNU/Linux sin importar
el sistema operativo que tengan instaladas las terminales, dado que la
compatibilidad no es un inconveniente.
b. Acceso remoto, ¿podemos visitar otros equipos?
Ya metiéndonos de lleno en el mundo de las redes en GNU/Linux lo primero a
resaltar es la posibilidad de administrar equipos a la distancia, realizando tareas en
otras computadoras aunque estén en otra oficina o a km de distancia. Esta
funcionalidad es tan importante tanto como compartir información dado que la
administración remota resuelve el problema de estar delante de una computadora.
Para poder continuar con algunas herramientas de acceso remoto, primero debemos
conocer algunas particularidades básicas y comando sencillos para detectar una
buena conectividad entre el equipo que usamos y el equipo al que vamos a acceder.
Lo primero a saber es si tenemos alguien esperándonos del otro lado, para eso
utilizamos el comando ping que nos informa mediante mensajes simples cuanto
tiempo de respuestas tenemos con el otro equipo y si es alcanzable. El ejemplo más
claro de cómo invocar este comando es
Página 47 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Este comando nos dice si tenemos llegada a la otra computadora, sin importar el
medio o el camino por el cual viaja la información. Si bien no es necesario ejecutar
este comando para poder utilizar las herramientas de acceso remoto, si es una
buena práctica antes de ponernos a trabajar el realizar un ping para ahorrarnos
muchos dolores de cabezas posteriores
Otra herramienta potente que puede combinarse con el uso de la anterior es el
traceroute, el objetivo principal de esta, es conocer el camino que recorre un
paquete a través de nuestra red. Este comando nos permitirá saber por dónde pasa
el paquete (máquinas, switches, routers) y comprobar que nuestra red funciona
correctamente. Si detecta cualquier problema, nos va a permitir tener una idea
aproximada acerca de donde se encuentra el fallo.
La sintaxis es simple
Por ahora solo vamos a nombrar estas dos herramientas de diagnóstico porque son
las más básicas para identificar si tenemos conectividad en una red, pero hay una
gran variedad de comandos para realizar tareas de todo tipo, las cuales vamos a ir
citando a medida que las necesitemos.
Cuando hacemos referencia al acceso remoto, a pesar de que contamos con un
numerosos programas, el predilecto para administrar servidores es el comando ssh.
SSH o Secure SHell, es un protocolo que facilita las comunicaciones seguras entre
dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios
conectarse a un host remotamente. A diferencia de otros protocolos de
Página 48 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
comunicación remota tales como FTP o Telnet, SSH encripta la sesión de conexión,
haciendo imposible que alguien pueda obtener contraseñas no encriptadas.
Además de la conexión a otros dispositivos, SSH nos permite copiar datos de forma
segura (tanto archivos sueltos como simular sesiones FTP cifradas), gestionar
claves RSA para no escribir claves al conectar a los dispositivos y pasar los datos de
cualquier otra aplicación por un canal seguro tunelizado mediante SSH.
Si bien se puede hablar mucho de los tipos de cifrado que utiliza SSH, no es la idea
de este manual, sino aprender a utilizarlo para sacarle beneficio a todas las
bondades que nos ofrece este protocolo.
La utilización de esta herramienta es bastante simple, todo se centra en la
autenticación que hacemos con el equipo remoto, pero una vez que accedemos ya
podemos utilizar cualquier comando que necesitemos para realizar nuestras tareas
habituales. El comando de conexión es
Con esta simple pero potente línea de comando ya tomamos control del equipo
remoto.
En conjunto con ssh tenemos otro protocolo que se basa en este para poder hacer
transferencias de archivos, el protocolo scp o secure copy trabaja sobre ssh para
Página 49 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
asegurar que toda la tarea sea bajo un ambiente seguro y controlado. El comando
también es relativamente simple, solo basta poner que queremos copiar y a donde
Con los comandos antes vistos ya podemos acceder a cualquier equipo para
administrarlo, realizar transferencias de datos y muchas otras funciones más. Si bien
tenemos una infinidad de programas para realizar estas tareas en modo gráfico que
se han ignorado en este punto, los mismos serán tratados más adelante.
c. La importancia de la transmisión de datos
En la actualidad pensar en que los equipos con los que trabajamos en una empresa
u organismo estatal no están relacionados entre sí es prácticamente inconcebible.
Estamos tan acostumbrados a ver esto de manera natural que no nos sentamos a
ver lo poderoso que es poder compartir lo que estamos haciendo con otros usuarios.
Si nos sentamos a observar cuantas ventajas obtenemos al poder trabajar en una
red de datos encontraríamos que el beneficio es enorme, desde el punto práctico
hasta económico. Por esta razón es que no se debe menospreciar lo que es la
transferencia de datos, ya que en el presente es prácticamente la base de todo,
transacciones bancarias, entretenimiento, economía, etc.
d. Herramientas para una red saludable
Administrar una red puede ser una de las tareas más complejas que un
administrador debe afrontar en su vida profesional. Además de ser complicada, la
gestión de una red es una de las tareas más importantes para medianas y grandes
empresas por su vital importancia en la cuenta de resultados. Hoy en día, grandes
compañías no pueden permitirse el lujo de tener una indisponibilidad en su red. Es
por eso que detallo siete herramientas para ayudar a detectar los conflictos que
afectan a nuestras redes de datos
Página 50 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
con Zenmap proporciona información gráfica sobre nuestra red, para que
pueda rastrear cada nodo, cada elemento, en cualquier parte. También,
integra scripts de terceros, lo que lo hace aún más eficaz en el auto
descubrimiento.
● Putty
Una pequeña pero útil herramienta de ahorro de tiempo,
que todo administrador debería tener instalada en su
computadora, y que ocupa muy poco espacio en
nuestros discos rígidos. Con esta herramienta se puede
acceder a todos los elementos de nuestra red, ya sea a
través de telnet, ssh, ftp u otros. Nos permite administrar
y guardar conexiones, y ganar tiempo evitando que estemos introduciendo
contraseñas, IPs y números de serie una y otra vez.
● NTop
Otra herramienta para monitorear el tráfico de red.
NTop entiende casi cualquier protocolo, y los
muestra gráficamente, es muy práctico para
aquellos que no son expertos en esta área de
trabajo. Permite un análisis exhaustivo del tráfico
de su red. La versión Open soporta casi cualquier
protocolo gracias a los numerosos complementos disponibles.
● FileZilla
Si necesitamos subir paquetes de datos pesados o
automatizar el intercambio de archivos esta herramienta
gratuita y libre nos permite hacer eso. Facilita el acceso a
cualquier máquina a través de FTP, FTPS o SFTP.
FileZilla nos permite cargar, descargar, eliminar o modificar
archivos en un servidor remoto, y también posee una función
de comparación de directorios, lo que le permite ver las diferencias o
cambios realizados en esos archivos. Un importante ahorro de tiempo para
cualquier administrador de sistemas.
● Mosh (Mobile Shell)
Es un programa alternativo a SSH que nos permite administrar
nuestra red desde un dispositivo celular. Funciona a través de
SSP, es decir, incluso si pierde la cobertura o cambia las redes
WiFi, seguirá conectado.
eHorus
Es una herramienta que si bien no es libre posee una
licencia gratuita hasta 10 equipos y sirve para administrar
una red y, sobre todo, ayudar a los usuarios, que sería
imposible sin conexión remota. Quizás las más conocidas de
las herramientas que facilitan esta conexión son VNC y
TeamViewer. Con eHorus podrá acceder de forma remota a
cualquier computadora simplemente usando un navegador web. Solo es
necesario disponer de conexión a Internet, sin tener que preocuparse por los
firewalls.
Página 51 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 9
Copias de seguridad, protegiendo lo indispensable
Aun en la actualidad hay personas que piensan que la función de las copias de seguridad
es solamente restaurar nuestros archivos cuando se produce una crisis informática y
perdemos todo. En consecuencia, si piensan que eso nunca les va a pasar, tienden a
quitarle importancia a la necesidad de hacer copias de seguridad. Sin embargo, éste no es
el único sentido que tiene hacer copias de respaldo de nuestros archivos. Las copias de
seguridad no sólo sirven para casos de emergencia.
a. ¿Porque perder el tiempo en guardar información?
Lo último deseable al hacer copias de seguridad es que en algún momento nos
veamos en la necesidad de restaurarlas. El objetivo siempre es evitar que ocurran
problemas informáticos que nos hagan tener que restaurar los archivos que
teníamos. Las copias de seguridad cumplen con una misión aún más importante:
disponer de un respaldo de todos los archivos esenciales que podamos necesitar, ya
sea porque vamos a formatear una computadora, cambiar un sistema operativo, o
porque hemos necesitamos acceder a una versión anterior del archivo en cuestión,
tener copias de seguridad facilita mucho la tarea de traspasar la información de un
lado a otro sin perder horas y horas analizando qué hay que guardar y qué no.
Es por esto cuando hago la pregunta ¿porque debo perder tiempo guardando
datos?, la respuesta que tengo ante mí es más que obvia, porque nunca sabemos
cuándo vamos a necesitar recuperar nuestra información.
Como cité anteriormente, las copias de seguridad no solo son para casos de
emergencia, sino también para poder controlar las diferencias con una versión
anterior de un archivo o máquina virtual o base de datos, por decir algunas, y ver si
fue alterado por ejemplo o controlar cuando se produjo un cambio, etc.
Es cierto que la tarea de realizar estas copias de seguridad es tediosa, rutinaria y en
algunos casos nos puede llevar horas, pero si nos organizamos como buenos
administradores que pretendemos ser, con un buen análisis de qué tipo de copias de
seguridad nos conviene sumado a distintas herramientas que nos provee el mundo
GNU/Linux, esto se puede transformar en una tarea simple y que solo requiera de
nuestra intervención pocas veces y solo para controlar que todo esté andando bien.
b. Tipos de copias de seguridad
Existen diferentes tipos de copias de seguridad. Cada uno tiene sus pros y sus
contras.
i. Copia de seguridad completa
Se realiza una copia de todos los datos que se quieren guardar. Esta copia
de seguridad tiene una ventana de copia más grande y también necesita
mayor espacio de almacenamiento pues copia todos los datos.
Siempre se empieza con una copia completa de los datos y luego se puede
pasar a realizar otro tipo de copias o más copias completas.
Se recomienda ejecutar copias completas de forma periódica por ejemplo
semanalmente y entre copia y copia completa realizar copias incrementales o
diferenciales.
Cuanto mayor es el periodo entre copia y copia completa más datos se
habrán modificado y más datos se están copiando en las copias
incrementales o diferenciales intermedias. Por eso hay que llegar a un
equilibrio para evitar que las copias intermedias acaben siendo tan grandes
como una copia completa.
Página 52 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
● Ventajas:
○ Fácil recuperación. Tienes todos los datos copiados.
● Desventajas
○ Tiene que copiar todos los datos estén o no modificados
○ Espacio de almacenamiento mayor.
ii. Copia de seguridad incremental
En la copia incremental sólo se copian los datos que se han modificado
desde la última copia realizada, ya sea una copia completa u otra copia
incremental. Para la restauración de la copia es necesario restaurar la copia
completa y todas las copias incrementales posteriores.
● Ventajas
○ Menor tiempo de realización de la tarea
○ Menos espacio de almacenamiento que en la copia completa
o la diferencial.
● Desventajas
○ Restauración más lenta y complicada pues depende de la
copia completa y las copias incrementales anteriores.
○ Si falla cualquiera de las copias dependiente no se podrá
restaurar la copia.
iii. Copia de seguridad diferencial
Copia los datos modificados desde la última copia completa realizada. En su
restauración solo tiene dependencia con la copia completa. Es independiente
de las copias diferenciales anteriores.
● Ventajas
○ La tarea se realiza con un tiempo menor que la copia completa
pero mayor que la incremental.
○ Menos espacio de almacenamiento que en la copia completa.
○ Más fiable que la copia incremental pues solo depende de la
anterior copia completa.
● Desventajas
○ Restauración más lenta que la copia completa pues hay que
restaurar la copia completa y la diferencial.
○ Si falla la copia completa o la diferencial no se podrá restaurar
la copia.
○ Hay datos duplicados entre las copias diferenciales pues cada
copia diferencial almacena todas las modificaciones realizadas
desde la última copia completa.
○ Si el periodo entre copias completas en grande, la copia
diferencial puede llegar a necesitar una ventana de copia y un
espacio de almacenamiento casi tan grande como una copia
completa.
Si bien existen más tipos de copias de seguridad, estos casos presentados son los
utilizados comúnmente, en caso de estar interesado en esta área se recomienda
consultar a la vasta documentación que abunda por internet.
Entonces, para finalizar, luego de hacer un recorrido rápido entre los tipos de copias
de seguridad es hora de ver cuál es la que mejor se ajusta y cómo la vamos a
realizar.
Página 53 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 54 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
debe ejecutar y cuando. Cada un minuto lee todos los archivos crontab para ver qué
comando debe ejecutar. Si encuentra una entrada que coincida con la hora actual,
ejecuta el comando correspondiente con el UID del dueño del archivo crontab.
Crontab
Este archivo le dice al daemon cron qué programas debe ejecutar y cuando. Cada
usuario tiene un archivo crontab y también existe un archivo crontab en el directorio
/etc El programa utilizado para administrar los archivos crontab también se llama
crontab.
Página 55 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
e. Utilitarios disponibles
Existen numerosos utilitarios para hacer copia de seguridad de nuestra información,
dependiendo del tipo de copia de seguridad que se precise, es posible utilizar
diversas utilidades y muchas veces se pueden utilizar en conjunto con otras. La
mayoría de estas herramientas están diseñadas para ser puestas en scripts para
automatizar lo mejor que se pueda el proceso utilizando una herramienta como cron.
Pero antes de ir a buscar afuera de GNU/Linux existen herramientas integradas que
hacen uso de estas aplicaciones.
tar (Tape Archive and Restore)
El comando tar se usa para combinar múltiples archivos en uno sólo, mientras
retiene la estructura original de los directorios. Aunque originalmente se concibió
para crear archivos en cintas, los archivos tar pueden ser almacenados en cualquier
otro medio. También tiene la capacidad de comprimir un archivo al mismo tiempo
que genera el archivo de destino. Además por cada archivo procesado, tar conserva
la información del inodo, la ruta del directorio, el usuario, el grupo, la información de
los permisos, y las fechas de creación y modificación del archivo. Para crear un
archivo tar, se deben utilizar rutas relativas. La sintaxis es
Página 56 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Dentro de las opciones de tar hay dos grandes grupos, las letras de función y los
modificadores.
Las letras de función tienen la particularidad de no poder combinarse o utilizarse a la
vez, es decir, sólo se puede usar una. En cambio los modificadores si admiten
combinación.
Algunas de las letras de función son:
● A: Agrega un segundo archivo tar al final del archivo tar actual.
● c: Crea un nuevo archivo tar.
● d: Compara el contenido de un archivo tar con otro archivo y reporta
diferencias.
● r: Agrega archivos al final de un archivo tar ya existente.
● t: Lista los archivos contenidos en un tar.
● u: Sólo agrega archivos nuevos o modificados a un archivo tar.
● x: Extrae archivos desde un archivo tar.
Algunos de los modificadores son:
● b: Específica tamaño de bloque.
● f: Nombre del archivo tar o dispositivo a utilizar.
● m: No restaura la fecha de modificación de los archivos.
● p: Conserva los permisos de los archivos originales al extraer.
● v: Muestra un listado de los archivos agregados.
● W: Verifica los archivos luego de agregarlos al tar.
● z: Utiliza gzip para comprimir los archivos.
cpio (Copy to I/O)
Puede utilizarse para hacer copia de seguridad del sistema. Soporta estrategias
flexibles y sofisticadas de copia de seguridad. Los archivos se escriben en formato
cpio y al igual que tar, también conserva la información del archivo referente a su
usuario, grupo, ruta del directorio, información del inodo, permisos, y las fechas de
creación y modificación.
La sintaxis es:
#> cpio [opciones]
Al igual que tar, tiene letras de función operacionales que no pueden combinarse, y
luego otras opciones generales que sí admiten combinación. Las letras
operacionales son:
● i: Extrae Archivos.
● o: Crea el archivo.
● p: Crea el archivo en el mismo sistema de archivos (copia una estructura de
directorio).
Página 57 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 58 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 59 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 10
Brindando servicios
Cuando estamos a cargo de administrar los sistemas de una empresa o de un organismo
público no solo nos basta con tener una red ordenada, las computadoras funcionando a la
perfección o unas copias de seguridad de cada equipo de nuestro entorno. La idea también
es saber administrar los recursos informáticos que tenemos, sacando el mejor provecho a
los recursos económicos con los que contamos, como así también utilizando métodos para
incrementar la productividad de una empresa y no perdiendo de vista la seguridad e
integridad de la información.
a. ¿Qué es un servidor y cuantos tipos hay?
Un servidor es un tipo de equipo informático encargado de suministrar servicios a
una serie de clientes o hosts, que pueden ser tanto personas como otros dispositivos
conectados a él. La información que puede transmitir es múltiple y variada, desde
archivos de texto, imagen o vídeo y hasta programas informáticos, bases de datos,
etc.
Un servidor se puede encontrar en una computadora de escritorio, absolutamente no
recomendado, o en un equipo de alta tecnología con medidas de seguridad de alto
impacto, este último es el tipo de servidor al que apunto en este manual.
Haciendo referencia al párrafo anterior es que hablamos del servidor dedicado, es
aquel que se encarga exclusivamente de atender solicitudes de los equipos clientes.
Existen distintos servidores dependiendo de las funciones que estos vayan a
desempeñar: servidor de archivo, que almacena y distribuye información, servidor de
correo, aquel que sirve para gestionar las comunicaciones mediante el correo
electrónico de la empresa así como para su almacenamiento, o servidor de fax, cuya
función es la gestión de los envíos y recepciones de este tipo de comunicación.
El servidor actúa como el gran cerebro del sistema informático de la empresa, pues
constituye el elemento capaz de albergar la información necesaria para el
funcionamiento de cada departamento. Tiene una gran utilidad en el desempeño de
la misma, ya que es capaz de llevar a cabo funciones tanto de carácter físico
(funcionamiento de las máquinas y los aparatos necesarios para la actividad
empresarial) como a nivel de información, dado que registra, alberga y envía la
información que los distintos clientes le van solicitando.
Página 60 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Esta pequeña tabla refleja un poco cómo se diferencian entre sí los tipos de
servidores, si bien todos cumplen la misma tarea que es proveer información, el tipo
de información que proveen les da el tipo de servidor que es. También hay que
aclarar que este detalle no refleja en sí la totalidad de tipo de servidores que hay,
solo me enfoco en los más comunes para que sea más sencilla la tarea de
aprendizaje.
b. ¿Es conveniente invertir en servidores?
Al momento de plantear una red informática siempre debemos analizar que vamos a
realizar con ella, qué servicios vamos a brindar, qué permisos vamos a otorgar y
sobre todo para que la estamos haciendo. La pregunta de si es conveniente o no
tiene una respuesta simple, si es conveniente. Por más pequeña que sea nuestra
red, un servidor es casi seguro debemos tener, a veces pasa desapercibido pero es
común que una computadora de un usuario tenga todos los archivos donde los
restantes acceden para trabajar, o a veces tenemos un equipo que da internet a
todos, pues estos son claros ejemplos de servidores que no son notados como si,
por tal motivo están expuestos a que los usuarios puedan causar algún problema o
daño irreparable. Es por este motivo que mantengo la idea de que es muy necesario
tener un servidor dedicado como tal para poder realizar esta tarea como debe ser,
con las medidas de seguridad y de recuperación que amerite el caso.
Si observan la pregunta que da título a este punto del manual verán que no dice
gastar en servidores sino que dice invertir, porque realmente es eso, una inversión.
Tener servidores desde el punto de vista económico es muy favorable ya que
economiza en tiempo y equipamiento, desde el punto de vista de seguridad, nos
Página 61 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
permite aplicar controles sobre un solo equipo y no muchos, desde el punto de vista
profesional, nos brinda posibilidad de escalar en proyectos para nuestra empresa.
En los temas siguientes vamos a ver algunos de los servidores más comunes y
algunas herramientas para poder crearlos
Una vez finalizada la instalación, todo lo que tenemos que hacer es configurarlo. El
archivo de configuración se encuentra en /etc/samba/ en un archivo denominado
smb.conf.
Al manipular archivos del sistema, siempre es mejor hacer una copia de seguridad
del mismo. Para realizar esta tarea previa lo mejor es hacer una copia del archivo.
Página 62 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 63 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
es sólo lectura.
create mask determina los permisos que tendrán los nuevos archivos cuando se
creen.
Ahora que samba está configurado, el directorio /srv/samba/share necesita ser
creado y los permisos necesitan ser establecidos. Creamos el directorio y
cambiamos los permisos del terminal
Página 64 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 65 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Luego que esto se realiza debemos ver si el motor está corriendo dentro de nuestro
servidor, para esto accedemos con el comando mysql
Página 66 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Con estos dos simples pasos tenemos instalado y corriendo nuestro motor de base
de datos. Aquí podríamos detenernos ya que está listo para trabajar. Pero es
engorroso y complicado manejar el entorno de consola de MySQL, para ello usamos
un entorno más amigable como ser PHPMyAdmin.
Esta interfaz ayuda a resolver más ágilmente las necesidades de la administración
de base de datos, seamos nosotros quien lo hace o si tenemos que preparar un
ambiente para que otro usuario se haga cargo.
Su instalación es muy sencilla como todo hasta ahora.
Página 67 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 68 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Como he dicho anteriormente las opciones de squid son muy numerosas, sólo el
archivo de configuración tiene casi 5000 líneas, por esto tiene tanta versatilidad.
Como voy a configurar un sencillo servidor proxy HTTP la mayoría no me interesa,
así que realizaremos una copia de seguridad y nos quedarnos con las opciones por
defecto. También aprovechamos para quedarnos con lo importante, creamos un
nuevo archivo de configuración que incluye las líneas por defecto, eliminando el
resto de líneas que están comentadas, y que se refieren a la documentación o a
opciones que no están activas.
10.12 Dos sentencias para hacer copia de seguridad del archivo de configuración y crear uno nuevo
Squid tiene un sistema para permitir el acceso con una configuración basada en
ACL’s o Listas de Control de Accesos, y según la documentación de squid, se
utilizan dos elementos:
Elementos ACL: definen alguna propiedad de las peticiones que se realizan al
proxy. Por ejemplo, si el cliente tiene una IP (src), o incluso un dominio podemos
permitir o denegar su acceso desde el archivo de configuración. También podemos
permitir o bloquear los puertos de salida para que solo sea posible utilizar un
protocolo que establezcamos. Aquí se encuentra la documentación de acl.
Listas de acceso: Estas consisten en una acción para permitir (allow) o denegar
(deny) seguida de uno o varios elementos ACL.
Si queremos permitir el acceso desde un IP 11.11.11.11 la sentencia correcta es
La primera línea crea un acl (access control list) con el nombre red_tusl que
identifica la conexión, src es la fuente, y la IP corresponde a la de la computadora
autorizada a acceder. Luego tenemos la directiva http_access que nos
permite/deniega esa conexión que hemos identificado.
Página 69 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Con esto ya tendríamos definido los accesos a squid, y este simplemente cargaría la
configuración a usar en memoria para denegar o permitir cada petición.
Cada petición se comprueba si pertenece a la lista de acceso y si no se produce
ninguna coincidencia, la acción que se aplica por defecto es lo contrario de la última
lista de acceso, así que para asegurarnos que nadie se ingrese a nuestra red.
Página 70 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 11
Tareas automáticas
Llegando al último capítulo y con la creencia de que hasta aquí ya se puede migrar a un
entorno GNU/Linux pequeño al cual podemos administrar de manera básica y sencilla.
¿Pero qué sucede si la empresa para la que prestamos servicios día a día crece, sumando
equipamiento informático, más empleados y servicios?, por suerte esta pregunta tiene
respuesta, las tareas automáticas.
a. Ansible, la herramienta de los profesionales
Ansible es una plataforma de software libre para configurar
y administrar computadoras. Combina instalación multi-
nodo, ejecuciones de tareas ad hoc y administración de
configuraciones. Adicionalmente, Ansible es categorizado
como una herramienta de orquestación. Maneja nodos a
través de SSH y no requiere ningún software remoto
adicional excepto Python 2.4 o posterior para instalarlo. La
instalación es bastante simple, al finalizar la misma no
encontraremos bases de datos o algún demonio que monitorizar o inicializar. Sólo es
necesario instalarlo en una máquina, que actuará como punto central de la
aplicación. Ansible al no necesitar software o herramientas en los nodos donde se
ejecute, hace que el mantenimiento y actualización de la versión sea muy sencillo
Para continuar la instalación de esta herramienta en el servidor solo necesitamos
tener Python 2.6 o superior. Con esto aclarado nos ponemos manos a la obra
Página 71 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Ahora debemos asegurarnos de disponer una autenticación por llave SSH con el
nodo. Para esto abrimos una consola en la máquina central y ejecutamos el
comando (se recomienda utilizar una passphrase a pesar de que no es obligatoria)
Página 72 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Ahora podemos iniciar una sesión SSH con el usuario root al nodo sin necesidad de
una contraseña, además ya disponemos de todo lo necesario para ejecutar nuestro
primer comando desde la máquina central.
Para darle instrucciones a los nodos tenemos los Playbooks, que básicamente nos
permiten gestionar la configuración del despliegue que vamos a realizar en ellos.
Dentro de estos archivos describimos la configuración, pero, también nos permiten
orquestar una serie de pasos o tareas a seguir. Para cada tarea se puede
especificar el grupo de nodos objetivo y el usuario remoto que ejecutará cada
operación.
Las tareas son ejecutadas en orden, una a la vez, contra los nodos descritos en la
sección hosts. Es importante destacar que si algún nodo falla en la ejecución de la
tarea, este será sacado de la lista.
El objetivo de cada tarea es ejecutar un módulo. Los módulos sólo se ejecutarán
cuando tengan algo que modificar. Si ejecutamos el Playbook una y otra vez,
podemos estar seguros de que sólo cuando haya algo que modificar el módulo será
ejecutado.
Página 73 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Página 74 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 12
Conclusión
Hemos llegado al final de este manual o instructivo básico para administrar entornos bajo
sistemas operativos basados en GNU/Linux. Aunque parezca repetitiva la idea de remarcar
que es básico, es debido a que usuarios avanzados pueden encontrarlo aburrido y simple,
sin llegar a alcanzar sus expectativas.
Como dije antes mi objetivo es que usuarios que administran bajo otros sistemas operativos
privativos o que les interese dedicarse a esta noble y abnegada tarea de administrar
sistemas dentro del mundo del software libre, ya que si bien existe mucha documentación a
la cual referirse, la misma no está organizada y mucho menos clasificada. En internet
existen tutoriales maravillosos que nos permiten hacer todo lo que hemos visto a lo largo de
este manual y mucho más, pero si no sabemos que buscamos no vamos a dar con ellos de
manera sencilla.
Otro de mis objetivos para realizar este manual es la intención de que usuarios que
desconozcan GNU/Linux puedan ver que no es un monstruo oculto al que no deben
acercarse, muy por el contrario es un entorno que si se lo conoce en profundidad puede
transformarse en el mejor aliado a la hora de encarar todo tipo de proyectos.
Antes de entrar en el último párrafo dejo expreso mi deseo de que este manual no quede en
esto que realice, sino que con la colaboración de todas las personas que tengan intención
de ayudar a otro a desenvolverse en este apasionante mundo del software libre, pueda
seguir creciendo y completando aún más lo escrito en estas hojas.
Por último solo decir gracias por invertir tiempo en la lectura de este trabajo que se realizó
con mucho esfuerzo y sobre todo motivación.
Página 75 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 13
Apéndice
Oracle VM VirtualBox - https://www.virtualbox.org/wiki/Downloads
Ubuntu Mate - https://ubuntu-mate.org/download/
https://gitlab.com/colonista/guia-administradores-sistemas/tree/master
Página 76 de 77
Universidad Nacional del Litoral
Tecnicatura Universitaria en Software Libre
Trabajo Final – Manual de Administración de Sistemas GNU/Linux Básico
Capítulo 14
Bibliografía Web
https://hipertextual.com/2015/10/superusuario-en-linux
http://www.edu.xunta.gal/centros/iesfelixmuriel/system/files/manual_practico_de_linux_alum
nos.pdf
https://www.suomitech.com/%C2%BFpor-qu%C3%A9-software-
librehttps://www.suomitech.com/%C2%BFpor-qu%C3%A9-software-libre
https://es.wikipedia.org/wiki/Software_libre
https://es.wikipedia.org/wiki/GNU/Linux
https://www.linuxadictos.com/linux-vs-windows-diferencias-basicas.html
https://es.wikipedia.org/wiki/M%C3%A1quina_virtual
http://www.ubuntufacil.com/2014/05/ubuntu-particionamiento-recomendado/
https://wiki.vitalinux.educa.aragon.es/index.php/Interfaces_de_usuario_gr%C3%A1ficas_y_d
e_l%C3%ADnea_de_comandos
https://www.computerhope.com/issues/ch000619.htm
https://geekland.eu/que-son-los-repositorios-en-linux/
https://es.wikibooks.org/wiki/Introducci%C3%B3n_a_Linux/Equivalencias_Windows_en_Linu
x
https://www.digitallearning.es/blog/administracion-linux-sistemas-de-archivos/
https://hipertextual.com/archivo/2014/05/editores-texto-terminal-linux/
https://computernewage.com/2015/06/27/conoce-la-estructura-de-permisos-de-linux-al-
detalle/
https://es.wikipedia.org/wiki/Secure_Shell
https://blog.pandorafms.org/es/kit-de-herramientas-para-redes/
Administración de GNU/Linux II - UNIDAD V - Backups: definición y tipos
https://www.adslzone.net/foro/linux-manuales-y-tutoriales.79/tutorial-montar-servidor-web-
sistemas-linux.178710/
https://blog.desdelinux.net/como-montar-un-servidor-web-y-alojar-una-web-en-gnu-linux/
https://es.wikipedia.org/wiki/Ansible_(software)
https://blog.deiser.com/es/primeros-pasos-con-ansible
http://www.kacharreando.com/ubuntu/configurar-proxy-squid/
Página 77 de 77