Você está na página 1de 226

Modulo Introductorio AGOSTO-2012

Conceptos e Historia de Linux

Linux

Conceptos e Historia de Linux


Proyecto GNU (FSF) Los orgenes de Linux

GNU + Linux
Las distribuciones Fuentes de Documentacin Multimedia de Linux

1.1 Proyecto GNU


Richard Stallman Proyecto GNU creado en el ao 1984.
Software Libre
Licencias GPL Free Software Fundation

1.1.1 Qu NO es el Software Libre?


Gratuito La confusin viene del ingls free, con las acepciones libre y gratuito. En espaol no debera haber tal confusin. Dominio pblico Para poder hacer uso de software libre es preciso aceptar los trminos de una licencia que garantice que se mantendrn ciertas reglas y principios.

Annimo 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.

1.1.1 Qu S es el Software Libre?


No propietario no hay que tener autorizacin ni contrato para poder adquirirlo o usarlo. Distribuible puedes hacer tantas copias como quieras, incluso venderlas. Pero no se puede impedir que alguien ms, a su vez, lo redistribuya. Accesible el cdigo fuente est disponible. Se promueve la conveniencia de distribuir el cdigo fuente para el desarrollo de software. Modificable puedes mejorar el programa, incluso redistribuir la modificacin. La depuracin se paraleliza: rapidez en el desarrollo y calidad del resultado son compatibles.
5

1.1.1 Qu S es el Software Libre?


Reusable puedes aprovechar cdigo ya escrito, siempre y cuando tu nuevo cdigo mantenga las mismas libertades del software libre. Sin garantas nadie te asegura que funcionar, nadie se hace cargo de ningn dao. No ests desamparado: el soporte sigue otros cauces distintos a los tradicionales.

Hereditario cualquier programa derivado de software libre es tambin libre. Se prohibe prohibir.

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 Distribucin
Libertad de Mejorar el Software y Publicarlo

Se requiere obligatoriamente el cdigo fuente para poder aplicarlas.


7

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 espritu colaborativo que haba existido antes de que se impusieran los obstculos del software propietario.

Un sistema operativo incluye ambientes de trabajo (shells) compiladores, editores, formateadores de texto, correo, etc. Con el tiempo el proyecto GNU tena una coleccin impresionante de estos programas. Solo faltaba el ncleo.
8

1.1.3 Estructura de GNU

1.2 Qu es Linux?
Linus Torvalds. Nucleo Linux (1991)
Compatible con Unix
Licenciado bajo GPL (General Public License) Publicado en Internet

10

1.2 Qu es Linux?
Estrictamente hablando, Linux es slo el ncleo (kernel) de un sistema operativo tipo Unix. Fue desarrollado por el finlands Linus Torvalds en 1991 a partir de Minix, un sistema Unix mnimo, desarrollado con fines didcticos por Andrew. Tanenbaum. El anuncio se hizo en el grupo de noticias comp.os.minix y permiti la participacin de numerosos usuarios y programadores de todo el mundo a travs 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 ncleo estable.
11

1.2 Qu es Linux?
GNU hereda todas las caractersticas vistas en la seccin sobre software libre. Estable meses (inclusive aos) de funcionamiento ininterrumpido. Seguro prcticamente sin virus, un proceso no puede acceder a reas de memoria ajenas, etc.

Multitarea
Multiusuario Compatible cumple el estndar POSIX como otros muchos UNIX, lo que facilita la migracin entre plataformas.
12

1.2 Qu es Linux?
Multi-arquitectura disponible para Intel y compatibles, PowerPC, Macintosh, Amiga, Atari, DEC Alpha, Sun Sparc, ARM.. . Rpido maneja eficientemente los recursos: memoria, disco duro, CPU, etc. Capacidad en red excepcional; fue desarrollado desde un principio para la conexin en red. Elegante es un modelo de programacin: pequeo, extensible, modular.

13

1.2.2 Nucleo de Linux

14

1.2.3 Nucleo de Linux


http://www.kernel.org/

15

1.3 GNU + Linux


Aparte del ncleo y los programas que conforman el sistema operativo, hacen faltan ms cosas para que el sistema sea til.
Estructura de directorios. Archivos de configuracin. Programas de instalacin y configuracin de partes del sistema. Aplicaciones para el usuario final. Sistemas de actualizacin de paquetes.

Todas estas cosas juntas y bien organizadas son las cosas que debe proporcionar una distribucin.

16

1.3 GNU + Linux

17

1.3 GNU + Linux

18

1.4 Distribuciones
Una distribucin es una recopilacin de software ya compilado y empaquetado para facilitar su instalacin y configuracin. El gestor de paquetes permite ver una breve descripcin, registra qu programas estn instalados, verifica las dependencias y conflictos (al instalar o al desinstalar) para que todo funcione siempre. Incluso actualiza a las nuevas versiones a travs de la red de manera transparente. Estas distribuciones permiten instalar un sistema GNU/Linux completo.

19

1.4.1 Componentes de una Distribucin

20

1.4.1 Componentes de una Distribucin

21

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 ms difundidas, de instalacin grfica relativamente amigable. Sistema de paquetes RPM adoptado por otras distribuciones. Suse Distribucin comercial alemana de buena calidad. Usa el mismo sistema de paquetes RPM. Debian Distribucin libre desarrollada por un grupo muy numeroso de colaboradores a travs de Internet, de calidad extraordinaria. La seguridad y deteccin rpida de errores es uno de sus puntos fuertes. Su sistema de paquetes es de lo mejor.
22

1.4.3 Ejemplos de Distribuciones

23

1.4.4 Historia de las Distribuciones

24

1.5 Fuentes de documentacin


GNU/Linux se distingue por la calidad y cantidad de documentacin que incluye desde manuales, COMOs, guas, libros, el usuario tiene todo a su disposicin para informarse de cada detalle del sistema.
Existe un manual por casi cada comando del sistema. La forma de consultar esta documentacin (en una terminal de texto) es mediante el comando man seguido del comando del que se quiere obtener informacin. Ejemplo: man mount. Los Howtos (COMOs) son una especie de recetas donde se explican paso a paso diversas tareas del sistema.
25

1.6 Filosofa RTFM


RTFM: Read The Manual que en espaol se dira Lea el Manual. Se espera que todo usuario de Linux se moleste en leer la documentacin que acompaa a las distribuciones, antes de hacer preguntas. Al existir toda clase de informacin sobre el sistema, uno debe informarse lo ms posible por su cuenta antes de pedir ayuda, esta es una forma de cortesa ante los dems, y es la forma en que se comporta la gente de la comunidad GNU/Linux.

