Linux Fedora 24 WS 11 AGOSTO

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 276

Modulo

Introductorio
Marzo 2017

Conceptos e Historia de Linux

Linux 1
GNU /LINUX
INTRODUCCIÓN

2
Sistema Operativo
Un conjunto de programas de
computación destinados a
realizar muchas tareas entre
las que destaca la
administración de los
dispositivos
Un sistema periféricos.
operativo se
puede encontrar en la
mayoría de los aparatos
electrónicos que utilicen
microprocesadores para
funcionar, ya que gracias a
éstos podemos comunicarnos
con la máquina y que ésta
cumpla con sus funciones
(teléfonos móviles,
reproductores de DVD,
autoradios, computadoras, 3
Capas de Software

n
ció
lica
Ap
Capas de
Entorno software

Sistema
Operativo
Capas de
Hardware Hardware

4
Que es GNU/linux
GNU/Linux es un sistema operativo, el corazón
que hace que todos los componentes de una
computadora funcionen coordinadamente y
de la forma esperada. Posee aplicaciones de
todo tipo, algunas muy parecidas a otras muy
populares y privativas, pero con la
particularidad de que tanto sistema operativo
como las aplicaciones son Software Libre.

5
Qué es el Software Libre ?
Es aquel software que garantiza al
usuario los derechos de ejecución,
acceso a su código fuente
para revisión y modificación,
generación del programa a partir de su
código fuente y libre distribución tanto
de la versión original obtenida como de
sus modificaciones,
sin tener que pagar regalías
a los desarrolladores previos
6
Software privativo o no libre
El software privativo esta muy presente
en nuestras vidas y medios de
comunicación, trata el software como si
fuesen artículos que se pudiesen
comprar, de la misma manera que se
puede llegar a una tienda y comprar un
televisor.

7
¿ El Software Libre es lo mismo
que software gratuito?
No, el Software Libre no siempre es gratis. El mercado
de software, como producto de ingeniería que es,
también cuenta con un amplio abanico de
profesionales especializados. Tienes la posibilidad de
encargar adaptaciones, mejoras personalizadas o bien
adquirir soporte técnico. Servicios por los que tendrás
que pagar, como cualquier otra empresa cuando
requieren sus productos o servicios.
El software gratuito lo puedes conseguir gratis, pero no
es Software Libre, ya que no permite que nadie, salvo
su creador, pueda ver cómo está hecho y mejorarlo.
Mientras que el software gratuito no ofrece ninguna
garantía de estar libre de virus y troyanos, el Software
Libre permite que los expertos en seguridad puedan 8
ver cómo está hecho y certificar que el programa es
¿ El Software Libre es lo mismo
que software gratuito?
El Software Libre te garantiza en todo momento
que sólo tengas que pagar por lo que consumes.
No necesitas pagar por el soporte, el CDROM, una
caja, un manual, o quizás una licencia.
En muchos casos los servicios de valor añadido
que podrían justificar la compra de una licencia
de software no libre, como la puesta a punto o la
asesoría telefónica, suelen ser más baratos por la
libre competencia garantizada y el conocimiento
profundo que cualquier profesional puede
alcanzar sobre cualquier aplicación de Software
Libre.
9
Un poco de historia
A principios de los años 70’s, las empresas sólo
vendían máquinas cuyas dimensiones se contenían
en habitaciones y el software era un accesorio
necesario incluido en el precio.
Esto permitía que los desarrolladores de software a
menudo compartieran conocimientos entre ellos.
Pero a inicios de los 80’s, las máquinas se
abarataron y el software cobró protagonismo en
términos económicos. Un desarrollador del MIT,
Richard M. Stallman, percibió que el secretismo en
el desarrollo de los programas acabaría
perjudicando a todos.

10
Conceptos e Historia de Linux

 Proyecto GNU (FSF)


 Los orígenes de Linux
 GNU + Linux
 Las distribuciones
 Fuentes de Documentación
 Multimedia de Linux

11
1.1 Proyecto GNU

 Richard Stallman
 Proyecto GNU creado en el año 1984.
– Software Libre
– Licencias GPL
– Free Software Fundation

12
1.1.1 ¿Qué NO es el Software Libre?

 Gratuito La confusión viene del inglés free, con las


acepciones libre y gratuito. En español no debería haber
tal confusión.
 Dominio público Para poder hacer uso de software libre
es preciso aceptar los términos de una licencia que
garantice que se mantendrán ciertas reglas y principios.
 Anónimo Se reconoce a los autores y encargados de
mantenimiento del software libre por medio de un
concepto de derechos de autor (copyright) compatible
con sus principios. A veces se le llama copyleft.

13
1.1.1 ¿Qué SÍ es el Software Libre?

 No propietario no hay que tener autorización ni contrato


para poder adquirirlo o usarlo.
 Distribuible puedes hacer tantas copias como quieras,
incluso venderlas. Pero no se puede impedir que alguien
más, a su vez, lo redistribuya.
 Accesible el código fuente está disponible. Se
promueve la conveniencia de distribuir el código fuente
para el desarrollo de software.
 Modificable puedes mejorar el programa, incluso
redistribuir la modificación. La depuración se paraleliza:
rapidez en el desarrollo y calidad del resultado son
compatibles.

14
1.1.1 ¿Qué SÍ es el Software Libre?

 Reusable puedes aprovechar código ya escrito, siempre


y cuando tu nuevo código mantenga las mismas
libertades del software libre.
 Sin garantías nadie te asegura que funcionará, nadie se
hace cargo de ningún daño. No estás desamparado: el
soporte sigue otros cauces distintos a los tradicionales.
 Hereditario cualquier programa derivado de software
libre es también libre. Se prohibe prohibir.

15
1.1.2 Free Software Fundation (FSF)

 Fundada en 1985 por Richard Stallman para promover el


derecho a usar, estudiar, copiar modificar y redistribuir
programas.
 4 Libertades
– Libertad de Uso
– Libertad de Estudio
– Libertad de Distribución
– Libertad de Mejorar el Software y Publicarlo

 Se requiere obligatoriamente el código fuente para poder


aplicarlas.

16
1.1.2 Free Software Fundation (FSF)

 Proyecto iniciado en 1985 por Richard Stallman para


obtener un sistema operativo completo, totalmente libre,
compatible con el sistema operativo Unix.
 La idea original del proyecto era preservar el espíritu
colaborativo que había existido antes de que se
impusieran los obstáculos del software propietario.
 Un sistema operativo incluye ambientes de trabajo
(shells) compiladores, editores, formateadores de texto,
correo, etc. Con el tiempo el proyecto GNU tenía una
colección impresionante de estos programas. Solo
faltaba el núcleo.

17
1.1.3 Estructura de GNU

18
1.2 ¿Qué es Linux?

 Linus Torvalds.
 Nucleo Linux (1991)
– Compatible con Unix
– Licenciado bajo GPL
(General Public License)
– Publicado en Internet

19
1.2 ¿Qué es Linux?

 Estrictamente hablando, Linux es sólo el núcleo (kernel)


de un sistema operativo tipo Unix.
 Fue desarrollado por el finlandés Linus Torvalds en 1991
a partir de Minix, un sistema Unix mínimo, desarrollado
con fines didácticos por Andrew. Tanenbaum.
 El anuncio se hizo en el grupo de noticias comp.os.minix
y permitió la participación de numerosos usuarios y
programadores de todo el mundo a través de Internet.
 El kernel alcanzó una estabilidad a nivel de usable en
1994. A partir de entonces Linux se convierte en el
complemento ideal del proyecto GNU, al que solo le
faltaba un núcleo estable.

20
1.2 ¿Qué es Linux?

 GNU hereda todas las características vistas en la


sección sobre software libre.
 Estable meses (inclusive años) de funcionamiento
ininterrumpido.
 Seguro prácticamente sin virus, un proceso no puede
acceder a áreas de memoria ajenas, etc.
 Multitarea
 Multiusuario
 Compatible cumple el estándar POSIX como otros
muchos UNIX, lo que facilita la migración entre
plataformas.

21
1.2 ¿Qué es Linux?

 Multi-arquitectura disponible para Intel y compatibles,


PowerPC, Macintosh, Amiga, Atari, DEC Alpha, Sun
Sparc, ARM.. .
 Rápido maneja eficientemente los recursos: memoria,
disco duro, CPU, etc.
 Capacidad en red excepcional; fue desarrollado desde
un principio para la conexión en red.
 Elegante es un modelo de programación: pequeño,
extensible, modular.

22
1.2.2 Nucleo de Linux

23
Núcleo de Linux http://www.kernel.org/

24
1.3 GNU + Linux

 Aparte del núcleo y los programas que conforman el


sistema operativo, hacen faltan más cosas para que el
sistema sea útil.
–Estructura de directorios.
–Archivos de configuración.
–Programas de instalación y configuración de partes del sistema.
–Aplicaciones para el usuario final.
–Sistemas de actualización de paquetes.
 Todas estas cosas juntas y bien organizadas son las cosas
que debe proporcionar una distribución.

25
1.3 GNU + Linux

26
1.3 GNU + Linux

27
En pocas palabras …….
GNU es el conjunto de programas y aplicaciones
de las cuales hacemos uso.

“Linux”:Es el Núcleo (Kernel) del Sistema, los


engranes que hacen que las aplicaciones de
GNU funcionen.

28
1.4 Distribuciones

 Una distribución es una recopilación de software ya


compilado y empaquetado para facilitar su instalación y
configuración.
 El gestor de paquetes permite ver una breve descripción,
registra qué programas están instalados, verifica las
dependencias y conflictos (al instalar o al desinstalar) para
que todo funcione siempre. Incluso actualiza a las nuevas
versiones a través de la red de manera transparente.
 Estas distribuciones permiten instalar un sistema
GNU/Linux completo.

29
1.4.1 Componentes de una Distribución

30
1.4.1 Componentes de una Distribución

31
1.4.2 Distribuciones

 Slackware Una de las primeras distribuciones organizadas.


Muy sencilla y primitiva comparada con sus sucesoras.
 Redhat Una de las distribuciones comerciales más
difundidas, de instalación gráfica relativamente amigable.
Sistema de paquetes RPM adoptado por otras
distribuciones.
 Suse Distribución comercial alemana de buena calidad. Usa
el mismo sistema de paquetes RPM.
 Debian Distribución libre desarrollada por un grupo muy
numeroso de colaboradores a través de Internet, de calidad
extraordinaria. La seguridad y detección rápida de errores es
uno de sus puntos fuertes. Su sistema de paquetes es de lo
mejor.
32
1.4.3 Ejemplos de Distribuciones

33
Distribuciones de Linux (Red Hat,
Fedora, Debían, Suse y otros)

34
¿Que es una distribución?
Linux se puede conseguir en diferentes
presentaciones, cada una de estas
presentaciones es llamada distribución, una
distribución Linux es la unión de dos partes
bien definidas: El Kernel Linux y una selección
de software que busca cubrir una necesidad
específica.

35
Cada distribución, en función del usuario al que
van destinadas, agrupa una selección de
programas libres, los configura y los
empaqueta. De esta forma es más fácil instalar
y desinstalar aplicaciones.
Una vez generados estos paquetes, se
selecciona un grupo y se estampa un CD o un
DVD, de tal manera que el usuario sólo precise
el CD para comenzar a trabajar. Los paquetes
no incluidos en el CD o DVD pueden
descargarse a medida que se vayan
necesitando. Estas distribuciones son
susceptibles de especializarse o dar lugar a
nuevas distribuciones.
36
¿Cuántas distribuciones
hay?
Probablemente más de mil, aunque el número
es impreciso, puesto que constantemente
nuevos colectivos adaptan una distribución
existente para generar una distinta, mejor
adaptada a sus necesidades. No es extraño
ver que una compañía realice su propia
distribución corporativa con sus
configuraciones específicas. Muchísimas
distribuciones están orientadas a usuarios
domésticos, servidores, otras al trabajo, otras
a la educación, a la seguridad, a la edición
musical, al ocio y juegos, etc.

37
No todas las distribuciones tienen el mismo
sistema de paquetería, aun cuando todos los
sistemas son equivalentes y se puede
convertir de uno en otro.

Los dos sistemas de paquetería más utilizados


son:

38
TOP 20
www.distrowatch.com

39
Es la distribución comercial especializada en
servidores que apoya el desarrollo de Fedora, esta
distribución cuanta con un largo historial de éxito en
la implementación de servidores, cuenta con soporte
técnico para sus usuarios además de que es una de
las únicas que ofrece además cursos y programas
para certificación con reconocimiento oficial.

Originalmente el sistema de paquetes RPM (Red Hat


Package Manager) se creó para esta distribución,
este sistema de paquetes mantiene la estabilidad
del sistema al administrar y registrar las versiones
del software y manejar las dependencias de las
mismas, el sistema RPM es uno de los más populares
en las distribuciones Linux y muchas de ellas lo 40
emplean.
Entorno gráfico primario Gnome, Esta
distribución tiene una política específica
respecto de los formatos de archivo no libres ya
que no les da soporte (por ejemplo al MP3),
Cuenta con aplicaciones básicas para oficina y
trabajo en red (servidores). Esta es una
distribución que nació al dejar Red Hat de
generar su distribución gratuita, la comunidad
tomo el proyecto y le dio seguimiento con el
nombre de Fedora, aún recibe apoyo y soporte
por parte de la empresa Red Hat. Emplea
paquetes RPM para la instalación de programas
por lo que su estabilidad es muy alta.
41
Entorno gráfico primario KDE, esta es una de
las distribuciones Linux más comerciales,
Soporta hardware muy diverso y algunos
controladores no son software libre, tiene entre
sus programas muchos que son software
propietario, esta es una distribución de carácter
comercial y tiene versiones tanto para
escritorio como específicas para servidores.
Emplea paquetes RPM e instalación por
paquetes en código fuente .tar .gz, es muy
popular en Europa.

42
Entorno gráfico primario Gnome, algunas de
sus diferentes versiones emplean otro entorno
gráfico específico; Es una derivación de la rama
inestable de Debían pero con gestores de
configuración más avanzados, una selección de
software específica para uso en oficina, y sin
soporte de formatos de archivo no libres. Es tan
fácil de trabajar e instalar que su propio lema
dice “Linux para seres humanos”. Al ser
derivada de Debían emplea los paquetes .deb

43
Debian

Es una distribución Linux Independiente de cualquier


compañía, su desarrollo se debe al trabajo conjunto de la
comunidad que mantiene esta distribución
completamente libre por lo que no contiene software
comercial, únicamente contiene software GPL, es muy
completa ya que cuenta con una gran cantidad de
paquetes de software, los paquetes para esta
distribución son DEB (Instalados con Debían Package
Manager).

El único inconveniente para muchos en esta distribución


es que los paquetes de la rama estable no son
precisamente las versiones más nuevas, esto se debe a
que el trabajo voluntario con la cantidad de paquetes
que maneja no es tan veloz como el que tendría una
compañía, es por ello que se han generado un gran
número de trabajos derivados de esta distribución pero 44
LiveCD
Un formato cada vez más popular para la
presentación de Previews (entregas previas o
distribuciones de prueba) y de distribuciones
pequeñas es el llamado LiveCD, un LiveCD es
un CD o DVD que contiene un sistema operativo
Linux que no requiere de instalación, se carga
en partes en la memoria RAM de la máquina y
permite correr el sistema sin tocar el disco duro
(a menos que se desee), son una buena forma
de acercarse a las distribuciones Linux y conocer
sus características sin poner en riesgo el
sistema.

45
LiveCD
Los LiveCD son distribuciones de propósito
específico que en muchos casos muestran
capacidades especiales de Linux, actualmente
muchas de estas distribuciones no solo pueden
iniciarse desde un CD también desde memorias
USB, disquetes y otros dispositivos de memoria
menos convencionales.

46
¿Dónde puedo
conseguir GNU/Linux para mi
computadora?

47
1.4.4 Historia de las Distribuciones

48
1.5 Fuentes de documentación
 GNU/Linux se distingue por la calidad y cantidad de
documentación que incluye desde manuales, “COMOs”,
guías, libros, el usuario tiene todo a su disposición para
informarse de cada detalle del sistema.

 Existe un manual por casi cada comando del


sistema. La forma de consultar esta documentación
(en una terminal de texto) es mediante el comando
man seguido del comando del que se quiere
obtener información. Ejemplo: man mount.
 Los Howtos (“COMOs”) son una especie de recetas
donde se explican paso a paso diversas tareas del
sistema.

49
1.6 Filosofía RTFM

 RTFM: Read The “…” Manual que en español se diría Lea el


… Manual. Se espera que todo usuario de Linux se moleste
en leer la documentación que acompaña a las distribuciones,
antes de hacer preguntas.
 Al existir toda clase de información sobre el sistema, uno
debe informarse lo más posible por su cuenta antes de pedir
ayuda, esta es una forma de cortesía ante los demás, y es la
forma en que se comporta la gente de la “comunidad
GNU/Linux”.

50
Libre como en libertad
 El término «software libre» a veces se
malinterpreta; no tiene nada que ver con el precio
Tiene la libertad de ejecutar el programa para
cualquier propósito.
 Tiene la libertad de adaptar el programa de
acuerdo a sus necesidades (para que esta libertad
sea efectiva en la práctica, debe tener acceso al
código fuente; porque modificar un programa sin
disponer del código fuente es extraordinariamente
difícil.).
 Tiene la libertad para redistribuir copias, tanto
gratis como por un precio.
 Tiene la libertad para distribuir versiones
modificadas del programa, de modo que la
comunidad pueda beneficiarse de sus mejoras.

51
Tipos de instalación
• Estación de trabajo: la más adecuada si es nuevo en el
mundo de Linux y quiere probarlo.
• Servidor: adecuada si desea que su sistema funcione
como un servidor basado en Linux.
• Portátil: instalación sencilla en computadoraes
portátiles.
• Personalizada: mayor flexibilidad en el proceso de
instalación. Podrá elegir su esquema de
particionamiento, los paquetes que desea instalar y
mucho más.
• Actualización: para actualizar rápidamente a los últimos
paquetes y versiones del kernel.

52
Particiones de disco

• Partición swap (de al menos 32 MB): se usa para


soportar memoria virtual. En otras palabras, los
datos se escriben en la partición swap cuando no
hay suficiente RAM para almacenar los datos que
su sistema está procesando. Tamaño adecuado:
doble que la memoria RAM de la computadora.

• Partición root (1.2-2.4 GB): en donde se localice "/"


(el directorio raíz).

53
¿Qué es el Sistema X Window?

Es un conjunto de programas que proveen de interfaces gráficas


basadas en ventanas a un Sistema Operativo. En los Sistemas
Linux se usa una implementación libre de X. Una creencia popular
pero errónea es que Microsoft fue quien inventó el entorno de
ventanas. Para aclarar el caso, aquí van algunos hitos históricos
importantes:

1973: Xerox desarrolla Alto la primera la primera computadora


personal con interfaz gráfica.

1983: Aparece Macintosh, que usaba ventanas.

1984: sale la primera versión del Sistema X Window.

1985: sale la primera versión de Microsoft Windows. También


aparece la primera versión del Sistema X bajo una licencia libre.

54
XWindows – Gnome – KDE
La primera cosa entender es que Gnome y KDE usan el
sistema de XWindows como su base. Por esto, los
programas de KDE corren en Gnome y vice-versa.
Para un servidor no es necesario correr ninguno de
esto.
Si vas a correr uno se puede correr ambos, y mas
sistemas graficas de interfaz.

55
XWindows – Gnome – KDE cont.
 Cual sistema es mejor? No hay respuesta.
 Para configurar la base de estos sistemas vea el
archivo /etc/X11/XF86Config.
 Se puede configurar todo usando menus, pero si
entiendes /etc/X11/XF86Config es mejor.
 Para salir de la interfaz grafica tiene que cambiar al
nivel de inicialización 3 (o 2 o 1).
 También, se puede ir a un shell usando alt-ctrl-f2 a
f6.

56
¿Qué entorno gráfico me conviene?
Hay que recordar que en Linux se puede elegir varios entornos gráficos, los principales son:

KDE: Es un entorno de escritorio con un aspecto similar al de Windows con muchas


funcionalidades incorporadas. Ideal para PCs que cuentan con un mínimo de 128 Mb de
memoria RAM.

57
GNOME: Es la principal alternativa existente a KDE para
quienes están acostumbrados a Windows. Seguramente
GNOME es una buena opción para quienes prefieren un
entorno menos barroco que KDE, aunque quizás posea a
primera vista una interfaz menos familiar para los usuarios de
Windows.

58
XFce: Este es un entorno de escritorio, bastante más
sencillo que KDE y que GNOME, pero que es excelente
para PCs que no poseen la memoria suficiente como para
usar KDE o GNOME.

59
FluxBox: Un entorno de ventanas (no posee un escritorio al
estilo de los nombrados anteriormente) austero y elegante
a la vez. Usa estrictamente lo necesario. Se necesita un
tiempo de adaptación para aquellos que emplearon el
entorno gráfico de Windows. Si se posee una PC con poca
RAM, FluxBox es quizás la mejor opción.

60
Distintas versiones de Fedora 26

61
INSTALACIÓN DE
FEDORA

Linux 62
Sistema de Archivos Linux
 ext2, ext3, reiserfs, jfs, hpfs, etc...
–El “ganador” hoy en dia, ext4 (journaling)
 Estructura de particiones:
–/ (“root”)
–/usr
–/var
–/tmp
–/home
–swap

63
Reglas para nombrar archivos

 Todo en Linux es un archivo (discos, dispositvos, etc.)


 Longitud máxima 255 caracteres
 No existen las extensiones en el nombre del archivo
 Es válido usar caracteres especiales, excepto ‘/’ y null
 Sensible a mayúsculas y minúsculas

64
/ (“root”)
La particion root es donde viven los archivos criticos
para inicializar el sistema al modo de “single user” o
nivel de initializacion 1 (initlevel 1).
La idea es que este sistema no crezca ni cambie y que
se queda aislado al resto del sistema.
Fedora instala, por defecto, asi:
–/boot (aprox. 100Mb)
–swap (1 a 2 x RAM instalado)
–/ (todo el resto del disco duro)

65
/usr
Se lo usa para software del sistema como herramientas
de usuarios, compiladores, X Windows, etc.
Si uno tiene que expander el espacio por este software,
entonces tenerlo separado lo permite esta operacion.

*Hablaremos de esto. No siempre instalamos Linux con una particion de /usr


separada.

66
/var
Aqui se guarda archivos que cambian mucho. Por
ejemplo; los logs de servidor de Web, directorios de
correo, imprenta, etc.
En un servidor es una idea buena tener /var en una
particion aparte. Si alguien, por accidente o a
proposito, crea un monton de correos o muchha
actividad en su servidor de Web, entonces eso puede
llenar la particion. Si /var no esta aparte de otras
particiones puede parar su servidor.

67
/tmp
Donde los usuarios y aplicaciones pueden guardar
archivos en forma temporaria. Normalmente Linux no
usa cuotas, asi es posible por un usuario llenar una
particion con /tmp por accidente o a proposito.
Otro lugar por /tmp puede ser /var/usr/tmp, etc., pero
muchas aplicaciones esperen ver /tmp.
Otro convenio en el mundo de Unix es usar “/scratch” en
vez de /tmp.

68
/home
Aqui viven los directorios de los usuarios en su
servidor (correo, tal vez, no esta guardado en esta
particion).
Sin usar cuotas (comun en Linux) los usuarios
pueden llenar una particion /home facilmente.
Ejemplo: Un usuario escribe un programa que
produce texto en un archivo.

69
Swap
Swap es donde existe su memoria virtual. Es un sistema
de archivo proprio.
Sin swap la PC corre mas rapido, pero esto es
peligroso.
Hay varias ideas sobre cuanto swap tener, y depende
en que servicios esta corriendo. La regla es que swap
deberia ser equivalente a su RAM hasta dos veces de
su RAM (memoria).

70
Sistema de archivos

Tipos de
archivo

Normales Links Directorios Especiales

71
Tipos de Archivos

Archivos ordinarios. Contienen la información con la que trabaja


cada usuario.

Archivos especiales. Suelen representar dispositivos físicos, como


unidades de almacenamiento, impresoras, terminales, etc. En Linux,
todo dispositivo físico que se conecte a la computadora está asociado
a un archivo. Linux trata los archivos especiales como archivos
ordinarios

72
Tipos de Archivos: Enlaces físicos o duros.
No es específicamente una clase de archivo sino un segundo nombre
que se le da a un archivo.

Por ejemplo suponiendo, que dos usuarios necesitan compartir


información de un mismo archivo. Si cada uno tuviera una copia del
archivo se soluciona el problema, pero las modificaciones que realice un
usuario no las vería el otro. Sin embargo, si creamos un enlace duro al
archivo para cada usuario cada vez que uno de ellos modifique
cualquier cosa en el archivo, el otro lo podrá ver puesto que realmente
están viendo y modificando el mismo archivo.

El enlace sirve para localizar el archivo en su ubicación actual, pero no


es el archivo real, sino un segundo nombre que se le da. De esta forma,
con tener un solo archivo real este se podrá utilizar por todos los
usuarios que lo necesiten mediante estos enlaces duros sin necesidad
de duplicar o triplicar el archivo.
73
Tipos de Archivos

Enlaces simbólicos. También se utilizan para asignar un segundo


nombre a un archivo. La diferencia con los enlaces duros es que los
simbólicos solamente hacen referencia al nombre del archivo
original, mientras que los duros hacen referencia al inodo en el que
están situados los datos del archivo original. De esta manera, si
tenemos un enlace simbólico y borramos el archivo original
perderemos los datos, mientras que si tenemos un enlace duro los
datos no se borrarán hasta que se hayan borrado todos y cada uno
de los enlaces duros que existen hacia esos datos en el sistema de
archivos. El conteo del número de enlaces duros que tiene un
archivo se realiza, como ya vimos, en el inodo correspondiente a los
datos del archivo.

Directorios. Son archivos especiales que contienen referencias a


otros archivos o directorios.

74
Estructura

75
Ruta Absoluta vs Relativa
 Ruta absoluta: se indica
TODO el camino para llegar
al archivo
 Ruta relativa: dependiendo
en el directorio que nos
encontremos

ie:
[svalero@radio ~]$
/home/Ana/Carta.txt
[Ana@radio ~]$ Carta.txt
76
Sistema de Archivos

 / Raíz del sistema de archivos.

 /dev Contiene archivos del sistema representando


los dispositivos que estén físicamente instalados
en la estación de trabajo.

 /etc Este directorio esta reservado para los


archivos de configuración del sistema. En este
directorio no debe aparecer ningún archivo binario
(programas). Bajo este deben aparecer otros dos
subdirectorios
77
Sistema de Archivos

 /etc/X11 archivos de configuración de X Window

 /etc/skel archivos de configuración básica que son


copiados al directorio del usuario cuando se crea uno
nuevo.

 /lib Contiene las librerías necesarias para que se


ejecuten los programas que residen en /bin (no las
librerías de los programas de los usuarios).

78
Sistema de Archivos

 /proc Contiene archivos especiales que o bien


reciben o envían información al kernel del sistema
(Se recomienda no modificar el contenido de este
directorio y sus archivos).

 /sbin Contiene programas que son únicamente


accesibles al superusuario o root.

79
Sistema de Archivos

 /usr Este es uno de los directorios más importantes


del sistema puesto que contiene los programas de
uso común para todos los usuarios. Su estructura
suele ser similar a la siguiente: /usr/X11R6 Contiene
los programas para ejecutar X Window.

 /usr/bin Programas de uso general, lo que incluye el


compilador de C/C++.

80
Sistema de Archivos

 /usr/doc Documentación general del sistema.


 /usr/etc archivos de configuración generales.
 /usr/include archivos de cabecera de C/C++ (.h).
 /usr/info archivos de información de GNU.
 /usr/lib Librerías generales de los programas.
 /usr/man Manuales accesibles con el comando man.
 /usr/sbin Programas de administración del sistema.

81
Sistema de Archivos
 /usr/src Código fuente de programas. Existen además
de los anteriores otros directorios que se suelen
localizar en el directorio

 /usr, como por ejemplo las carpetas de los programas
que se instalen en el sistema.

 /var Este directorio contiene información temporal de


los programas (lo cual no implica que se pueda
borrar su contenido, de hecho, ¡no se debe hacer!)

82
Comandos Básicos
Linux

Linux 83
El intérprete de comandos
 El SHELL o intérprete
de comandos es el
proceso encargado de
traducir los comandos
que los usuarios
introducen, a
instrucciones que el
sistema operativo
entiende.
 Es el programa que
esta entre el SO y el
usuario.
 Puedes invocar a una consola
con Shell en cualquier momento
con las teclas “Ctrl+Alt+F2”
hasta la F6 y con “Ctrl+Alt+F1”
regresas a la interfaz gráfica
84
Terminal

85
El comando ls (LiSt)
 Lista el contenido de un directorio
 Su sintaxis es: ls [<directorio>]

Parámetro Descripción
-a Muestra archivos ocultos (que empiezan por “.”)
-l Muestra el formato largo, añadiendo al nombre
datos sobre permisos, ultimo acceso y
propietarios.
-R ls accede a todos los directorios por debajo del
actual listando su contenido.
-t Muestra los archivos en orden cronológico.
-r Invierte el orden en el que aparece listado.

86
Ejemplo comando ls
Donde <directorio> identifica el directorio que queremos
visualizar. Si no se especifica ninguno, se mostrara el
contenido del directorio actual.

Si se quiere conocer todos los archivos contenidos en


nuestro directorio /home/ana, incluyendo archivos
ocultos por orden inverso, utilizamos:

#ls –la /home/ana


Alguna de sus opciones son:
-a todos los archivos, incluso los ocultos que comienzan con punto (.).
-A Lista todos los archivos en los directorios, excepto los que comienzan con punto . (.) y los que comienzan
con doble punto (..).
-F indica tipo: / directorio, * ejecutable, @ enlace simbólico.
-h indicará el tamaño en KB, MB, etc.
-l listado en formato largo (o detallado).
-S clasifica los contenidos de los directorios por tamaños, con los archivos más grandes en primer lugar.
-r invierte el orden de la salida.
-R Lista recursivamente los subdirectorios encontrados.
-t ordenar por fecha de última modificación.
-u ordenar por fecha de último acceso.
-x presenta los archivos por columnas.
-i precede la salida con el número de i-node (ver el comando ln).

87
El comando touch

 Linux incluye una orden que nos permite crear un


archivo de 0 Bytes si este no existia. En cuyo caso, lo
que hace es actualizar las fechas del archivo.
Sintaxis
$ touch [opciones] archivo

Opciones
Archivo ; es el archivo que se desea crear o cambiar
-a ; cambia la fecha y hora del archivo especificado

88
Editor nano
Nano (es representado por el comando nano), es un
editor de textos compacto, que corre atraves del shell,
pero es orientado a pantalla.

Ejemplo

$ nano memo.txt Abre un archivo memo.txt para


editar
$ nano -B memo.txt Cuando se guarda, hace una
copia de seguridad ~.filename
$ nano +83 memo.txt Empieza a editar en la linea 83

89
Ver el contenido de un Archivo
Son diversas las ordenes que existen para visualizar el
contenido de un archivo algunas de estas ordenes son
more, cat, tail, head.

El comando more

La orden more visualiza un archivo de texto pantalla a


pantalla

Sintaxis

$ more [archivo]

Ejemplo
$ more /etc/passwd
90
El comando cat
Permite visualizar el contenido de uno o mas archivos, sin
paradas, a traves del dispositivo de salida por defecto, la
pantalla

Sintaxis

cat <archivo>

91
El comando head

Permite visualizar las diez primeras lineas de un archivo,


podemos modificar el valor de las lineas

Sintaxis

Head [-<numero>]

Ejemplo

$ head -20 /etc/passwd

92
El comando mkdir (MaKe DIRectory)

 Se utiliza para crear directorios


 Sintaxis
mkdir <directorio>
Donde directorio identifica el directorio que queremos
crear

93
Ejemplo mkdir

Ejemplo
$ mkdir bin ;creara un directorio llamado bin en
el directorio raiz
$ mkdir -p imagenes/misc docs
 ; crea un directorio misc en el
directorio imagenes creando
primero el último si es que no
existe (-p); también
crea un directorio
denominado docs en el directorio
raiz.
$ mkdir –p –v /paris/london
94
El comando rmdir (Remove DIRectory)

 Si lo que queremos borrar es un directorio, se utiliza el


comando remdir
 Sintaxis
 rmdir<directorio>
 Donde directorio identifica el directorio que deseamos
borrar.
 Ejemplo
 $rmdir /home/moises/ejemplos

95
Comando rm (ReMove)

 El comando rm (ReMove, Quitar)


 Sintaxis:
 rm [opciones] <archivo|directorio>
 Opciones

-r, o -R: borrar recursivamente. Esta opción es


obligatoria para borrar un directorio, vacío o
no. Sin embargo,
también puede usar el comando rmdir para borrar
directorios vacíos.
• -i: pedir confirmación antes de cada supresión

96
Ejemplo comando rm

rm -i imagenes/*.jpg archivo1: borra todos los archivos cuyo


nombre termina en .jpg en el directorio
imagenes y borra el archivo archivo1 en el directorio raiz,
pidiendo confirmación para cada uno de
los archivos.

• rm -Rf imagenes/misc/ archivo*: borra todo el directorio


misc/ del directorio imagenes/ junto con todos
los archivos del directorio raiz cuyos nombres comiencen con
archivo sin pedir confirmación alguna.
Un archivo borrado utilizando rm se borra irrevocablemente ¡No hay forma alguna de recuperarlo! (Bueno, en realidad hay
varias maneras de hacerlo, pero ninguna es trivial). No dude en usar la
opcion -i para asegurarse de que no borra algo por error.

97
Mover o renombrar un archivo
 Si lo que queremos es mover o renombrar un archivo, la
orden que nos permite realizar esta operación es mv
(MoVe).
 Sintaxis
 mv <origen> <destino>
 Ejemplo
 $ mv mensaje mensaje 01 ; nos permite
cambiar el nombre
del archivo mensaje a
mensaje 01
 $ mv mensaje /datos ; nos permite
cambiar el
nombre del archivo 98
El comando cp (CoPy)

 La copia de directorios se realiza mediante la orden cp


 Sintaxis
 cp <dir_origen> <dir_destino> -R

dir_origen identifica el directorio que queremos copiar y


dir_destino el directorio donde será copiado toda la
informacion. Si el directorio a copiar incluye
subdirectorios, se debe usar la opción –r o R
(indistintamente) para poder realizar una copia
recursiva)

99
El comando cp
 Permite copiar un archivo en otro o varios
archivos en un directorio

Ejemplo

$ cp /etc/passwd .
$cp /home/hope/files/* /home/hope/backup
$ cp /usr/bin/*sh /tmp

100
CONSOLA Y PROGRAMAS
BASICOS DEL SISTEMA
Comando: cd

• Este comando se utiliza para navegar por la estructura


de directorios.

• Existen 2 formas de llegar a un directorio a través de este


comando:

1. Utilizando rutas absolutas (desde el directorio raíz).


2. Utilizando rutas relativas desde el directorio actual.

101
CONSOLA Y PROGRAMAS
BASICOS DEL SISTEMA

CASO 1 comando: cd

La ruta comienza por / y va nombrando cada uno de los


nodos del árbol hasta el directorio objetivo.
p.e acceder al directorio texto en la carpeta de usuario:

~>cd/home/ana/texto

102
CONSOLA Y PROGRAMAS
BASICOS DEL SISTEMA

CASO 2 comando: cd

La consola toma el directorio actual como punto de inicio


relativo a la navegación.
De esta manera si se quiere acceder al directorio posterior
desde la carpeta de usuario /home/ana, sitio done nos
encontramos, se tecleara simplemente:

~>cd texto

103
CONSOLA Y PROGRAMAS
BASICOS DEL SISTEMA
Comando: cd

Para retroceder hasta la carpeta situada en el nivel


anterior se utiliza el directorio especial “..”.

Por ejemplo, desde nuestra carpeta de usuario


accederíamos a /home con:

~>cd..

Notar que para usuarios de Windows que el comando cd


requiere dejar un espacio en blanco antes de introducir
los “..”.

104
CONSOLA Y PROGRAMAS
BASICOS DEL SISTEMA
Comando: cd

Para retroceder hasta el directorio raíz y entrar a la


carpeta /etc de forma relativa se podría usar:

~>cd ../../etc

Así se sube de niveles hasta el directorio raíz y se


avanza uno hasta /etc. si no se añade al comando
ninguna ruta, este nos llevara al directorio por defecto del
usuario.

105
El comando pwd

 Este comando indica el camino absoluto del directorio


en el cual nos encontramos actualmente

 Ejemplo
$ pwd
/home/pepe/backup/pruebas

106
El comando man

 Este comando muestra las páginas de manual de


los distintos comandos

Ejemplo

$ man cp
$ man mkdir
$ man rm
$ rm touch
107
El comando cal
 Este comando muestra el calendario en la salida
estándar
 Ejemplos
 $ cal
 $ cal 1960
 $ cal 10 1994

El comando clear

• Limpia la pantalla y deja el prompt al inicio de la


pantalla

108
Los comandos more y less
 Estos comandos paginan (dividen en páginas)
uno o varios archivos y los muestran en la
terminal.
 Se diferencian en cuanto a las facilidades que
ofrecen.

Ejemplo
$ more pila.java

109
Comando more y less

 less: un paginador
 Su nombre es un juego de palabras relacionado al
primer paginador existente bajo UNIX®, que se
denominaba more.
 Un paginador es un programa que permite al
usuario ver archivos largos página por página (o,
más precisamente, pantalla por pantalla).

110
Comando less
 Utilice el comando less para ver archivos grandes que
no entran en una pantalla.
Ejemplo:
 less /etc/termcap
 Para navegar por el archivo, use las teclas de las
flechas para arriba y para abajo. Utilice Q (por quit,
salir) para salir del programa. En realidad, less puede
hacer mucho más que eso.
 De hecho, simplemente presione H para la ayuda (en
inglés) acerca de las varias opciones disponibles.

111
Comando uname
Permite conocer datos generales sobre el sistema en el
que se está actualmente.
Ejemplo:
#uname -a

-a, --all imprimir toda la información, en el siguiente


orden, salvo -p omitir
-s, --kernel-nombre imprimir el nombre del núcleo
-v, --kernel-versión imprimir la versión del núcleo
-m, --machine imprimir el nombre de hardware de la
máquina
-p, --processor imprimir el tipo de procesador o
"desconocido"

112
El comando shutdown
 Antes de apagar la PC, es necesario cerrar
apropiadamente el sistema. Nunca apague la PC sin
“bajarlo” primero, pues se puede dañar el sistema.

Sintaxis: # shutdown [opciones] hora [aviso]


Algunas de sus opciones son:
 -r ; reinicia después del apagado
 -h ; detiene al sistema después del apagado
 -f ; realiza un reinicio rápido, sin comprobar ningún sistema de archivos

Ejemplos:
 # shutdown -r +15 "Reiniciando el sistema..."
 # shutdown -h now

113
El comando ssh (Secure Shell)

 Secure Shell (SSH) es un protocolo de red que nos


permite ejecutar un shell en una maquina remota
mediante un canal seguro.

Ejemplo
# ssh [email protected]
Ya en este punto, pueden conectarse a la maquina
remotamente por el puerto 22, usando un cliente SSH
como putty por ejemplo.

114
Ejecutar acciones como root

En Linux, la mayor parte de los archivos sensibles y


programas útiles para la configuración del sistema solo
pueden ser usados por el superusuario, existen 2 formas
básicas de ejecutar programas de esta forma:

SUDO

SU

115
Ejecutar acciones como root
# SUDO

Nos permite ejecutar un programa desde la línea de


comandos como superusuario.

1. Una vez que se introdujo el comando sudo (pulsando


enter)
2. Nos pedirá la contraseña de superusuario y el programa
se ejecutara con privilegios de superusuario.

Nota: para ser uso de este comando debe estar incluido en


el archivo /etc/sudoers, si no cumple este requisito el
usuario no podrá utilizar sudo

116
Agregar usuario a lista de sudoers en Fedora 23
su -l
–Luego, se debe editar el archivo /etc/sudoers
–buscar la linea
–root ALL=(ALL) ALL
Solo es necesario copiar la misma línea, pero agregando el nombre
del usuario al que queremos asignarle los permisos de sudoer.

Al final, debería quedar algo como:


root ALL=(ALL) ALL
miusuario ALL=(ALL) ALL

117
Ejecutar acciones como root
->SU

Permite ingresar en el sistema como superusuario.

1. Introduciendo su en la consola.
2. El sistema solicitara el password de superusuario, a partir
de ese momento, cambiara el ultimo carácter del prompt
a #, en este momento se estará logueando como root

Nota: abusar de su uso no es muy recomendable ya que


implica estabilidad del sistema

118
¿Qué es DNF?
 A partir de la versión 22 de Fedora, ésta incluye con un
cambio bastante significativo bajo el capó: la
introducción de DNF (DaNdiFied dnf) como el gestor de
paquetes por defecto.
 Es un gestor de paquetes escrito en python, que usa
curl, el proyecto Fedora a mencionado que será el
gestor de paquetes oficial para Fedora 22.

 Recordemos que DNF apareció disponible por primera


vez en Fedora 18 y desde entonces a mejorado
notablemente en sus funciones, a tal grado que son
muy pocas las funciones que aun no se han migrado
del viejo dnf.

119
 Los usuarios que empiezan a utilizar DNF, en ocasiones
se sorprenden con el comportamiento del nuevo gestor de
paquetes, pues este presenta mejor rendimiento al realizar
las descargas y la instalación de paquetes.

 Entre las grandes mejoras nos encontramos que los


paquetes se almacenan por defecto en el cache del
sistema y el uso de meta datos, teniendo así un especie
de función aprueba de errores, facilitando la descarga de
los paquetes a instalar o actualizar, en caso de que ocurra
algún problema externo podemos recuperar nuestra
instalación a partir del ultimo paquete descargado.

120
Actualizar Fedora 24

Entrar a una terminal

Desde la terminal ejecutamos los siguientes


comandos:

Al Iniciar, desde una terminal (como root)

# su -l

# dnf -y update

Esta acción actualizara los componentes


instalados del sistema
121
PostinstallerF Instalara todo software que no se
incluye por defecto, después de ejecutar Fedora por
primera vez. Es fácil para el nuevo usuario. ¡Contiene lo
que tu necesitas!

**How to Install PostInstallerF**

desde una terminal (4 pasos):

# dnf -y install wget

# wget -P /etc/dnf.repos.d/
https://raw.github.com/kuboosoft/postinstallerf/master/postin
stallerf.repo

# dnf clean metadata

# dnf -y install postinstallerf


122
RPM Fusion y Community repositories

RPM Fusion provee software que no incluye el Proyecto Fedora o Red Hat.
Este software también se ofrece precompilado en RPMs para todas las
versiones actuales de Fedora y Red Hat Enterprise Linux 5 y 6; puedes usar
los repositorios RPM Fusion con dnf (dnf-deprecated) y/o dnf. Community
repositories son aquellos repositorios opcionales compatibles con Fedora,
que contiene varios programas que por razones de licencias no pueden
incluirse por defecto en la distribución mucho menos en rpmfusion.

Instalación (actualizado)

dnf -y install --nogpgcheck


http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E
%fedora).noarch.rpm
http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$
(rpm -E %fedora).noarch.rpm

http://kuboosoft.blogspot.mx/2015/10/que-hacer-
despues-de-instalar-fedora-23.html
123
dnf -y install
http://mirror.yandex.ru/fedora/russianfedora/russianfe
dora/free/fedora/russianfedora-free-release-
stable.noarch.rpm

dnf -y install
http://mirror.yandex.ru/fedora/russianfedora/
russianfedora/nonfree/fedora/russianfedora-nonfree-
release-stable.noarch.rpm

124
INSTALAR ESCRITORIO KDE

dnf -y install kde-l10n-Spanish

dnf groupinstall KDE

dnf install @kde-desktop

reboot

dnf -y install system-config-language

system-config-language
125
Resumen

Comando Descripción
cp Nos permite copiar archivos, pero no directorios:
~>cp original copia
mv Nos permite renombrar o mover archivos, se utiliza
igual que cp
~>mv original copia
rm Nos permite borrar archivos
~>rm archivo

126
Resumen

Comando Descripción
rmdir Nos permite borrar directorios aunque previamente tienen
que estar vacios
~>rmdir directorio
rm –r Borra un directorio y los archivos que contenga
~>rm –r directorio

127
Resumen
Comando Descripción
uname Permite conocer datos generales sobre el sistema en el
que se está.
Muestra el tipo de kernel, nombre del equipo, dirección
ip.
Muestra datos sobre el kernel y el procesador.
hostname Permite conocer el nombre de red del ordenador, así
hostname -h como datos sobre DNS, IPs o alias.
Para obtener más información.
w Muestra los usuarios conectados a la maquina en ese
instante. Un usuario dado puede aparecer repetido si ah
iniciado varias sesiones en el servidor

128
Administración de
Usuarios

Linux 129
Administración de los usuarios del
sistema
 Linux es un sistema multiusuario, lo cual significa que
pertenece a varios usuarios, que utilicen el sistema
simultáneamente a través del shell o conexiones
remotas.
 En este sistema, el control del acceso al equipo y sus
recursos se realiza a través de las cuentas de usuarios y
grupos.
 Interfaces gráficas
 Terminal del sistema
 Archivos de configuración

130
Gestión de usuarios
 Root es el usuario mas importante ya que es el
administrador y dueño del sistema, se aconseja
utilizar la cuenta de root para las tareas especificas
de administración y el resto del tiempo utilizar una
cuenta de usuario normal.
 Usuarios normales, son los usuarios que pueden
iniciar sesión en el sistema y tienen funcionalidad
limitada en los comandos a ejecutar.
 Usuarios asociados a servicios, estos usuarios no
pueden iniciar sesión en el sistema.

131
Tipos de usuarios
Los usuarios en Unix/Linux se identifican por un número
único de usuario, User ID, UID. Y pertenecen a un grupo
principal de usuario, identificado también por un número
único de grupo, Group ID, GID. El usuario puede
pertenecer a más grupos además del principal.

132
Usuario Root
 También llamado superusuario o administrador.
 Su UID (User ID) es 0 (cero).
 Es la única cuenta de usuario con privilegios sobre todo
el sistema.
 Acceso total a todos los archivos y directorios con
independencia de propietarios y permisos.
 Controla la administración de cuentas de usuarios.
 Ejecuta tareas de mantenimiento del sistema.
 Puede detener el sistema.
 Instala software en el sistema.
 Puede modificar o reconfigurar el kernel, controladores,
etc.

133
Usuarios especiales
• Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail,
operator, squid, apache, etc.
• Se les llama también cuentas del sistema.
• No tiene todos los privilegios del usuario root, pero
dependiendo de la cuenta asumen distintos privilegios de
root.
• Lo anterior para proteger al sistema de posibles formas
de vulnerar la seguridad.
• 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 (generalmente) automáticamente al momento
de la instalación de Linux o de la aplicación.
• Generalmente se les asigna un UID entre 1 y 100 (definifo
en /etc/login.defs)
134
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 Linux se les asigna
generalmente un UID superior a 500.

135
Usuarios asociados a servicios.
Su utilización es muy útil ya que permiten establecer los
privilegios que posee un determinado servicio.

Por ejemplo el servidor de paginas web tiene asociado


el usuario apache para poder especificar a que archivos
tiene acceso.

136
ADMINISTRACIÓN DE USUARIOS
nombre_identificador (login):
 Es único en todo el sistema. Se puede utilizar letras y dígitos.
También (.) y (_). Generalmente se limitan a 8 caracteres, pero es
configurable su cantidad.

userID(UID):
 Nro. que recibe el usuario y le permite identificarse
unívocamente dentro del sistema. El UID 0 es reservado para el
root, y generalmente el -1 o 65535 para el usuario.

group ID(GID):
 Similar al UID, solo que identifica al grupo al que pertenece el
usuario.
137
 contraseña:
 Se puede deshabilitar al usuario usando un (*). Generalmente
es recomendable introducir a continuación las razones por
que se ha deshabilitado a dicho usuario.
 nombre_completo:
 Nombre real del usuario.
 directorio_home:
 Es el directorio personal de los usuarios, generalmente es el
directorio donde aparece el usuario luego de loguearse
 shell de inicio:
 se especifica el interprete de comandos que usará el usuario
cuando se loguee en el sistema.

138
Agregar usuarios (useradd/adduser)

 useradd [-c comment] [-d homedir] [-e expire_date]


[-f interactive_time] [-g initial_group] [-G group[,...]]
[-m[-k skeleton_dir]] [-M] [-s shell] [-u uid] [-n] login

 Ejemplo
• useradd marialuisa -c “María Luisa” -d /home/maria –g users
-G audio -s /bin/bash –m maria

139
Cambio de contraseña

 passwd [usuario]
 El modificador usuario solo el root puede ocupar.

Cambio de usuario

 Si ejecuta el root, no le pide la confirmación de contraseña.


 su [usuario]

140
Borrar usuarios (userdel/deluser)

 userdel [-r] login


 -r: se borran todos archivos propiedad del
usuario en su directorio home.

 Ejemplo
 userdel maria
 userdel–r juan

141
Modificar (usermod)
 usermod [-c comment] [-d homedir] [-e expire_date]
[-f interactive_time] [-g initial_group] [-G group[,...]]
[-m[-k skeleton_dir]] [-M] [-s shell] [-u uid] [-n] [-l
login] login

 Ejemplo
–usermod -c “María Luisa”-d /home/marilu -g administradores
-G audio -s /bin/csh -m –l marilu maria

Nota. Para cambiar el shell del usuario primero debemos


de instalar el shell deseado. Ejemplo:
#dnf install csh
142
GRUPOS EN LINUX

En las redes
informáticas
resulta útil
agrupar a varios
Los grupos de
Linux sabe usuarios bajo un
Linux son
como solo grupo para
guardados en el
administrar administrar
archivo
grupos. mejor los
/etc/group.
controles de
acceso a
recursos de la
red de trabajo.

143
Agregar grupo (groupadd)

 groupadd [-g gid] [-r] group


 -g: Especifica el GID para el grupo. Por defecto se
asigna el primer valor libre.
 -r: Indica que el grupo se agregará como grupo de
sistema, por lo que tendrá una GID menor que 499.

 Ejemplo
 groupadd –g 99 migrupo

144
Borrar grupo (groupdel)

 groupdel grupo

 Ejemplo
–groupdelmigrupo

145
Modificar (groupmod)

 groupmod -g gid -n nombre_grupo group


–-g: permite cambiar el GID del grupo.
 -n: permite cambiar el nombre del grupo.

 Ejemplo
»groupmod–g 100 migrupo
» groupmod –n elgrupo migrupo

146
/etc/groups

 nombre_grupo:contraseña_cifrada:GID:miembro1,
miembro2, ...

147
Si en la línea de comandos tecleamos cat /etc/group,
Cada línea contiene información en especifico.

Lo anterior contiene datos sobre un grupo en especifico.

148
Analicemos cada campo:

users El nombre del grupo


x La contraseña encriptada del grupo. Si esta
vacía, no hay contraseña; si contiene una x, la
contraseña debe estar en /etc/gshadow
100 El numero de identificador del grupo,
comúnmente referido como el GID (Group
Identification)
En este caso se puede observar que no hay mas usuarios
que pertenecen al grupo descrito
149
/etc/passwd

 Almacena toda la información acerca de los


usuarios. El archivo tiene un usuario por
línea, y cada campo del registro está
limitado por (:).

 login:password:UID:GID:nombre_completo:
dir_home:shell_inicio

150
/etc/shadow
 Además de la contraseña encriptada, el archivo contiene la
siguiente información:
 -Nombre de usuario.
 -Contraseña encriptada.
 -Días desde el 01/01/70 que ha cambiado la contraseña.
 -Días antes de que se tenga que cambiar la contraseña.
 -Días antes de que expire la contraseña y se avise al usuario.
 -Días después de que expire la contraseña y se deshabilite la
cuenta.
 -Días desde el 01/01/70 que se deshabilite la contraseña.
 -Campo reservado.

151
Ejemplo. Si escribimos en la línea de comandos
/etc/passwd , nos mostrara información acerca de las
cuentas de usuario:

152
Cada línea contiene información particular perteneciente a
los distintos usuarios, tomando el ejemplo anterior tenemos:

Función de cada campo en particular:

may  Nombre del usuario.


 Esta cuenta debe ser única en la maquina
local

153
x  Campo de contraseña.
 En el pasado es donde se guardaba la
contraseña encriptada, ahora se prefiere el
uso del archivo /etc/shadow para esta tarea.
 La x indica que la contraseña se guarda en
este archivo.

154
1000  Corresponde al identificador de usuario
comúnmente referido como UID (User
Identification).
 Es único en el ordenador y se ocupa de
mantener un rastro de que archivos
pertenecen a la cuenta de usuario may

155
1000  Corresponde al identificador de grupo
referido como GID (Group Identification).
 Es único en el ordenador y se ocupa de
mantener un rastro de que archivos
pertenecen a ese grupo en particular. En este
caso, la cuenta may está asociada al grupo
users

156
May  Sirve para guardar comentarios acerca del
usuario

/home/may  Contiene el directorio de inicio del usuario.


 Cada vez que inicie una sesión en el
ordenador, inicia a trabajar dentro de este
directorio

/bin/bash  Contiene la consola por defecto que ocupa el


usuario para ejecutar instrucciones en el
ordenador.
157
Donde antes aparecía una x era donde se almacenaba la
contraseña. Pero se añadió una capa extra de seguridad al
mantenerlas en el archivo /etc/shadow.
Escribiendo /etc/shadow se obtiene nuestra contraseña
encriptada

158
Cada línea contiene información en especifico, analicemos
cada campo:

may  Nombre del usuario.


 El mismo que ocupa en etc/passwd

159
$6ka.I8RsB$9J4w9P  Contraseña encriptada.
ac.aql7/  Este es el hash resultante al pasar la
contraseña por el método de encriptación
iCVTVsMUMU1Bcyjz
MD5. El campo no debería permanecer
GJ43DCXd7kkn/ vacio (el usuario entra sin validar la
QLhJjiWFQe6.i65eV contraseña).
V8XjwHL/
E8.loMKfoRGgsV40

160
14655  Ultimo campo de contraseña.

161
0  Este campo representa el mínimo número de días
hasta que se permita un cambio.
 Desde este número de días a partir de la última vez
que se cambio la clave, no se permite volver a
modificarlo.
 Un valor de cero nos permite la modificación siempre
que se desee.

162
99999  Representa un máximo valor de días para exigir
un cambio de contraseña

163
7  Representa el número máximo de días
hasta que exija cambio.
 Si este número es menor que el mínimo
numero de días hasta que se permita el
cambio, entonces no se puede modificar
la contraseña.
 Si transcurrido ese tiempo no se
modifica la contraseña, entonces la
cuenta se deshabilita

164
-  Este campo está en blanco, guarda el
valor para el numero de días de aviso de
caducidad
-  Este campo está en blanco, almacena el
número de días que se tiene antes
desactivar la cuenta
-  Este campo está en blanco, puede
especificar una fecha de caducidad,
indicando para cuanto tiempo se ha
creado la cuenta.
165
Chown

 Cambia el propietario de un archivo. Solo el usuario root o el


propietario del archivo pueden hacer esto.
–chown [-R] nombre_usuario nombre_archivo
 -R: solo se ocupa cuando nombre_archivo es un directorio.
Esta opción indica que el comando descienda recursivamente
a través del árbol y aplique los cambios a todos los archivos
y subdirectorios que contiene.

chgrp
 Permite cambiar el grupo de un archivo.
 chgrp [-R] nombre_grupo nombre_archivo

166
PERMISOS EN LINUX
Linux provee un sistema de permisos que concederá o
denegara la manipulación de archivos y directorios en el
sistema de archivos.

Para archivos, el usuario puede controlar si se pueden leer


los contenidos, que es el caso para documentos de texto,
controlar quien podrá escribir dentro del archivo y también
puede controlar quien puede ejecutar el programa.

Para directorios, el usuario puede controlar quien tiene


permiso para leer los contenidos, escribir dentro de estos o
ejecutar programas dentro del directorio.
167
PERMISOS EN LINUX
El comando ls -l se obtiene un listado detallado con información
acerca de los archivos contenidos dentro del directorio

168
PERMISOS EN LINUX

Es importante destacar que el archivo solo puede


pertenecer a un único dueño y a un solo grupo.

Para controlar quien puede usar el archivo, se


examinara la columna con los permisos del
archivo, que se separa en cuatro partes
principales.

169
PERMISOS EN LINUX
Permisos de archivo:
TIPO DE PERMISOS PERMISOS PERMISOS PARA
ARCHIVO PARA EL PARAEL GRUPO EL RESTO DEL
DUEÑO MUNDO
- rw- rw- r--
Donde:
r indica que se concede el permiso de lectura (read en
ingles)
w indica el permiso de escritura (write)
x representa un permiso de ejecución (execute)
Nota: Siempre se indican en el orden rwx
Si se deniega el permiso en cualquiera de los casos,
simplemente aparece un - , en lugar de la letra indicada
170
PERMISOS EN LINUX

Los tipos de archivo descritos pueden ser:

- Un archivo normal
D Un directorio
B Dispositivo de bloque
C Dispositivo de
carácter

171
PERMISOS EN LINUX
Ejemplo Permiso perteneciente
al grupo al que
pertenece el archivo .
Permiso que El usuario solo Puede
pertenece al leer, y ejecutar
dueño del
archivo.
Puede leer,
escribir y ejecutar -rwx r-x --x
Resto del mundo esta
limitado a poder
solamente ejecutar el
archivo.

172
PERMISOS EN LINUX

Notar, que los permisos se conceden o se deniegan, los


permisos resultan ser una colección de 0’s y 1’s, en vez de
representar los permisos “encendidos”, del ejemplo
anterior, por sus letras:

rwx (111), r-x(101), –x(001)

7 5 1

173
PERMISOS EN LINUX
Considere el archivo ejecutable listado

Para poder manipular los permisos sobre los archivos,


existe el comando chmod

chmod permisos archivo


[archivo….]

174
MODIFICANDO LOS PERMISOS

Del ejemplo anterior, nótese que el archivo amsn_received, el


dueño del archivo tiene permiso de leer, escribir y ejecutar y
que corresponde en numero decimal 7.

Y se puede observar que los permisos pertenecientes al grupo


al que pertenece el archivo, y el permiso para el resto del
mundo, no tiene permiso para leer, escribir y ejecutar.
A lo que corresponde:
Dueño/Grupo/Resto del mundo
Expresado en valor binario: 111000000
Expresado en valor decimal:700
175
MODIFICANDO LOS PERMISOS

De lo anterior, se puede modificar los permisos:

Permiso Grupo Valor Valor


decimal binario
Dueño del rwx 7 111
archivo
Grupo al r-x 5 101
que
pertenece el
archivo
Resto del --x 1 001
mundo
176
MODIFICANDO LOS PERMISOS

Par poder verificar, los cambios realizados en los


permisos, se accede con el comando ls- l para tener el
listado detallado con la información acerca de los archivos
contenidos dentro del directorio

177
Atributos de los archivos

[user@localhost]# ls -l
-rwxr-x--- 1 pepito depart1 4348 Nov 24 16:19 test

Tipo de archivo Propietario Grupo Los demás Tamaño Fecha/Hora Nombre


d = directorio r = read En bytes
- = datos w = write
l = enlace x = execute

178
EJERCICIO
 1- Crear un grupo denominado “Gerencia”
 2- Idem, “Comercialización”
 3- Crear dos usuarios (Florencia y María) que pertenezca al
grupo Gerencia.
 4- Crear dos usuarios (Franco y José) que pertenezcan al grupo
Comercialización.
 5- Crear un archivo (archFlo) dentro del directorio home de
Florencia, cuyo dueño sea Florencia y grupo dueño Gerencia,
con los permisos (dueño:RW-, grupo: R--, otros: ---)
 6- Crear un archivo (archFranco) dentro del directorio home de
Franco, cuyo dueño sea Franco y grupo dueño
Comercialización, con los permisos (dueño:RW-, grupo: R--,
otros: ---)

179
 1-Ingrese al sistema con el usuario MARIA
 i-Intente modificar el archivo archFranco. Puede modificarlo?
y leerlo? Porque?
 ii-Intente modificar el archivo archFlo. Puede modificarlo? y
leerlo? Porque?

 2-Ingrese al sistema con el usuario FRANCO


 i-Intente modificar el archivo archFranco. Puede modificarlo?
y leerlo? Porque?
 ii-Intente modificar el archivo archFlo. Puede modificarlo? y
leerlo? Porque?

 3-Pruebe lo mismo con los usuarios FLORENCIA y JOSÉ

180
Usuario

Usuario Grupo

Maria Gerencia
Florencia Gerencia
Franco Comercialización
Jose Comercialización

181
Archivo Dueño Grupo Dueño Permisos
archFlo Florencia Gerencia rw- r-- ---
archFranco Franco Comercializacion rw- r-- ---

182
Actividades
 Para realizar las practicas vamos a imaginar que
somos el administrador del sistema informáticos de una
empresa de diseño.
 En esta práctica vamos a administrar los usuarios del
sistema y el sistema de archivos para que tengan
accesos los usuarios a unos datos específicos.
Básicamente tendremos una carpeta en la que se van
a guardar los datos:
 /Datos. Esta carpeta va a contener los diferentes
documentos y programas que utilizan los usuarios de la
empresa

183
Actividades
I ADMINISTRACION DE USUARIOS
Dar de alta los usuarios que se encuentran en la siguiente
tabla y asignar los grupos a los que pertenece cada usuario.
TABLA 1 LISTADO DE USUARIOS
NOMBRE EMPLEADOS CLIENTES ADMINISTRADOR
Luis X
Samuel X
Martin X
Cesar X
Lourdes X
Juan X

184
II Dentro de la carpeta datos deberá crear las siguientes
carpetas

Documentos
Información_Contable
Programas
Carpeta_Compartida
Proyectos

A continuación, utilizando los usuarios y grupos creados


en la actividad I, establecemos los permisos que se
muestran en la tabla

185
TABLA 2 LISTADO DE CARPETAS
Nombre Empleados Clientes ADMINISTRADOR

/Datos/Documentos RW R RWX

/Datos/Informacion_Contable RW R RWX

/Datos/Programas RW R RWX

/Datos/Carpeta_Compartida RW R RWX

/Datos/Proyectos RW R RWX

186
Herramienta de
monitorización del
sistema

Linux 187
Herramientas básicas de monitorización
en GNU/Linux

Categoria Comandos
Procesos ps
Almacenamiento df, du
Memoria free, pmap
Red iostat, iftop, netstat, ping, traceroute
Polivalentes dstat, iostat, top, vmstat, who,
xosview

188
who y w (Herramienta polivalente)

 who: quién está conectado al sistema (logged on)


fede :0 Oct 30 15:07 (console)
xavi pts/0 Oct 30 17:45
(paraiso.disca.upv.es)

 w: quién está conectado al sistema (logged on) y qué


hace

% w
1:38pm up 4:27, 18 users, load average: 0.04, 0.03, 0.04
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
jaume ttyp1 kaizen.gap.upv.e 9:17am 2:02m 2:48 0.48s -sh
fede ttyp2 10:28am 51:02 0.14s 0.03s rlogin ma
xavi :0 songoku.disca.up 1:20pm ? 7:32 ? -
pperez ttyp3 10:02am 29:22 0.18s 0.14s ssh tiberio.

189
El comando who
 Este comando muestra a los usuarios conectados al sistema ya sea local o
remotamente. Sin argumentos who muestra los logins de los usuarios
conectados, por que terminal lo han hecho y en que fecha y hora.

Sintaxis:
$ who [opciones] [archivo] [am i]

Algunas de sus opciones son:


 -H ; imprime un encabezamiento para las columnas.
 -q ; sólo muestra los logins de los usuarios conectados y la cantidad total de
ellos.

$ who $ who -H -w -i $ who am i $ who -q


coco tty2 Oct 17 15:59 USER MESG LINE LOGIN-TIME IDLE FROM gloin!pepe tty2 Nov pepe root alma coco
root tty3 Oct 17 12:40 pepe + pts/2 Nov 16 09:26 old 16 09:26 # users=4
alma :0 Oct 17 08:21 root - tty1 Nov 17 09:01 00:11
pepe pts/0 Oct 17 10:20 alma ? :0 Nov 17 09:10 .
coco - pts/0 Nov 17 10:30 00:05

190
uptime

 Tiempo que lleva el sistema en marcha y la carga


media que soporta
% uptime
1:21pm up 1 day, 4:09, 18 users, load average: 1.04,
0.30, 0.09

Último minuto 15 últimos minutos


Hora actual Tiempo en marcha
–Estimación de la carga 5 últimos minutos
• Operación normal: hasta 3
• Muy alta: entre 4 y 7
• Excesivamente alta: mayor que 10
–La carga se tolera según la configuración de cada sistema

191
free
El comando Free en Linux muestra la cantidad de
memoria libre y usada que tiene el sistema.

Por una parte muestra la memoria física y por otra la


swap, también muestra la memoria caché y de buffer
consumida por el Kernel.

No es necesario pasarle ningún parámetro al comando


para ver su funcionalidad:

192
free
No obstante, puede ser personalizado con los siguientes parámetros:
-b, –bytes
Muestra la salida en bytes.
-k, –kb
Muestra la salida en kilobytes (KB). Es el resultado por defecto.
-m, –mb
Muestra la salida en megabytes (MB).
-g, –gb
Muestra la salida en gigabytes (GB).
-l, –lowhigh
Muestra información detallada acerca de la utilización baja y alta de memoria.
-o, –old
Muestra el formato antiguo, sin -/+ buffers/cache.
-t, –total
Muestra un resumen del total de memoria física y swap.
-V, –version
Muestra la versión de free y sale.
–help
Muestra la ayuda y sale.

193
El comando ps
Lista todos los procesos del sistema, su estado, tamaño, nombre, propietario.
tiempo de CPU, tiempo de reloj, etc.
 ps[opciones]
Opciones:
 -a: Muestra todos los procesos con la terminal controlando, excepto el
proceso de usuario actual.
 -r: Muestra los procesos en ejecución.
 -x: Muestra los procesos sin terminal controlando.
 -u: Muestra los propietarios de los procesos
 -f: Visualiza la relación padre-hijo de los procesos
 -l: Listado en formato largo
 -A: Todos los procesos
 -N: Contrario a la selección.
 -ww: muestra los parámetros de la línea de comandos

194
Información aportada por ps
–USER
• Usuario que lanzó el proceso
–%CPU, %MEM
• Porcentaje de procesador y memoria física usada
–SIZE (o VSIZE)
• Memoria (KB) de datos (no código) ocupada por el proceso (non
shared virtual memory)
–RSS (resident size)
• Memoria (KB) física ocupada por el proceso
–STAT
• R (runnable), T (stopped), P (waiting for page-in), D (waiting for disk
I/O), S (sleeping for less than 20 s), I (idle for more than 20 s), Z
(zombie: terminated but not died)
• W (swapped out), > (memory soft limit exceeded)
• N (running niced), < (high niced level)

195
Comando kill

 Envía señales a los procesos en ejecución. El SO, por


defecto, proporciona a cada proceso un conjunto
estándar de manejadores de señales.

–kill[-señal] PID

 Señal por defecto es 15 (terminar)

196
top
 Carga media, procesos, consumo de memoria
 Se actualiza dinámicamente

8:48am up 70 days, 21:36, 1 user, load average: 0.28, 0.06, 0.02


47 processes: 44 sleeping, 3 running, 0 zombie, 0 stopped
CPU states: 99.6% user, 0.3% system, 0.0% nice, 0.0% idle
Mem: 256464K av, 234008K used, 22456K free, 0K shrd, 13784K buff
Swap: 136512K av, 4356K used, 132156K free 5240K cached

PID USER PRI NI SIZE RSS SHARE STAT LC %CPU %MEM TIME COMMAND
9826 carlos 0 0 388 388 308 R 0 99.6 0.1 0:22 simulador
9831 miguel 19 0 976 976 776 R 0 0.3 0.3 0:00 top
1 root 20 0 76 64 44 S 0 0.0 0.0 0:03 init
2 root 20 0 0 0 0 SW 0 0.0 0.0 0:00 keventd
4 root 20 19 0 0 0 SWN 0 0.0 0.0 0:00 ksoftiq
5 root 20 0 0 0 0 SW 0 0.0 0.0 0:13 kswapd
6 root 2 0 0 0 0 SW 0 0.0 0.0 0:00 bdflush
7 root 20 0 0 0 0 SW 0 0.0 0.0 0:10 kdated
8 root 20 0 0 0 0 SW 0 0.0 0.0 0:01 kinoded
11 root 0 -20 0 0 0 SW< 0 0.0 0.0 0:00 recoved

197
top
• Carga media, procesos, consumo de memoria, se actualiza
dinámicamente (cada 5 segundos)
Uso de memoria.
• Tiempo de CPU de los procesos en tiempo real

1. Primera línea: corresponde a la información del


comando uptime

--Tiempo desde el arranque del servidor o uptime

--Número de usuarios logueados en el sistema: un usuario


puede ser contado varias veces por ejemplo usando 2
sesiones telnet.

--Carga promedio del sistema: 1, 5, 15 minutos


198
top
1. Segunda línea: recuento de los procesos del sistema

--Número total

--Procesos en ejecución: menor o igual al número de


procesos en el sistema

--Procesos durmiendo: procesos que están esperando por


entrada/salida u otro evento

--Procesos detenidos

--Procesos zombies: procesos que están esperando a ser


detenidos por su proceso padre, realmente son procesos que
ya están muertos (no existen) pero siguen apareciendo.
199
top
1. Tercera línea: reparto del tiempo de CPU en porcentaje

--%US: Tiempo usado por los procesos

--%SY: Tiempo usado en la ejecución del sistema

--%NI: Tiempo usado por los procesos de baja prioridad


(niced)

--%ID: tiempo no utilizado

El resto de los tiempos están relacionados con el tratamiento


de interrupciones de entrada/salida del sistema se debe
valorar como el tiempo del SO

--Cuarta y quinta línea mismos datos que el comando


FREE 200
top
PID: Proceso Padre
USER: Usuario que inicio el proceso
PR: Prioridad del proceso
NI: Nice Value: Valor negativo significa mayor prioridad (pe. -
20), valor negativo menor prioridad (pe. 19)
VIRT: Cantidad de memoria virtual utilizada por el proceso
(incluyendo datos, códigos, librerías, swap)
RES: Cantidad de memoria física que el proceso utiliza
SHR: Cantidad de memoria compartida
S: Status del proceso
D Dormido interrumpible
R Running, corriendo
S Slepping, durmiendo
T Stopping, Parado
Z Zombie, muerto 201
ping

 El comando ping se utiliza para comprobar el estado de


una conexión. Por lo tanto a través del comando ping
podemos comprobar si una estación de trabajo se
encuentra activo y si la conexión entre el origen y
destino funciona correctamente.

 Por ejemplo si queremos comprobar si tenemos


conexión con el servidor de google, se puede ejecutar
de la siguiente manera.

ping www.google.com
202
traceroute

 El comando traceroute nos permite conocer el camino


que se sigue para establecer una comunicación con un
destinatario, es decir, los routers que se atraviesan.
 Traceroute www.google.com

203
Administración de la
Red

Linux 204
Configuración manual

 En la mayoría de los casos los dispositivos hardware


de red son creados automáticamente durante el
proceso de instalación. Por ejemplo el controlador
Ethernet (para las tarjetas de red local) con las
interfaces eth0, eth1 …

 Este paso de detección lo realiza el kernel.

 Cuando hablamos de configurar una interfaz de red nos


referimos al proceso de asegurarle direcciones IP
adecuadas.
205
Ifconfig (InterFace CONFIGuration)

 #ifconfig eth0 [ip] netmask [mascara] up


 Ejemplo:

 #ifconfig eth0 192.168.2.1 netmask 255.255.255.0 up


 En este caso estamos configurando la interfaz eth0
(primera tarjeta de red), con una dirección IP
192.168.2.1, y con una mascara de red de
255.255.255.0, el parámetro up indica que la tarjeta
debe activarse

206
Ifconfig (InterFace CONFIGuration)

 Para desactivar una Inrefaz de red

 #ifconfig eth0 down

 Para activar una interfaz de red

 #ifconfig eth0 up

207
 El problema de configurar las interfaces de red con
ifconfig, es que como no se guardan los datos de
configuración en ningún archivo, al reiniciar el equipo
perderemos la configuración!

 La configuración de las interfaces se encuentra en


el directorio
 /etc/sysconfig/network-scripts/ifcfg-interfaz de red

208
~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:E0:4C:00:4C:79
inet addr:161.67.28.216 Bcast:161.67.28.255 Mask:255.255.255.0 UP
BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX
packets:30360 errors:0 dropped:0 overruns:0 frame:0 TX packets:9987
errors:0 dropped:0 overruns:0 carrier:0 collisions:1590 txqueuelen:100
RX bytes:7352067 (7.0 MiB) TX bytes:1209496 (1.1 MiB) Interrupt:11 Base
address:0xd000

lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP


LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:722 errors:0
dropped:0 overruns:0 frame:0 TX packets:722 errors:0 dropped:0 overruns:0
carrier:0 collisions:0 txqueuelen:0
RX bytes:98985 (96.6 KiB) TX bytes:98985 (96.6 KiB)

209
 # ifconfig eth0 down

 ~# ifconfig eth0 up netmask 255.255.255.0 broadcast


161.67.27.0 161.67.28.216
 ~# route
 ~# route Kernel IP routing table Destination Gateway
Genmask Flags Metric Ref Use Iface localnet *
255.255.255.0 U 0 0 0 eth0

210
Establecer una puerta de enlace

 Para que el equipo Pueda conectarse a una red


diferente de la que se encuentra necesita establecer la
puerta de enlace o gateway.
 La puerta de enlace es el equipo que permite
comunicar varias redes.

 #route add –net 0/0 gw IP_PUERTA_DE_ENLACE


interfaz
 Ejemplo
 #route add –net 0/0 gw 192.168.2.1 eth0

211
Configuración del servidor DNS

 Existen 2 formas para la resolución de nombres de


forma local o a través de un servidor de nombres DNS.
 Para la resolución de nombres de forma local se utiliza
el archivo /etc/hosts en donde se guarda el nombre y la
dirección IP de las maquinas locales
 Para establecer los servicios de resolución de nombres
(DNS) se debe editar el archivo /etc/resolv.cof.
 Despues de Hacer todo lo anterior, se debera reiniciar
el servicio de red, ejecutando el siguiente comando
 #service network restart

212
Configuración con Asistentes

 Para configurar la red a través de la consola podemos


ejecutar el comando setup y acceder al submenu
network o ejecutar directamente
 #system-config-network

213
Comprobación

 Para comprobar la conexión a internet se puede


ejecutar con el comando ping indicando como
parámetro cualquier dirección de internet.

 ping www.google.com

 Si al realizar el ping se recibe respuesta entonces la


comunicación se esta realizando correctamente

214
Datos mas Importantes

Configuración Directorio
Nombre del Equipo /etc/sysconfig/network
archivo de configuración de /etc/sysconfig/network-
la interfaz de la red scrips/ifcfg-interfaz de red

archivo para la resolución /etc/hosts


estática de nombres

Servidores DNS /etc/resolv.conf

215
 ~# route add default gw 161.67.28.1 em1
 ~# route
 Kernel IP routing table Destination Gateway Genmask
Flags Metric Ref Use Iface 161.67.28.0 * 255.255.255.0
U 0 0 0 eth0 default 161.67.28.1 0.0.0.0 UG 0 0 0 eth0

216
 Configuración del DNS
 Se modifica el archivo /etc/resolv.conf o lo crearemos,
si no existe, con la siguiente información
### Comentarios varios domain inf-cr.uclm.es
nameserver 161.67.26.34
nameserver 161.67.27.4

217
Instalación servidor
Web

Linux 218
Servidor WEB (APACHE)

 Conocido como World Wide Web, o mas


concretamente WWW.
 El servidor web se encarga del almacenaje y la difusión
de información mediante la distribución de paginas
HTML.
 Su arquitectura se basa en sirve las paginas HTML,
los navegadores se encargan de realizar la petición de
la pagina deseada, de interpretarla y mostrar el
resultado al usuario.

219
Servidor Web

 Apache (http://www.apache.org/) es el servidor web


mas utilizado por sus enormes posibilidades que ofrece
(de código abierto y multiplataforma (puede ser usado
en UNIX, Windows, Macintosh…)
 El servidor apache es desarrollado dentro del proyecto
HTTP server (httpd) de la apache software foundation

220
Instalación de Apache

 Para instalar el servidor apache fácilmente desde


repositorios ejecutar el siguiente comando
 #dnf install httpd

 Indicamos también que sea iniciado el sistema operativo


 #chkconfig --levels 235 httpd on

 Iniciamos el servidor ejecutando


 #service httpd start

221
Instalar Apache 2

 dnf install httpd

 chkconfig --levels 235 httpd on

 /etc/init.d/httpd start

222
 En Apache el directorio raiz por default de documentos
es /var/www/html en Fedora, y el archivo de
configuración es /etc/httpd/conf/httpd.conf

 Ademas las configuraciones estan almacenadas en el


directorio
 /etc/httpd/conf.d

223
Instalando Modulo PHP

 PHP (PHP Hypertext Pre/Processor), es un lenguaje de


programación interpretado por el servidor de paginas
web de forma que estas pueden ser generadas de
forma dinámica.
 En la dirección web oficial del proyecto (http://php.net/)
puede encontrar una amplia documentación sobre el
lenguaje: manuales sintaxis utilizada, interfaz para la
programación de las aplicaciones

224
Instalando Modulo PHP
 Para ejecutar PHP de forma automática:
 #dnf install php

 Para comprobar que PHP ha sido instalado con éxito


podemos crear un archivo php y ubicarlo en el
directorio raíz del servidor web.

 Por ejemplo para mostrar toda la información útil


disponible y detalles sobre la instalación actual de php,
editamos el archivo /var/www/html/info.php
 #nano /var/www/html/info.php
225
Instalando Modulo PHP

 El contenido del archivo incluye una sentencia para


ejecutar la función phpinfo() que nos permite obtener la
información sobre el modulo php.
<?php phpinfo(); ?>

 Así, al ejecutar el archivo en una petición http el


servidor lanza la sentencia y muestra el contenido
pedido, de forma dinámica, antes de probar ejecutar
este archivo reiniciamos el servidor apache
#service httpd restart

226
Instalando Modulo PHP

 Ahora si, abrimos el navegador web y escribimos en la


barra de direcciones http://localhost/info.php

227
Conexiones Seguras SSL

 Con el auge de los negocios en internet se ha


popularizado el uso de comunicaciones cifradas entre
los clientes y el servidor WEB, siendo la tecnologia de
encriptacion mas utilizada el Security Socket Layer
(SSL).
 Para añadir esta funcion a Apache, primero debemos
instalar el modulo mod_ssl ejecutando:

 #dnf install mod_ssl

228
Conexiones Seguras SSL

 Una vez instalado, debemos asegurarnos que en el


archivo de configuración de apache el modulo se
encuentra activo.
 Para activar el modulo hay que utilizar la directiva
LeadModule de la siguiente forma:

 LoadModule ssl_module modules/mod_ssl.so

229
Conexiones Seguras SSL

 Ademas, en el archivo de configuracion


 /etc/httpd/conf.d/ssl.conf
 Debemos indicar que el servidor escucha las
peticiones por el puerto 443.

 Listen 443
 AddType aplication/x-x509-acert .crt
 AddType aplication/x-pka7-crl .crl

230
Conexiones Seguras SSL

 SSL exige que, al menos el servidor, se identifique


mediante un certificado que puede ir firmado por
nuestro propio equipo o por una autoridad Certificadora
(CA).
 Para la gestion de certificados digitales en equipo
Linux, se necesita disponer de la aplicacion openssl,
independientemente de que se vaya a instalar un
certificado autofirmado o uno firmado por una CA.

231
Conexiones Seguras SSL

 El primer paso en la obtención de un certificado es la


creación de la clave privada del servidor y,
posteriormente, generar la petición de certificado.
 Para ello, debemos contestar una serie de preguntas
tras la ejecución de los siguientes comandos,
necesarios para realizar estas dos tareas:

 #openssl genrsa -out ejemplo.key 1024


 #openssl req -new -key ejemplo.key -out
ejemplo.csr\

232
Conexiones Seguras SSL

 Despues de generar la peticion del certificado, puede


optar por firmarlo directamente o mandarlo a una
autoridad certificadora para que lo firme.

 Para firmar directamente el certificado debe utilizar el


siguiente comando:

 #openssl x509 -req -days 365 -in ejemplo.csr -


signkey ejemplo.key -out ejemplo.crt

233
Conexiones Seguras SSL

 En el segundo caso, debe enviar la peticioon de


certificado a la autoridad correspondiente y seguir los
pasos que esta indique para que se demuestre nuestra
identidad.

 Si todo se realiza adecuadamente, esta organizacion


nos devolvera el certificado adecuadamente validado

234
Conexiones Seguras SSL

 Por ultimo, tras la obtencion del certificado, debe


indicar al servidor donde residen los archivos que
almacenan la clave y el certificado.
 Para ello, incluya en el archivo de configuracion
 /etc/httpd/conf/ssl.conf las directivas:

 SSLCertificateFile /etc/httpd/conf/ejemplo.crt
 SSLCertificateKeyFile /etc/httpd/conf/ejemplo.key

235
Conexiones Seguras SSL
 Si el certificado es autoconfirmado, al solicitar un cliente la URL
https://www.ejemplo.es el navegador mostrara una ventana con la
que indica que no reconoce a la autoridad certificadora y que la
decision de admitir el certificado recae en el usuario.
 Si pulsa examinar el certificado, el navegador muestra una
ventana en la que aparece la información que identifica al
servidor propietario del certificado.
 Esta información es la que se ha introducido en la creación
de la petición de certificado
 Si el certificado esta firmado por una CA reconocida, el cliente no
mostrara ningún aviso y visualizara la pagina directamente

236
VNC
 VNC son las siglas en inglés de Virtual Network
Computing (Computación Virtual en Red).
 VNC es un programa de software libre basado en una
estructura cliente-servidor el cual nos permite tomar el
control del ordenador servidor remotamente a través de
un ordenador cliente.
 También llamado software de escritorio remoto.
 VNC no impone restricciones en el sistema operativo
del ordenador servidor con respecto al del cliente: es
posible compartir la pantalla de una máquina con
cualquier s.o que soporte VNC conectándose desde
otro ordenador o dispositivo que disponga de un cliente
VNC portado.
237
VNC

 El programa servidor suele tener la opción de funcionar


como servidor HTTP para mostrar la pantalla
compartida en un navegador con soporte de Java.

 En este caso el usuario remoto (cliente) no tiene que


instalar un programa cliente de VNC, éste es
descargado por el navegador automáticamente.
 VNC es independiente de la plataforma - un cliente
VNC en un sistema operativo pueden conectarse a un
servidor VNC en la misma o de cualquier otro sistema
operativo.

238
VNC

 Hay clientes y servidores tanto para muchos sistemas


operativos basados ​en GUI como para Java.
 Varios clientes pueden conectarse a un servidor VNC al
mismo tiempo.
 Los usos populares de esta tecnología incluyen
soporte técnico remoto y acceso a los archivos
presentes en el ordenador del trabajo desde la
computadora de un hogar, o viceversa.

239
Instalación VNC: SERVER
Install the Mate Desktop – (Opcional Pero importante)
#dnf install @mate-desktop
Instalamos el servidor VNC Tiger
#dnf install tigervnc-server
Ahora tenemos que copiar el archivo de configuración
del servidor VNC, si se necesita el puerto de
compensación de configuración para el servidor VNC.
De forma predeterminada servidor VNC utiliza el puerto
5900, así que el puerto de compensación significa que
podemos ejecutar el servicio en un sub-puerto del
puerto por defecto 5900. Digamos por ejemplo el
puerto 10, por lo que en realidad servidor VNC se
puede acceder en el puerto 5910
#cp /lib/systemd/system/[email protected]
/etc/systemd/system/vncserver@:10.service 240
Instalación VNC: SERVER

Ahora edite el archivo copiado y hacer los


cambios que se mencionan a continuación
# nano
/etc/systemd/system/vncserver@\:10.service
Reemplazar todo < USER > con el nombre de
usuario que se debe utilizar en su entorno. He
utilizado un usuario llamado " qatest " , por lo que
en mi ejemplo a este usuario está ejecutando el
servidor VNC . Así que mi archivo se verá de la
siguiente forma. Por favor seleccione su usuario y
cámbielo en consecuencia.

241
Instalación VNC: SERVER
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l qatest -c "/usr/bin/vncserver %i"
PIDFile=/home/qatest/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target

242
Instalación VNC: SERVER

Ahora agregue la excepción en el servidor de seguridad


para las conexiones VNC a su servidor.
#firewall-cmd –permanent –zone=public –add-service
vnc-server

O bien puede permitir el servicio a través del entorno


gráfico del firewall. No olvide abrir el puerto 5910

243
Instalación VNC: SERVER
Ahora debemos configurar una contraseña para el
usuario VNC. Así que iniciamos sesión como el usuario
en particular.
[qatest@fedora ~]$ vncpasswd
Password :
Verify :
Después de esto , se creará un nuevo directorio ( .vnc )
bajo el directorio home del usuario VNC con un archivo
passwd en él.
[root@fedora20 ~]# ls -l /home/qatest/.vnc/
-rw-------. 1 qatest qatest 8 Feb 20 17:55 passwd
244
Instalación VNC: SERVER

Ahora vuelva a cargar el demonio systemctl e iniciar el servicio


de VNC.

[root@fedora20 ~]# systemctl daemon-reload


[root@fedora20 ~]# systemctl enable vncserver@:10.service
[root@fedora20 ~]# systemctl start vncserver@:10.service

245
Instalación VNC: SERVER

Esto creará un archivo xstartup bajo el directorio .vnc de la


cuenta de usuario especificado.
[root@fedora20 ~]# ls -l /home/qatest/.vnc/
-rw-------. 1 qatest qatest 8 Feb 20 17:55 passwd
-rwxr-xr-x. 1 qatest qatest 355 Feb 20 17:11
xstartup

246
Instalación VNC: SERVER

Recuerde abrir el servicio en el firewall para poder acceder


desde un sistema remoto

Ejecutar el VNC viewer dando la ip_address mas el puerto,


Ejemplo: 192.168.2.35:5910

247
FTP

 FTP (siglas en inglés de File Transfer Protocol,


'Protocolo de Transferencia de Archivos') en
informática, es un protocolo de red para la
transferencia de archivos entre sistemas conectados a
una red TCP (Transmission Control Protocol), basado
en la arquitectura cliente-servidor.
 Desde un equipo cliente se puede conectar a un
servidor para descargar archivos desde él o para
enviarle archivos, independientemente del sistema
operativo utilizado en cada equipo.

248
FTP

 El servicio FTP es ofrecido por la capa de aplicación


del modelo de capas de red TCP/IP al usuario,
utilizando normalmente el puerto de red 20 y el 21.
 Un problema básico de FTP es que está pensado para
ofrecer la máxima velocidad en la conexión, pero no la
máxima seguridad, ya que todo el intercambio de
información, desde el login y password del usuario en
el servidor hasta la transferencia de cualquier archivo,
se realiza en texto plano sin ningún tipo de cifrado, con
lo que un posible atacante puede capturar este tráfico,
acceder al servidor y/o apropiarse de los archivos
transferidos.
249
FTP

 Para solucionar este problema son de gran utilidad


aplicaciones como sftp, incluidas en el paquete SSH,
que permiten transferir archivos pero cifrando todo el
tráfico.

250
Instalacion FTP

#dnf install vsftpd


 Estado del servicio ftp
#service vsftd status
 Inicio del servicio
#service vsftd start
 archivo de configuración
etc/vsftpd/vsftpd.conf

251
Instalacion FTP

 Detenemos el Firewall
#service iptables stop
 En el archivo de configuración
Deshabilitar SELlNUX= disable,
/etc/Selinux/config
Reinciamos equipo, y iniciamos el servicio ftp
Iniciar el servicio ftp
$ftp localhost

252
Instalación del Cliente FTP
#dnf install filezilla

253
Servidor DHCP

Linux 254
Instalación del servidor DHCP

Para realizar la instalación del servidor DHCP debemos


ejecutar el comando:

#dnf install dhcp

Nota: para utilizar el equipo es necesario deshabilitar


SELinux (Security Enhanced Linux). Para ello abrimos
el archivo /etc/selinux/config, luego modificamos la
variable SELINUX=disabled y reiniciamos el equipo.

255
Configuración del servidor DHCP
El servidor dhcp se encarga de gestionar asignaciones de
direcciones IP y de la información de configuración de la
red en general. Para ello, necesita de un proceso (dhcpd) y
un archivo de configuración (/etc/dhcp/dhcp.conf) que
proporciona la información necesaria al proceso.
Los datos mínimos que un servidor de DHCP proporcionará
a un cliente son:
• Dirección IP
• Máscara de red
• Puerta de enlace o Gateway
• Dirección IP del servidor DNS

256
Configuración del servidor DHCP

El protocolo DHCP incluye dos métodos de asignación de


direcciones IP:
Asignación dinámica. Asigna direcciones IP’s libres de un
rango de direcciones establecido por el administrador en el
archivo /etc/dhcp/dhcp.conf Es el único método que permite la
reutilización dinámica de las direcciones IP.
Asignación por reservas. Si queremos que un dispositivo o
equipo siempre tenga la misma dirección IP entonces la mejor
forma es establecer una reserva. Para ello, en el archivo de
configuración (/etc/dhcp/dhcp.conf) una determinada dirección
MAC se asignará una dirección IP fija.

257
Configuración del servidor DHCP
Ejemplo de configuración del archivo dhcp.conf
# nano /etc/dhcp/dhcpd.conf

# DHCP Server Configuration file.


# see /usr/share/doc/dhcp/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
# El rango de direcciones 192.168.0.131-140 está
reservada
# para los servidores y ordenadores con IP fija.
#

subnet 192.168.0.0 netmask 255.255.255.0 {


range 192.168.0.100 192.168.0.130;

258
Configuración del servidor DHCP

option domain-name-servers 10.2.9.180, 10.3.9.180,


8.8.8.8;
option domain-name "webamicee.net"; #Este es el
hostname
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;

default-lease-time 86400;
max-lease-time 172800;

259
Configuración del servidor DHCP
#Esta sección es para dejar a un equipo con IP fija
#Por ejemplo un servidor web o una impresora
group {

default-lease-time 604800;
max-lease-time 691200;

host apache {
hardware ethernet 00:24:21:30:BA:F6;
fixed-address 192.168.0.131;
}

}
}

260
Configuración del servidor DHCP

Después de editar el archivo de configuración, debemos


indicarle al equipo sobre cual interfaz deberá realizar la
escucha de las peticiones del servicio.
Por lo que debemos dar el siguiente comando

# dhcpd eno16777736

Donde “eno16777736” es el nombre de la tarjeta de red

261
Configuración del servidor DHCP

Finalmente arrancamos el servicio con el comando


# systemctl enable dhcpd
# service dhcpd start
Para ver el estado del servicio usamos el comando
# service dhcpd status
Para hacer el inicio permanente del servicio
# chkconfig dhcpd on
Por último si queremos saber cuales son las IP’s que han
sido asignadas usamos el comando
# cat /var/lib/dhcpd/dhcpd.leases
262
Configuración del servidor DHCPv6

El servidor DHCPv6 se puede utilizar para las


configuraciones stateful. El demonio en sí no necesita
correr necesariamente sobre la puerta de enlace por
defecto (Gateway) de IPv6.
El archivo de configuración del servidor DHCPv6 está
ubicado en /etc/dhcp/dhcpd6.conf

263
Configuración del servidor DHCPv6

Ejemplo de configuración DHCPv6


# nano /etc/dhcp/dhcpd6.conf
subnet6 2001:db8:0:1::/64 {
range6 2001:db8:0:1::129 2001:db8:0:1::254;
option dhcp6.name-servers fec0:0:0:1::1;
option dhcp6.domain-search "domain.example";
}
Arranque del servicio con el comando
#service dhcpd6 start

264
Configuración del cliente DHCPv6
(dhcp6c)
Configuración simple
El archivo del cliente está ubicado en /etc/dhcp/dhcp6c.conf
#nano /etc/dhcp/dhcpd.conf
interface eth0 {
send rapid-commit;
request domain-name-servers;
};

265
Configuración del cliente DHCPv6
(dhcp6c)

Iniciar el servidor con el comando


# service dhcp6 start

Inicio del cliente en primer plano


# dhcp6c -f eth0

266
Servidor DNS

Linux 267
Instalación y configuración del servicio
DNS

Primero debemos instalar los paquetes de bind


y bind –utils con el siguiente comando
# dnf install bind bind-utils

Nota: para permitir el tráfico del servidor de nombres, es


necesario abrir los puertos 53/tcp y 53/udp.

268
Instalación y configuración del servicio
DNS

Posteriormente arrancamos el servicio de nombres con


el comando
# service named start

El archivo /etc/named.conf es el encargado de


proporcionar los datos necesarios para el funcionamiento
del servidor DNS. En él se guardan las propiedades
globales de las zonas donde el servidor actúa y el
archivo donde se almacenan los datos de éstas.

269
Instalación y configuración del servicio
DNS
En este archivo agregamos las partes marcadas en rojo,
como se muestra en la parte de abajo

options {
listen-on port 53 { 127.0.0.1; 192.168.0.36; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file
"/var/named/data/named_mem_stats.txt";
allow-query { localhost; 192.168.0.0/24; };

/* Path to ISC DLV key */


forwarders {
10.2.9.180;
8.8.8.8;
};

270
Instalación y configuración del servicio
DNS

Para que los cambios surjan efecto debemos reiniciar el


servicio con el comando
# service named restart

Añadir una Zona Primaria


Para añadir una zona de búsqueda primaria debemos
modificar nuevamente el archivo /etc/named.conf y
añadir la zona amicee.com que se encuentra definida en
el archivo que usamos por ejemplo:
/var/named/amicee.com.hosts

271
Instalación y configuración del servicio
DNS

Ejemplo de Zona primaria

zone "amicee.com" IN {
type master;
file "amicee.com.hosts";
};

Ejemplo de Zona Inversa


zone "0.168.192.in-addr.arpa" IN {
type master;
file "amicee.com.rev";
};

272
Zona Primaria amicee.com.hosts
Ahora generamos los archivos de zona primaria
/var/named/amicee.com.hosts
$ORIGIN amicee.com.
$TTL 86400
@ IN SOA dns1.amicee.com. sperez.ipn.mx. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
IN NS dns1.amicee.com.
IN NS dns2.amicee.com.
IN MX 10 mail.amicee.com.
IN MX 20 mail2.amicee.com.

IN A 192.168.0.36
server1 IN A 192.168.0.25
server2 IN A 192.168.0.36
273
Zona Primaria amicee.com.hosts
(Continuación)

dns1 IN A 192.168.0.36
dns2 IN A 192.168.0.36

server1 IN AAAA
2001:0db8:3c4d:0015:0024:1dff:fe99:7f34

ftp IN CNAME server1


mail IN CNAME server1
mail2 IN CNAME server2
www IN CNAME server2

274
Zona Inversa amicee.com.rev
Crear el archivo de zona inversa
/var/named/amicee.com.rev

$ORIGIN 0.168.192.in-addr.arpa.
$TTL 86400
@ IN SOA dns1.amicee.com. sperez.ipn.mx.
(
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day

IN NS dns1.amicee.com.
IN NS dns2.amicee.com.

20 IN PTR moodle.amicee.com.

275
Servidor DNS en marcha

Habilitamos el servicio con el comando


# systemctl enable named.service

Finalmente iniciamos el servicio


# systemctl start named.service

Para ver el estado del servicio usamos


# systemctl status named.service -l

276

También podría gustarte