Linux
GNU + Linux
Las distribuciones Fuentes de Documentacin Multimedia de Linux
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.
Hereditario cualquier programa derivado de software libre es tambin libre. Se prohibe prohibir.
Libertad de Distribucin
Libertad de Mejorar el Software y Publicarlo
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.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
14
15
Todas estas cosas juntas y bien organizadas son las cosas que debe proporcionar una distribucin.
16
17
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
20
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
23
24
26
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
31
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
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
Estructura de particiones:
/ (root) /usr /var /tmp /home swap
37
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)
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.
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.
44
Sistema de archivos
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 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
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.
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).
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
SU
57
Nota: abusar de su uso no es muy recomendable ya que implica estabilidad del sistema
59
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
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
69
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
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
$ mv mensaje /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
77
78
79
80
Notar que para usuarios de Windows que el comando cd requiere dejar un espacio en blanco antes de introducir los ...
81
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
Ejemplo
$ more pila.java
86
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
94
95
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
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:
104
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
106
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
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.
109
110
111
Modificar (groupmod)
groupmod -g gid -n nombre_grupo group
-g: permite cambiar el GID del grupo.
112
113
Si en la lnea de comandos tecleamos cat /etc/group, Cada lnea contiene informacin en especifico.
114
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.
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
/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
may
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
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
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.
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
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
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
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
Grupo rwx
Valor decimal 7
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
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.
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
Usuario
147
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
151
152
Linux
153
Memoria Red
Polivalentes
154
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
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,
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
%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)
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
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
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
172
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
176
Despues de Hacer todo lo anterior, se debera reiniciar el servicio de red, ejecutando el siguiente comando
#service network restart
178
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
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
182
183
Linux
184
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
190
193
194
ssl_module
modules/mod_ssl.so
195
196
197
199
200
201
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
Agregar VNCSERVERS=2:root
206
207
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
212
Instalacion FTP
Detenemos el Firewall
#service iptables stop En el fichero de configuracin
214
Cliente FTP
215
Servidor DHCP
Linux
216
217
218
219
220
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
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
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
226