26

Libre como en libertad


El trmino software libre a veces se malinterpreta; no tiene nada que ver con el precio Tiene la libertad de ejecutar el programa para cualquier propsito. Tiene la libertad de adaptar el programa de acuerdo a sus necesidades (para que esta libertad sea efectiva en la prctica, debe tener acceso al cdigo fuente; porque modificar un programa sin disponer del cdigo fuente es extraordinariamente difcil.). 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.
27

Tipos de instalacin
Estacin de trabajo: la ms 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. Porttil: instalacin sencilla en ordenadores porttiles. Personalizada: mayor flexibilidad en el proceso de instalacin. Podr elegir su esquema de particionamiento, los paquetes que desea instalar y mucho ms. Actualizacin: para actualizar rpidamente a los ltimos paquetes y versiones del kernel.

28 de 26
28

Particiones de disco
Particin swap (de al menos 32 MB): se usa para soportar memoria virtual. En otras palabras, los datos se escriben en la particin swap cuando no hay suficiente RAM para almacenar los datos que su sistema est procesando. Tamao adecuado: doble que la memoria RAM del ordenador. Particin root (1.2-2.4 GB): en donde se localice "/" (el directorio raz).

29

Qu es el Sistema X Window?
Es un conjunto de programas que proveen de interfaces grficas basadas en ventanas a un Sistema Operativo. En los Sistemas Linux se usa una implementacin libre de X. Una creencia popular pero errnea es que Microsoft fue quien invent el entorno de ventanas. Para aclarar el caso, aqu van algunos hitos histricos importantes: 1973: Xerox desarrolla Alto la primera la primera computadora personal con interfaz grfica. 1983: Aparece Macintosh, que usaba ventanas. 1984: sale la primera versin del Sistema X Window.

1985: sale la primera versin de Microsoft Windows. Tambin aparece la primera versin del Sistema X bajo una licencia libre.

30

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.

31

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 inicializacion 3 (o 2 o 1).
Tambien, se puede ir a un shell usando alt-ctrl-f2 a f6.
32

Qu entorno grfico me conviene?


Hay que recordar que en Linux se puede elegir varios entornos grficos, 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 mnimo de 128 Mb de memoria RAM.

33

GNOME: Es la principal alternativa existente a KDE para quienes estn acostumbrados a Windows. Seguramente GNOME es una buena opcin para quienes prefieren un entorno menos barroco que KDE, aunque quizs posea a primera vista una interfaz menos familiar para los usuarios de Windows.

34

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

35

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 adaptacin para aquellos que emplearon el entorno grfico de Windows. Si se posee una PC con poca RAM, FluxBox es quizs la mejor opcin.

36

Sistema de Archivos Linux


ext2, ext3, reiserfs, jfs, hpfs, etc...
El ganador hoy en dia, ext3 (journaling)

Estructura de particiones:
/ (root) /usr /var /tmp /home swap

37

Reglas para nombrar ficheros


Todo en Linux es un archivo (discos, dispositvos, etc.)
Longitud mxima 255 caracteres No existen las extensiones en el nombre del archivo

Es vlido usar caracteres especiales, excepto /


Sensible a maysculas y minsculas

38

(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)

39

/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.

40

/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.

41

/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.

42

/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.

43

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).

44

Sistema de archivos

Tipos de archivo Normales Links Directorios Especiales

45

Tipos de Archivos
Archivos ordinarios. Contienen la informacin con la que trabaja cada usuario. Archivos especiales. Suelen representar dispositivos fsicos, como unidades de almacenamiento, impresoras, terminales, etc. En Linux, todo dispositivo fsico que se conecte al ordenador est asociado a un archivo. Linux trata los archivos especiales como archivos ordinarios

46

Tipos de Archivos: Enlaces fsicos o duros.


No es especficamente una clase de archivo sino un segundo nombre que se le da a un archivo.
Por ejemplo suponiendo, que dos usuarios necesitan compartir informacin 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 vera 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 estn viendo y modificando el mismo archivo. El enlace sirve para localizar el archivo en su ubicacin 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.
47

Tipos de Archivos
Enlaces simblicos. Tambin se utilizan para asignar un segundo nombre a un archivo. La diferencia con los enlaces duros es que los simblicos solamente hacen referencia al nombre del archivo original, mientras que los duros hacen referencia al inodo en el que estn situados los datos del archivo original. De esta manera, si tenemos un enlace simblico y borramos el archivo original perderemos los datos, mientras que si tenemos un enlace duro los datos no se borrarn hasta que se hayan borrado todos y cada uno de los enlaces duros que existen hacia esos datos en el sistema de ficheros. El conteo del nmero de enlaces duros que tiene un fichero se realiza, como ya vimos, en el inodo correspondiente a los datos del fichero. Directorios. Son archivos especiales que contienen referencias a otros archivos o directorios.

48

Estructura

49

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
50

Sistema de Archivos
/ Raz del sistema de archivos.
/dev Contiene ficheros del sistema representando los dispositivos que estn fsicamente instalados en la estacion de trabajo. /etc Este directorio esta reservado para los ficheros de configuracin del sistema. En este directorio no debe aparecer ningn fichero binario (programas). Bajo este deben aparecer otros dos subdirectorios
51

Sistema de Archivos
/etc/X11 Ficheros de configuracin de X Window /etc/skel Ficheros de configuracin bsica que son copiados al directorio del usuario cuando se crea uno nuevo.

/lib Contiene las libreras necesarias para que se ejecuten los programas que residen en /bin (no las libreras de los programas de los usuarios).

52

Sistema de Archivos

/proc Contiene ficheros especiales que o bien reciben o envan informacin al kernel del sistema (Se recomienda no modificar el contenido de este directorio y sus ficheros). /sbin Contiene programas que son nicamente accesibles al superusuario o root.

53

Sistema de Archivos
/usr Este es uno de los directorios ms importantes del sistema puesto que contiene los programas de uso comn 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++.

54

Sistema de Archivos
/usr/doc Documentacin general del sistema.
/usr/etc Ficheros de configuracin generales. /usr/include Ficheros de cabecera de C/C++ (.h).

/usr/info Ficheros de informacin de GNU.


/usr/lib Libreras generales de los programas. /usr/man Manuales accesibles con el comando man. /usr/sbin Programas de administracin del sistema.

55

Sistema de Archivos
/usr/src Cdigo fuente de programas. Existen adems 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 informacin temporal de los programas (lo cual no implica que se pueda borrar su contenido, de hecho, no se debe hacer!)
56

Ejecutar acciones como root


En Linux, la mayor parte de los ficheros sensibles y programas tiles para la configuracin del sistema solo pueden ser usados por el superusuario, existen 2 formas bsicas de ejecutar programas de esta forma: SUDO

SU

57

Ejecutar acciones como root


->SUDO
Nos permite ejecutar un programa desde la lnea de comandos como superusuario. 1. Una vez que se introdujo el comando sudo (pulsando enter) 2. Nos pedir la contrasea de superusuario y el programa se ejecutara con privilegios de superusuario. Nota: para ser uso de este comando debe estar incluido en el fichero /etc/sudoers, si no cumple este requisito el usuario no podr utilizar sudo
58

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 carcter 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

59

Comandos Bsicos Linux

Linux

60

El intrprete de comandos
El SHELL o intrprete 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.

61

Terminal

62

El comando ls (LiSt)
Lista el contenido de un directorio Su sintaxis es: ls [<directorio>] Parmetro Descripcin -a Muestra ficheros ocultos (que empiezan por .) -l Muestra el formato largo, aadiendo 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 ficheros en orden cronolgico. -r Invierte el orden en el que aparece listado.
63

Ejemplo comando ls Donde <directorio> identifica el directorio que queremos visualizar. Si no se especifica ninguno, se mostrara el contenido del directorio actual. Ejemplo Si se quiere conocer todos los ficheros contenidos en nuestro directorio /home/ana, incluyendo ficheros ocultos por orden inverso, utilizamos: ~>ls l /home/ana
64

El comando touch
Linux incluye una orden que nos permite crear un fichero de 0 Bytes si este no existia. En cuyo caso, lo que hace es actualizar las fechas del fichero.
Sintaxis $ touch [opciones] archivo

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

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 $ nano -B memo.txt $ nano +83 memo.txt Abre un archivo memo.txt para editar Cuando se guarda, hace una copia de seguridad ~.filename Empieza a editar en la linea 83

66

Ver el contenido de un Fichero


Son diversas las ordenes que existen para visualizar el contenido de un fichero algunas de estas ordenes son more, cat, tail, head. El comando more
La orden more visualiza un fichero de texto pantalla a pantalla Sintaxis $ more [Fichero]

Ejemplo $ more /etc/passwd


67

El comando cat
Permite visualizar el contenido de uno o mas ficheros, sin paradas, a traves del dispositivo de salida por defecto, la pantalla Sintaxis
cat <fichero>

68

El comando head

Permite visualizar las diez primeras lineas de un fichero, podemos modificar el valor de las lineas
Sintaxis

Head [-<numero>]
Ejemplo

$ head -20 /etc/passwd

69

El comando mkdir (MaKe DIRectory)


Se utiliza para crear directorios
Sintaxis Mkdir <directirio>

Donde directorio dentifica el directorio que queremos crear

70

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); tambin crea un directorio denominado docs en el directorio raiz. $ mkdir p v /paris/london
71

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

72

Comando rm (ReMove)
El comando rm (ReMove, Quitar)
Sintaxis: rm [opciones] <archivo|directorio>

Opciones
-r, o -R: borrar recursivamente. Esta opcin es obligatoria para borrar un directorio, vaco o no. Sin embargo, tambin puede usar el comando rmdir para borrar directorios vacos. -i: pedir confirmacin antes de cada supresin
73

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 confirmacin 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 confirmacin 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.

74

Mover o renombrar un fichero


Si lo que queremos es mover o renombrar un fichero, la orden que nos permite realizar esta operacin es mv (MoVe). Sintaxis mv <origen> <destino> Ejemplo $ mv mensaje mensaje 01 ; nos permite cambiar el nombre del fichero mensaje a mensaje 01

$ mv mensaje /datos

; nos permite cambiar el nombre del fichero mensaje a la carpeta /datos

75

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 opcin r o R (indistintamente) para poder realizar una copia recursiva)
76

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

77

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 travs de este comando: 1. Utilizando rutas absolutas (desde el directorio raz). 2. Utilizando rutas relativas desde el directorio actual.

78

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

79

CONSOLA Y PROGRAMAS BASICOS DEL SISTEMA


CASO 2 comando: cd La consola toma el directorio actual como punto de inicio relativo a la navegacin. 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

80

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 accederamos a /home con:


~>cd..

Notar que para usuarios de Windows que el comando cd requiere dejar un espacio en blanco antes de introducir los ...
81

CONSOLA Y PROGRAMAS BASICOS DEL SISTEMA


Comando: cd Para retroceder hasta el directorio raz y entrar a la carpeta /etc de forma relativa se podra usar: ~>cd ../../etc As se sube de niveles hasta el directorio raz y se avanza uno hasta /etc. si no se aade al comando ninguna ruta, este nos llevara al directorio por defecto del usuario.
82

El comando pwd
Este comando indica el camino absoluto del directorio en el cual nos encontramos actualmente
Ejemplo
$ pwd /home/pepe/backup/pruebas

83

El comando man
Este comando muestra las pginas de manual de los distintos comandos Ejemplo $ man cp $ man mkdir

$ man rm
$ rm touch
84

El comando cal
Este comando muestra el calendario en la salida estndar
Ejemplos $ cal $ cal 1960

$ cal 10 1994

El comando clear
Limpia la pantalla y deja el prompt al inicio de la pantalla
85

Los comandos more y less


Estos comandos paginan (dividen en pginas) uno o varios archivos y los muestran en la terminal. Se diferencian en cuanto a las facilidades que ofrecen.

Ejemplo
$ more pila.java

86

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 pgina por pgina (o, ms precisamente, pantalla por pantalla).

87

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 ms que eso. De hecho, simplemente presione H para la ayuda (en ingls) acerca de las varias opciones disponibles.

88

El comando shutdown
Antes de apagar la PC, es necesario cerrar apropiadamente el sistema. Nunca apague la PC sin bajarlo primero, pues se puede daar el sistema.
Sintaxis: $ shutdown
[opciones] hora [aviso]

Algunas de sus opciones son: -r ; reinicia despus del apagado -h ; detiene al sistema despus del apagado -f ; realiza un reinicio rpido, sin comprobar ningn sistema de archivos Ejemplos: # shutdown -r +15 "Reiniciando el sistema..." # shutdown -h now
89

Resumen
Comando cp mv Descripcin Nos permite copiar archivos, pero no directorios: ~>cp original copia Nos permite renombrar o mover archivos, se utiliza igual que cp ~>mv original copia
Nos permite borrar ficheros ~>rm fichero

rm

90

Resumen
Comando Descripcin rmdir Nos permite borrar directorios aunque previamente tienen que estar vacios ~>rmdir directorio
rm r Borra un directorio y los ficheros que contenga ~>rm r directorio

91

Resumen
Comando uname Descripcin Permite conocer datos generales sobre el sistema en el que se est. Muestra el tipo de kernel, nombre del equipo, direccin 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 ms informacin. 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
92

YUM
YUM = yellowdog updater modified, originado en la distro YellowDog, que sobre la base de rpm cre este paquete administrador de software. Actualmente mantenido por la Universidad de Duke.
/etc/yum.conf - archivo de configuracin. /etc/yum.repos.d - directorio de depsitos o repositorios.

93

/var/log/yum.log - archivo de bitcora.


yum install paquete: Instala la ltima versin del paquete indicado. Pide por confirmacin. http://linux.duke.edu/yum/ - sitio oficial de yum

94

Ejemplo comando YUM


Instalacion de kde #yum groupinstall KDE #yum install kde-110n-Spanish

95

Administracin de los usuarios del sistema


Linux es un sistema multiusuario, lo cual significa que pertenece a varios usuarios, que utilicen el sistema simultneamente a travs del shell o conexiones remotas. En este sistema, el control del acceso al equipo y sus recursos se realiza a travs de las cuentas de usuarios y grupos. Interfaces graficas Terminal del sistema

Ficheros de configuracion

96

Gestin de usuarios
Root es el usuario mas importante ya que es el administrador y dueo del sistema, se aconseja utilizar la cuenta de root para las tareas especificas de administracion y el resto del tiempo utilizar una cuenta de usuario normal. Usuarios normales, son los usuarios que pueden iniciar sesion en el sistema y tienen funcionalidad limitada en los comandos a ejecutar. Usuarios asociados a servicios, estos usuarios no pueden iniciar sesion en el sistema.

97

Tipos de usuarios
Los usuarios en Unix/Linux se identifican por un nmero nico de usuario, User ID, UID. Y pertenecen a un grupo principal de usuario, identificado tambin por un nmero nico de grupo, Group ID, GID. El usuario puede pertenecer a ms grupos adems del principal.

98

Usuario root
Tambin 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 administracin 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.

99

Usuarios especiales
Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail, operator, squid, apache, etc. Se les llama tambin 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 contraseas pues son cuentas que no estn diseadas para iniciar sesiones con ellas. Tambin se les conoce como cuentas de "no inicio de sesin" (nologin). Se crean (generalmente) automticamente al momento de la instalacin de Linux o de la aplicacin. Generalmente se les asigna un UID entre 1 y 100 (definifo en /etc/login.defs)

100

Usuarios Normales
Se usan para usuarios individuales. Cada usuario dispone de un directorio de trabajo, ubicado generalmente en /home. Cada usuario puede personalizar su entorno de trabajo. Tienen solo privilegios completos en su directorio de trabajo o HOME. Por seguridad, es siempre mejor trabajar como un usuario normal en vez del usuario root, y cuando se requiera hacer uso de comandos solo de root, utilizar el comando su. En las distros actuales de Linux se les asigna generalmente un UID superior a 500.
101

Usuarios asociados a servicios.


Su utilizacin 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 ficheros tiene acceso.

102

ADMINISTRACIN DE USUARIOS
nombre_identificador (login): Es nico en todo el sistema. Se puede utilizar letras y dgitos. Tambin (.) y (_). Generalmente se limitan a 8 caracteres, pero es configurable su cantidad.

userID(UID):

Nro. que recibe el usuario y le permite identificarse unvocamente 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.

103

contrasea: Se puede deshabilitar al usuario usando un (*). Generalmente es recomendable introducir a continuacin 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 deloguearse shell de inicio:

se especifica el interprete de comandos que usarel usuario cuando selogueeen el sistema.

104

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 Mara Luisa -d /home/maria gusers -G audio -s /bin/bash -mmaria

105

Cambio de contrasea
passwd [usuario] El modificador usuario solo el root puede ocupar.

Cambio de usuario

Si ejecuta el root, no le pide la confirmacin de contrasea.


su [usuario]

106

Borrar usuarios (userdel/deluser)


userdel [-r] login
-r: se borran todos archivos propiedad del usuario en su directorio home. Ejemplo userdel maria userdelr juan

107

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 Mara Luisa-d /home/marilu -g administradores
-G audio -s /bin/csh-m l marilu maria

108

GRUPOS EN LINUX

Linux sabe como administrar grupos.

En las redes informticas resulta til agrupar a varios usuarios bajo un solo grupo para administrar mejor los controles de acceso a recursos de la red de trabajo.

Los grupos de Linux son guardados en el fichero /etc/group.

109

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

110

Borrar grupo (groupdel)

groupdel grupo Ejemplo


groupdelmigrupo

111

Modificar (groupmod)
groupmod -g gid -n nombre_grupo group
-g: permite cambiar el GID del grupo.

-n: permite cambiar el nombre del grupo. Ejemplo


groupmodg 100 migrupo groupmod n elgrupo migrupo

112

/etc/groups nombre_grupo:contrasea_cifrada:GID:miembro1, miembro2, ...

113

Si en la lnea de comandos tecleamos cat /etc/group, Cada lnea contiene informacin en especifico.

Lo anterior contiene datos sobre un grupo en especifico.

114

Analicemos cada campo:

El nombre del grupo La contrasea encriptada del grupo. Si esta vaca, no hay contrasea; si contiene una x, la contrasea debe estar en /etc/gshadow 100 El numero de identificador del grupo, comnmente referido como el GID (Group Identification) En este caso se puede observar que no hay mas usuarios que pertenecen al grupo descrito
115

users x

/etc/passwd

Almacena toda la informacin acerca de los usuarios. El archivo tiene un usuario por lnea, y cada campo del registro est limitado por (:).

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

116

/etc/shadow
Adems de la contrasea encriptada, el archivo contiene la siguiente informacin:
-Nombre de usuario. -Contrasea encriptada.

-Das desde el 01/01/70 que ha cambiado la contrasea.


-Das antes de que se tenga que cambiar la contrasea. -Das antes de que expire la contrasea y se avise al usuario.

-Das despus de que expire la contrasea y se deshabilite la cuenta.


-Das desde el 01/01/70 que se deshabilite la contrasea. -Campo reservado.
117

Ejemplo. Si escribimos en la lnea de comandos /etc/passwd , nos mostrara informacin acerca de las cuentas de usuario:

118

Cada lnea contiene informacin particular perteneciente a los distintos usuarios, tomando el ejemplo anterior tenemos:

Funcin de cada campo en particular: may Nombre del usuario. Esta cuenta debe ser nica en la maquina local
119

Campo de contrasea. En el pasado es donde se guardaba la contrasea encriptada, ahora se prefiere el uso del fichero /etc/shadow para esta tarea. La x indica que la contrasea se guarda en este fichero.

120

1000

Corresponde al identificador de usuario comnmente 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

121

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
122

May

Sirve para guardar comentarios acerca del usuario

/home/may Contiene el directorio de inicio del usuario. Cada vez que inicie una sesin 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.
123

Donde antes apareca una x era donde se almacenaba la contrasea. Pero se aadi una capa extra de seguridad al mantenerlas en el fichero /etc/shadow. Escribiendo /etc/shadow se obtiene nuestra contrasea encriptada

124

Cada lnea contiene informacin en especifico, analicemos cada campo:

may

Nombre del usuario. El mismo que ocupa en etc/passwd

125

$6ka.I8RsB$9J4w9P Contrasea encriptada. ac.aql7/iCVTVsMUM Este es el hash resultante al pasar la contrasea por el mtodo de encriptacin U1BcyjzGJ43DCXd7 MD5. El campo no debera permanecer kkn/QLhJjiWFQe6.i6 vacio (el usuario entra sin validar la 5eVV8XjwHL/E8.loM contrasea). KfoRGgsV40

126

14655

Ultimo campo de contrasea.

127

Este campo representa el mnimo nmero de das hasta que se permita un cambio. Desde este nmero de das a partir de la ltima vez que se cambio la clave, no se permite volver a modificarlo. Un valor de cero nos permite la modificacin siempre que se desee.

128

99999

Representa un mximo valor de das para exigir un cambio de contrasea

129

Representa el nmero mximo de das hasta que exija cambio. Si este nmero es menor que el mnimo numero de das hasta que se permita el cambio, entonces no se puede modificar la contrasea. Si transcurrido ese tiempo no se modifica la contrasea, entonces la cuenta se deshabilita
130

Este campo est en blanco, guarda el valor para el numero de das de aviso de caducidad Este campo est en blanco, almacena el nmero de das que se tiene antes desactivar la cuenta Este campo est en blanco, puede especificar una fecha de caducidad, indicando para cuanto tiempo se ha
131

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 opcin indica que el comando descienda recursivamente a travs 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


132

PERMISOS EN LINUX
Linux provee un sistema de permisos que conceder o denegara la manipulacin de archivos y directorios en el sistema de ficheros.

Para ficheros, el usuario puede controlar si se pueden leer los contenidos, que es el caso para documentos de texto, controlar quien podr escribir dentro del fichero y tambin 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.
133

PERMISOS EN LINUX
El comando ls -l se obtiene un listado detallado con informacin acerca de los archivos contenidos dentro del directorio

134

PERMISOS EN LINUX
Es importante destacar que el fichero solo puede pertenecer a un nico dueo y a un solo grupo.

Para controlar quien puede usar el fichero, se examinara la columna con los permisos del archivo, que se separa en cuatro partes principales.

135

PERMISOS EN LINUX
Permisos de archivo:

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 ejecucin (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
136

PERMISOS EN LINUX
Los tipos de archivo descritos pueden ser:

D B C

Un archivo normal Un directorio Dispositivo de bloque Dispositivo de carcter

137

PERMISOS EN LINUX
Ejemplo Permiso que pertenece al dueo del archivo. Puede leer, escribir y ejecutar Permiso perteneciente al grupo al que pertenece el archivo . El usuario solo Puede leer, y ejecutar

-rwx r-x --x


Resto del mundo esta limitado a poder solamente ejecutar el archivo.
138

PERMISOS EN LINUX
Notar, que los permisos se conceden o se deniegan, los permisos resultan ser una coleccin de 0s y 1s, en vez de representar los permisos encendidos, del ejemplo anterior, por sus letras: rwx (111), r-x(101), x(001)

139

PERMISOS EN LINUX
Considere el archivo ejecutable listado

Para poder manipular los permisos sobre los ficheros, existe el comando chmod

chmod permisos fichero [fichero.]


140

MODIFICANDO LOS PERMISOS Del ejemplo anterior, ntese que el archivo amsn_received, el dueo 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: Dueo/Grupo/Resto del mundo Expresado en valor binario: 111000000 Expresado en valor decimal:700
141

MODIFICANDO LOS PERMISOS


De lo anterior, se puede modificar los permisos:

Permiso Dueo del archivo

Grupo rwx

Valor decimal 7

Valor binario 111

Grupo al que pertenece el archivo


Resto del mundo

r-x

101

--x

001
142

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 informacin acerca de los archivos contenidos dentro del directorio

143

Atributos de los archivos


[user@localhost]# ls -l

-rwxr-x--- 1 pepito depart1 4348 Nov 24 16:19 test


Tipo de archivo
d = directorio - = datos l = enlace

Propietario
r = read w = write

Grupo

Los dems

Tamao
En bytes

Fecha/Hora

Nombre

x = execute

144

EJERCICIO
1-Crear un grupo denominado Gerencia
2-Idem, Comercializacin 3-Crear dos usuarios (Florencia y Mara) que pertenezca al grupo Gerencia.

4-Crear dos usuarios (Franco y Jos) que pertenezcan al grupo Comercializacin.


5-Crear un archivo (archFlo) dentro del directorio home de Florencia, cuyo dueo sea Florencia y grupo dueo Gerencia, con los permisos (dueo:RW-, grupo: R--, otros: ---) 6-Crear un archivo (archFranco) dentro del directorio home de Franco, cuyo dueo sea Franco y grupo dueo Comercializacin, con los permisos (dueo:RW-, grupo: R--, otros: ---)
145

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
146

Usuario

Usuario Maria Florencia Franco Jose

Grupo Gerencia Gerencia Comercializacin Comercializacin

147

Archivo archFlo archFranco

Dueo Florencia Franco

Grupo Dueo Gerencia Comercializacion

Permisos rw- r-- --rw- r-- ---

148

Actividades
Para realizar las practicas vamos a imaginar que somos el administrador del sistema informticos de una empresa de diseo. En esta prctica vamos a administrar los usuarios del sistema y el sistema de ficheros para que tengan accesos los usuarios a unos datos especficos. Bsicamente 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

149

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 Luis EMPLEADOS X CLIENTES ADMINISTRADOR

Samuel
Martin Cesar Lourdes Juan X

X
X

X X
150

II Dentro de la carpeta datos deber crear las siguientes carpetas

Documentos Informacin_Contable Programas Carpeta_Compartida Proyectos


A continuacin, utilizando los usuarios y grupos creados en la actividad I, establecemos los permisos que se muestran en la tabla

151

TABLA 2 LISTADO DE CARPETAS


Nombre /Datos/Documentos /Datos/Informacion_Contable /Datos/Programas /Datos/Carpeta_Compartida /Datos/Proyectos Empleados RW RW RW RW RW Clientes R R R R R ADMINISTRADOR RWX RWX RWX RWX RWX

152

Herramienta de monitorizacin del sistema

Linux

153

Herramientas bsicas de monitorizacin en GNU/Linux


Categoria Procesos Almacenamiento Comandos ps df, du

Memoria Red
Polivalentes

free, pmap iostat, iftop, netstat, ping, traceroute


dstat, iostat, top, vmstat, who, xosview

154

who y w (Herramienta polivalente)


who: quin 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: quin est conectado al sistema (logged on) y qu hace


% w 1:38pm USER jaume fede xavi pperez

up 4:27, 18 users, load average: 0.04, TTY FROM LOGIN@ IDLE ttyp1 kaizen.gap.upv.e 9:17am 2:02m ttyp2 10:28am 51:02 :0 songoku.disca.up 1:20pm ? ttyp3 10:02am 29:22

0.03, 0.04 JCPU PCPU 2:48 0.48s 0.14s 0.03s 7:32 ? 0.18s 0.14s

WHAT -sh rlogin ma ssh tiberio.

155

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] [fichero] [am i]

Algunas de sus opciones son: -H ; imprime un encabezamiento para las columnas. -q ; slo muestra los logins de los usuarios conectados y la cantidad total de ellos.
$ who coco tty2 Oct 17 15:59 root tty3 Oct 17 12:40 alma :0 Oct 17 08:21 pepe pts/0 Oct 17 10:20 $ who -H -w -i USER MESG LINE LOGIN-TIME IDLE FROM pepe + pts/2 Nov 16 09:26 old root - tty1 Nov 17 09:01 00:11 alma ? :0 Nov 17 09:10 . coco - pts/0 Nov 17 10:30 00:05 $ who am i gloin!pepe tty2 Nov 16 09:26 $ who -q pepe root alma coco # users=4

156

uptime
Tiempo que lleva el sistema en marcha y la carga media que soporta
% uptime 1:21pm up 0.30, 0.09 1 day, 4:09, 18 users, load average: 1.04,

Hora actual Tiempo en marcha


Estimacin de la carga
Operacin normal: hasta 3 Muy alta: entre 4 y 7

15 ltimos minutos ltimo minuto 5 ltimos minutos

Excesivamente alta: mayor que 10

La carga se tolera segn la configuracin de cada sistema

157

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

Por una parte muestra la memoria fsica y por otra la swap, tambin muestra la memoria cach y de buffer consumida por el Kernel.
No es necesario pasarle ningn parmetro al comando para ver su funcionalidad:

158

free
No obstante, puede ser personalizado con los siguientes parmetros: -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 informacin detallada acerca de la utilizacin baja y alta de memoria. -o, old Muestra el formato antiguo, sin -/+ buffers/cache. -t, total Muestra un resumen del total de memoria fsica y swap. -V, version Muestra la versin de free y sale. help Muestra la ayuda y sale.

159

El comando ps
Lista todos los procesos del sistema, su estado, tamao, 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 ejecucin. -x: Muestra los procesos sin terminal controlando. -u: Muestra los propietarios de los procesos

-f: Visualiza la relacin padre-hijo de los procesos


-l: Listado en formato largo -A: Todos los procesos -N: Contrario a la seleccin.

-ww: muestra los parmetros de la lnea de comandos


160

Informacin aportada por ps


USER
Usuario que lanz el proceso

%CPU, %MEM
Porcentaje de procesador y memoria fsica usada

SIZE (o VSIZE)
Memoria (KB) de datos (no cdigo) ocupada por el proceso (non shared virtual memory)

RSS (resident size)


Memoria (KB) fsica 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)
161

Comando kill
Enva seales a los procesos en ejecucin. El SO, por defecto, proporciona a cada proceso un conjunto estndar de manejadores de seales.
kill[-seal] PID

Seal por defecto es 15 (terminar)

162

top
Carga media, procesos, consumo de memoria Se actualiza dinmicamente
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 9826 9831 1 2 4 5 6 7 8 11 USER PRI NI SIZE carlos 0 0 388 miguel 19 0 976 root 20 0 76 root 20 0 0 root 20 19 0 root 20 0 0 root 2 0 0 root 20 0 0 root 20 0 0 root 0 -20 0 RSS SHARE STAT LC %CPU %MEM TIME COMMAND 388 308 R 0 99.6 0.1 0:22 simulador 976 776 R 0 0.3 0.3 0:00 top 64 44 S 0 0.0 0.0 0:03 init 0 0 SW 0 0.0 0.0 0:00 keventd 0 0 SWN 0 0.0 0.0 0:00 ksoftiq 0 0 SW 0 0.0 0.0 0:13 kswapd 0 0 SW 0 0.0 0.0 0:00 bdflush 0 0 SW 0 0.0 0.0 0:10 kdated 0 0 SW 0 0.0 0.0 0:01 kinoded 0 0 SW< 0 0.0 0.0 0:00 recoved
163

top
Carga media, procesos, consumo de memoria, se actualiza dinmicamente (cada 5 segundos) Uso de memoria. Tiempo de CPU de los procesos en tiempo real 1. Primera lnea: corresponde a la informacin del comando uptime --Tiempo desde el arranque del servidor o uptime

--Nmero 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
164

top
1. Segunda lnea: recuento de los procesos del sistema --Nmero total --Procesos en ejecucin: menor o igual al nmero de procesos en el sistema --Procesos durmiendo: procesos que estn esperando por entrada/salida u otro evento

--Procesos detenidos
--Procesos zombies: procesos que estn esperando a ser detenidos por su proceso padre, realmente son procesos que ya estn muertos (no existen) pero siguen apareciendo.
165

top
1. Tercera lnea: reparto del tiempo de CPU en porcentaje --%US: Tiempo usado por los procesos

--%SY: Tiempo usado en la ejecucin del sistema


--%NI: Tiempo usado por los procesos de baja prioridad (niced) --%ID: tiempo no utilizado El resto de los tiempos estn relacionados con el tratamiento de interrupciones de entrada/salida del sistema se debe valorar como el tiempo del SO --Cuarta y quinta lnea mismos datos que el comando FREE
166

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, cdigos, libreras, swap) RES: Cantidad de memoria fsica 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

167

ping
El comando ping se utiliza para comprobar el estado de una conexin. Por lo tanto a travs del comando ping podemos comprobar si una estacin de trabajo se encuentra activo y si la conexin entre el origen y destino funciona correctamente.
Por ejemplo si queremos comprobar si tenemos conexin con el servidor de google, se puede ejecutar de la siguiente manera.

ping www.google.com
168

traceroute
El comando traceroute nos permite conocer el camino que se sigue para establecer una comunicacin con un destinatario, es decir, los routers que se atraviesan.
Traceroute www.google.com

169

Administracin de la Red

Linux

170

Configuracin manual
En la mayora de los casos los dispositivos hardware de red son creados automticamente durante el proceso de instalacin. Por ejemplo el controlador Ethernet (para las tarjetas de red local) con las interfaces eth0, eth1
Este paso de deteccin lo realiza el kernel. Cuando hablamos de configurar una interfaz de red nos referimos al proceso de asegurarle direcciones IP adecuadas.
171

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 direccin IP 192.168.2.1, y con una mascara de red de 255.255.255.0, el parmetro up indica que la tarjeta debe activarse

172

Para desactivar una Inrefaz de red


#ifconfig eth0 down Para activar una interfaz de red #ifconfig eth0 up

173

El problema de configurar las interfaces de red con ifconfig, es que como no se guardan los datos de configuracin en ningn fichero, al reiniciar el equipo perderemos la configuracin! La configuracin de las interfaces se encuentra en el directorio /etc/sysconfig/network-scripts/ifcfg-interfaz de red

174

~# 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)

175

# 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

176

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
177

Configuracin del servidor DNS


Existen 2 formas para la resolucin de nombres de forma local o a travs de un servidor de nombres DNS.
Para la resolucin de nombres de forma local se utiliza el fichero /etc/hosts en donde se guarda el nombre y la direccin IP de las maquinas locales Para establecer los servicios de resolucin de nombres (DNS) se debe editar el fichero /etc/resolv.conf

Despues de Hacer todo lo anterior, se debera reiniciar el servicio de red, ejecutando el siguiente comando
#service network restart
178

Configuracin con Asistentes


Para configurar la red a travs de la consola podemos ejecutar el comando setup y acceder al submenu network o ejecutar directamente
#system-config-network

179

Comprobacin
Para comprobar la conexin a internet se puede ejecutar con el comando ping indicando como parmetro cualquier direccin de internet.
ping www.google.com Si al realizar el ping se recibe respuesta entonces la comunicacin se esta realizando correctamente

180

Datos mas Importantes


Configuracin Directorio

Nombre del Equipo /etc/sysconfig/network Fichero de configuracin de /etc/sysconfig/networkla interfaz de la red scrips/ifcfg-interfaz de red Fichero para la resolucin esttica de nombres Servidores DNS /etc/hosts

/etc/resolv.conf

181

~# 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

182

Configuracin del DNS


Se modifica el archivo /etc/resolv.conf o lo crearemos, si no existe, con la siguiente informacin ### Comentarios varios domain inf-cr.uclm.es nameserver 161.67.26.34 nameserver 161.67.27.4

183

Instalacin servidor Web

Linux

184

Servidor WEB (APACHE)


Conocido como World concretamente WWW. Wide Web, o mas

El servidor web se encarga del almacenaje y la difusin de informacin mediante la distribucin de paginas HTML. Su arquitectura se basa en sirve las paginas HTML, los navegadores se encargan de realizar la peticin de la pagina deseada, de interpretarla y mostrar el resultado al usuario.

185

Servidor Web
Apache (http://www.apache.org/) es el servidor web mas utilizado por sus enormes posibilidades que ofrece (de cdigo 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

186

Instalacion de Apache
Para instalar el servidor apache fcilmente repositorios ejecutar el siguiente comando
#yum install httpd Indicamos tambin que sea iniciado el sistema operativo #chkconfig --levels 235 httpd on Iniciamos el servidor ejecutando #service httpd start
187

desde

Instalar Apache 2
yum install httpd
chkconfig --levels 235 httpd on /etc/init.d/httpd start

188

En Apache el directorio raiz por default de documentos es /var/www/html en Fedora, y el archivo de configuracin es /etc/httpd/conf/httpd.conf
Ademas las configuraciones estan almacenadas en el directorio /etc/httpd/conf.d

189

Instalando Modulo PHP


PHP (PHP Hypertext Pre/Processor), es un lenguaje de programacin interpretado por el servidor de paginas web de forma que estas pueden ser generadas de forma dinmica. En la direccin web oficial del proyecto (http://php.net/) puede encontrar una amplia documentacin sobre el lenguaje: manuales sintaxis utilizada, interfaz para la programacin de las aplicaciones

190

Instalando Modulo PHP


Para ejecutar PHP de forma automtica: #yum install php Para comprobar que PHP ha sido instalado con xito podemos crear un fichero php y ubicarlo en el directorio raz del servidor web. Por ejemplo para mostrar toda la informacin til disponible y detalles sobre la instalacin actual de php, editamos el fichero /var/www/html/info.php #nano /var/www/html/info.php
191

Instalando Modulo PHP


El contenido del fichero incluye una sentencia para ejecutar la funcin phpinfo() que nos permite obtener la informacin sobre el modulo php.
<?php phpinfo(); ?> Asi, al ejecutar el fichero en una peticin http el servidor lanza la sentencia y muestra el contenido pedido, de forma dinmica, antes de probar ejecutar este fichero reiniciamos el servidor apache

#service httpd restart


192

Instalando Modulo PHP


Ahora si, abrimos el navegador web y escribimos en la barra de direcciones http://localhost/info.php

193

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 aadir esta funcion a Apache, primero debemos instalar el modulo mod_ssl ejecutando: #yum install mod_ssl

194

Conexiones Seguras SSL


Una vez instalado, debemos asegurarnos que en el fichero de configuracin de apache el modulo se encuentra activo.
Para activar el modulo hay que utilizar la directiva LoadModule de la siguiente forma: LoadModule

ssl_module

modules/mod_ssl.so

195

Conexiones Seguras SSL


Ademas, en el fichero 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

196

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.

197

Conexiones Seguras SSL


El primer paso en la obtencin de un certificado es la creacin de la clave privada del servidor y, posteriormente, generar la peticin de certificado.
Para ello, debemos contestar una serie de preguntas tras la ejecucin 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\
198

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

199

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

200

Conexiones Seguras SSL


Por ultimo, tras la obtencion del certificado, debe indicar al servidor donde residen los ficheros que almacenan la clave y el certificado.
Para ello, incluya en el fichero de configuracion /etc/httpd/conf/ssl.conf las directivas: SSLCertificateFile /etc/httpd/conf/ejemplo.crt SSLCertificateKeyFile /etc/httpd/conf/ejemplo.key

201

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 informacin que identifica al servidor propietario del certificado. Esta informacin es la que se ha introducido en la creacin de la peticin de certificado

Si el certificado esta firmado por una CA reconocida, el cliente no mostrara ningn aviso y visualizara la pagina directamente

202

VNC
VNC son las siglas en ingls de Virtual Network Computing (Computacin 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 travs de un ordenador cliente. Tambin 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 mquina con cualquier s.o que soporte VNC conectndose desde otro ordenador o dispositivo que disponga de un cliente VNC portado.

203

VNC
El programa servidor suele tener la opcin 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 automticamente.

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.
204

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 tecnologa incluyen soporte tcnico remoto y acceso a los archivos presentes en el ordenador del trabajo desde la computadora de un hogar, o viceversa.

205

Instalacion VNC: SERVER


#Yum install tigervnc-server
Archivo de Configuracin

Editamos el Fichero: aadimos un escritorio/usuario de la siguiente forma:


/etc/sysconfig/vncservers

Agregar VNCSERVERS=2:root

206

Instalacion VNC: SERVER


Establecemos la contrasea del servidor vnc ejecutando el comando:
#vncpasswd Ejecutamos el comando para crear automaticamente los ficheros de configuracion: #vncserver Finalmente, iniciamos el servicio ejecutando: #service vncserver start

207

Instalacion VNC: VIEWER


# yum install vncviewer
Para ver el estado de VNC

#service vnc status


Para Abrir el programa vnc En la casilla donde indica el server IP:5901
208

FTP
FTP (siglas en ingls de File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en informtica, 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.

209

FTP
El servicio FTP es ofrecido por la capa de aplicacin del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21.
Un problema bsico de FTP es que est pensado para ofrecer la mxima velocidad en la conexin, pero no la mxima seguridad, ya que todo el intercambio de informacin, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningn tipo de cifrado, con lo que un posible atacante puede capturar este trfico, acceder al servidor y/o apropiarse de los archivos transferidos.
210

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 trfico.

211

Instalacion FTP
#yum install vsftpd
Estado del servicio ftp #service vsftd status

Inicio del servicio


#service vsftd start Fichero de configuracin etc/vsftpd/vsftpd.conf

212

Instalacion FTP
Detenemos el Firewall
#service iptables stop En el fichero de configuracin

Deshabilitar SELlNUX= disable,


/etc/Selinux/config Reinciamos equipo, y iniciamos el servicio ftp Iniciar el servicio ftp $ftp localhost
213

Instalacion FTP Cliente


#yum install filezilla

214

Cliente FTP

215

Servidor DHCP

Linux

216

[localhost@localdomain ~]# yum install -y dhcp


Ubicar el archivo que se encuentra en la siguiente ubicacin /etc/dhcp/dhcpd.conf

217

Subnet:Segmento de subred sobre el cual actuara el dhcp


Netmask: Mascara de red de la subred option routers:Parametro que especifica mediante IP la ubicacin del router option subnet-maskMascara de red de la subred

218

option broadcast-address:Parametro que especifica la IP de broadcast


option domain-name: "tuDominio.com ;Parametro que describe el nombre de tu dominio option domain-name-servers Parametro que especifica mediante IP la ubicacin del DNS

219

Range: Rango sobre el cual el DHCP asignara direcciones IP


default-lease-time: Parametro que indica el tiempo entre cada nueva asignacion de IP a los equipos max-lease-time Parametro que indica el tiempo de vigencia de la direccion IP para cada equipo

220

host: nombreDeLaMaquinaParametro que describe el nombre del equipo


option host-name nombreDeLaMaquina.tuDominio.com: Parametro que describe el nombre de la computadora y el nombre de dominio asociado a la misma

221

hardware ethernet: Parametro que describe la direccion MAC asociada a la tarjeta ethernet del equipo
fixed-address: Parametro que describe la direccion IP destinada a un equipo

222

# # DHCP Server Configuration file.


# see /usr/share/doc/dhcp*/dhcpd.conf.sample # ddns-update-style interim;

ignore client-updates;
shared-network redLocal{ subnet 192.168.2.0 netmask 255.255.255.0{ option routers 192.168.2.5; option subnet-mask 255.255.255.0; option broadcast-address 192.168.2.255;
223

option domain-name "redLocal.com.";


option domain-name-servers 192.168.2.5; }

host maquina1{
option host-name "maquina1.redLocal.com"; hardware ethernet 00:1b:24:e2:d7:41; fixed-address 192.168.2.10; }
224

host maquina2{
option host-name "maquina2.redLocal.com"; hardware ethernet 00:2c:21:ef:a7:13;

fixed-address 192.168.2.11;
} }

225

[localhost@localdomain ~]#/etc/init.d/dhcpd start


[localhost@localdomain ~]#/etc/init.d/dhcpd restart [localhost@localdomain ~]#/etc/init.d/dhcpd stop

[localhost@localdomain ~]#chkconfig dhcpd on

226

Você também pode gostar