Está en la página 1de 12

Curso: Linux Administracion

Profesor:
Julio Gonzales Villegas
email: jgonzales@uni.edu.pe
Horario:
Lunes y Miercoles de 19:00 - 22:00
Arquitectura de UNIX.UNIX es un sistema operativo que proviene del Proyecto MULTICS desarrollado en c
onjunto con la Universidad de Michigan (MIT), AT&T y ciertos accionistas (Bancos
) de Boston. Era un proyecto muy ambicioso para la epoca. La General Electric fo
rmaba parte del proyecto. Colaboro con un modelo de computador de la epoca.
El proyecto fracasa y GE se retira del mundo de las computadoras. Ken Thompson d
esarrolla una version del proyecto MULTICS pero en una maquina de la empresa DEC
, DPD-7. El sistema trabaja y es bautizado como UNICS. Con el tiempo se convier
te en UNIX.
La estructura esta compuesta de los siguientes tres elementos:
- Kernel: el cual gestiona todas las tareas y permite que el sistema y e
l hardware de la
maquina trabajen de manera coordinada.
- Shell: conjunto de herramientas lideradas por una linea de comandos pa
ra su mejor
uso e impelmentacion. Es la herramienta de administracion por excelenc
ia.
- Utilidades: conjunto de herramientas o programas de uso especifico o g
eneral. En la
actualidad se cuentan por miles.
Es un sistema con las siguientes caracteristicas:
- Multitarea: puede ejecutar multiples tareas lanzadas por diferentes usuarios.
- Multiusuario: atiende las necesidades (tareas) de multiples usuarios en linea.
Al principio, existia una version libre y de uso general. Este sistema fue porta
do (traducido) desde sus origenes al lenguaje "C" para asegurar la portabilidad.
El codigo original fue rediseado en este lenguaje, y se vendia una version de UN
IX a las universidades incluyendo el codigo fuente.
AT&T luego de "madurar" UNIX, lanza una version comercial que no incluye el codi
go fuente en lenguaje "C" como es de esperarse. Incluso la version "acadmica" tam
poco incluye el codigo fuente.
Andrew Tanenbaum es un profesor de UNIX que desarrolla una version reducida de U
NIX lalmada MINIX. Tambien en lenguaje C pero sin utilizar una linea de codigo d
e la cual es propietaria AT&T.
Historia de LINUX.Entra al escenario cuando Tanenbaum crea su verison de UNIX reducida llamada Min
ix. Linus Torvalds toma Minix y empieza a desarrollar el kernel. Mientras otras
comunidades de desarrollo desarrollan las otras piezas del software. Se crean e
ntonces las "Distribuciones Linux".
- Kernel
- Shell
- Aplicaciones/Utilidades

Todas las versiones de Linux poseen los mismos elementos, incluyendo el kernel.
RedHat: posee dos versiones de Linux:
- Comunidad o Libre: Fedora Core
- Enterprise o Empresarial: posee licencia de uso, llamada RHEL.
Cada distribucion de Linux crea su propia herramienta de instalacion utilizando
el codigo fuente original de losm programas descargados desde su comunidad de or
igen.
La herramienta de instalacion de paquetes en RedHat y CentOS se llama ReedHat Pa
ckage Manager o RPM. Utiliza actualizaciones desde servidores repositorios de in
ternet utilizando la herramienta yum.
Conexion al sistema.Se requiere de una cuenta de usuario. Las cuentas de usuario basicamente son dos
:
- Regular
- Administrador (root)
Cuenta de usuario regular: posee retricciones tipicas de la cuenta.
Cuenta de usuario:
Contrasea:

apellido paterno

apellido paterno

Servidor:

192.168.20.199

Estructura de un comando en UNIX.


comando [-opciones] [--subopciones] [argumento]
Ejemplo:
rpm

-e

--nodeps

httpd

Comando basicos: conociendo el sistema.


Version del kernel de Linux.
$ uname

-r

Lista de usuarios: who


Fecha y hora:
Calendario en linea:

date
cal

$ cal 10 2014
Ver el contenido de un directorio:
$ ls -al
$ ls -a -l

Actualizar fecha y hora.


# date
MM
DD
HH
mm
AAAA

MMDDHHmmAAAA
Mes,
Dia,
Hora,
Min,
Ao,

01 - 12
01 - 31
00 - 23
00 - 59
4 digitos

Ejemplo: establecer la fecha y hora del sistema a 4 de Agosto de 2014 a las 3:23
pm
#

date

080415232014

$ whoami
Comando df: muestra las particiones del disco
$ df -h
Comando man: es el manual en linea.
$

man ls

Comando id: muestra los detalles del usuario como su identificador y los grupos
a los cuales pertenece.
$ id
Comando hostname: nos da el nombre de la maquina asignado durante la instalacion
.
$ hostname
Comando dnsdomainname: nos muestra nombre y dominio.
$ dnsdomainname

-->

dns

domain

name

Comando cat: concatena archivos. Se usa tambien para mostrar en pantalla el con
tenido del archivo sin editarlo.
$ cat

archivo

Redireccion de la salida en pantalla.# who


$

who

>

simbolo ">"

/etc/datos/usuarios
>

usuarios

Comando write: escribe en el terminal de otro usuario mensajes instantaneos.


Comando file: muestra el tipo de archivo analizado.
$
Ejemplos:

file

usuarios

who >
file

usuarios.txt

cat

usuarios.txt
usuarios.txt

Sistema de Archivos en Linux (File System).Es el esquema de almacenamiento de los datos en el host. Incluye dispositivos co
nvencionales (disco duro, memoria USB, CDROM, etc) asi como dispositivos en red
incluso. A cada uno de ellos se le asigna un tipo de sistema de archivo asociado
a la naturaleza del dispositivo.
El sistema de archivos, para una mejor organizacion y administracion, se divide
en directorios especificos en donde en cada uno de ellos se almacena la data de
l sistema y de los usuarios.
Estos directorios son los siguientes:
/

Es la raiz del sistema de archivos y se denomina la Jerarquia Pr

/boot

Contiene a los archivos de arranque del sistema, incluyendo al k

/bin
/dev
/etc
/home
/mnt
/media
/opt
/proc
/root
/sbin
/tmp
/usr
/var

Binarios de uso comun para todos los usuarios (binario=programa)


Archivos de definicion de dispositivos
Archivos de configuracion del sistema en formato de texto
Directorios hogares de los usuarios
Directorio de montaje de dispositivos
Similar al anterior, montaje automatico
Directorio opcional, usado por algunos programas (ej.: Zimbra)
Directorio virtual, apunta a los procesos en RAM
Directorio hogar del administrador
Bianrios de administracion del sistema
Directorio de uso temporal para los programas
Almacenamiento de los programas instalados
Directorio de contenido variable

incipal
ernel

Tipos de archivos en LINUX/UNIX.- regular


mas, imagenes, etc
d directorio
rchivos en una
l enlace
c caracter
b bloque
s socket
p Tuberia

Archivos comunes tales como texto, video, progra


Archivo especial tipo directorio, contiene la lista de a
posicion determinada del disco duro
Son accesos directos a otros archivos
Archivo de dispositivo tipo caracter
Archivo de dispositivo tipo bloque
Se usa para comunicar procesos
Similar al anterior pero solo un extremo del tubo esta d

efinido
Archivos de dispositivo.- Se utilizan para indicar al kernel el tipo de disposit
ivo con el cual se van a conectar. Suelen confundirse con drivers de dispositivo
(modulos). Existen dos tipos de archivos de dispositivo: caracter y bloque. El
primero se usa para los dispositivos que transmiten los datos caracter a caract
er, por ejemplo, el terminal del usuario, la impresora, la conexion ppp, etc. El
segundo se usa para los dispositivos tipo almacenamiento o que transmiten los d
atos por bloques, ejemplo el disco duro, memoria USB, etc.

Estructura de un directorio.- Esta formado por dos campos.


- Nodo Indice asociado al archivo
- Nombre del archivo
El nodo indice esta compuesto de un bloque de datos (bloque=1KB). Este bloque se
divide en partes que almacenan informacion referente al archivo al cual esta as
ociado o asignado.
El nombre hace referencia al nombre del archivo almacenado en el directorio espe
cifico.
Nodo indice

Nombre

393222

usuarios.txt

Informacion almacenada dentro del i-nodo (i-node)


-

Permisos
Lectura (r), Escritura (w), Ejecucion (x)
Numero de enlaces duros
Dueo del archivo
Grupo dueo del archivo
Usado para compartir archivos
Tamao del archivo
Fecha de creacion o ultima modificacion
Hora de creacion o ultima modificacion
Apuntadores

Configuracion de la red.- En CentOS, la configuracion de los dispositivos de re


d se almacenan en archivos de texto separados uno por cada dispositivo de red ex
istente.
Directorio de ubicacion:

/etc/sysconfig/network-scripts/

Archivo de configuracion de la tarjeta de red:


ifcfg-etho
if
cfg
eth
0

interface
configuracion
dispositivo ethernet
primer dispositivo de red (tarjeta)

Comandos para administrar el sistema de archivos.-

Copiar
Mover
Crear directorios
Renombrar (Mover)

Copiar archivos.- Comando cp


cp

archivo(s)

/ruta/a/copiar/[nuevo-nombre]

Crear directorios en LINUX.mkdir

directorio1

directorio2

.....

Marcas de directorios.- Son directorios ocultos que sealan ubicaciones especific


as segun la posicion del usuario. Son dos:

- El punto (.) ruta a la posicion actual del usuario, igual que el coma
ndo pwd
- El punto y punto (..) ruta al directorio anterior o directorio padre
Permisos.Son bits asociados a los archivos y que se ubican en el nodo indice del archivo.
Establecen el tipo de acceso permitido a los archivos. Existen tres permisos ba
sicos a saber:
Lectura (r)
Escritura (w)
Ejecucion (x)
Restriccion (-)
ausencia de tal

Tiene
Tiene
Tiene
Tiene

asignado
asignado
asignado
asignado

el
el
el
el

peso
peso
peso
peso

"4"
"2"
"1"
"0", no es un permiso en si, es

Ejemplo:
-rw-rw-r-- 1 pepito pepito 529 oct 23 19:36 usuarios.txt
pepito es el dueo del archivo, y los permisos que le afectan son los siguientes:
rwEl grupo pepito tiene asignado la segunda terna, por lo tanto los permisos son:
rwLa tercera terna se llama "permisos publicos" pues afectan a todos los demas usu
arios. Es decir, aquellos usuarios que NO son el dueo y NO pertenecen al grupo du
eo.
Modo de un archivo.- Es la suma modificada de los pesos de cada permiso en cada
terna. Se dice que es una suma modificada pues se basa en multiplos de 10.
Ejemplo: hallar el modo del archivo que posee los siguientes permisos:
rw- rw- r-Terna del dueo:
rw-

-->

4 + 2 + 0 = 6

Terna del grupo:


rw-

-->

4 + 2 + 0 = 6

-->

4 + 2 + 0 = 4

Terna de otros:
r--

Por lo tanto, el modo sera:


= 664

Modo = 100xdueo + 10xgrupo + 1xotros = 600 + 60 + 4

En resumen:
Permisos
rwx
rw-

Valor Octal
7
6

r-x
r--wx
-w--x
---

5
4
3
2
1
0

Comando chmod: permite establecer losm permisos de los archivos.


chmod

MODO archivo(s)

Editores de Texto.Se utilizan para modificar las configuraciones de las aplicaciones instaladas de
bido a que dichas configuraciones se almacenan en archivos de texto plano.
Existen varios editores de texto en Linux. Pero los mas importantes son 2:
- VIM
- Nano
Editor vim.- Es el editor por excelencia en UNIX. Posee 3 modos de trabajo:
- Comando: es el modo de trabajo por default. Aca el teclado se comporta
como simples
comandos.
- Edicion: es el modo de trabajo para crear o modificar archivos de text
o.
- Avanzado: en este modo accede a tareas tales como grabar archivos, ree
mplazar texto, abrir
multiples ventanas de texto en el mismo terminal, etc.
Ejemplo:
- grabar archivos
:w nombre-archivo
- grabar y salir
:wq
- salir sin grabar
:q!
- salir grabando
:wq!
vim

/etc/sysconfig/network

Ejecutar comandos sin salir del editor.:!ls -l


nmap.- Es un mapeador de puertos de red. Indica que servicios de red se tiene ac
tivo en el host.

Ejemplo: Habilitar la publicacion web de paginas personales de los usuarios.


Requisitos: el servidor web debe estar preparado para publicar las paginas de lo
s usuarios. Cada usuario debe hacer lo siguiente:
a) Crear un directorio llamado "webpersonal" dentro de su directorio hogar.
b) Dentro de ese directorio colocar la pagina web. El archivo de la pagina debe
llamarse "index.html" y puede ser creado con cualquier herramienta de diseo web.
c) Debe permitir el acceso a su directorio hogar para que el servidor apache pue
da leer su pagina personal y publicarla en la web.
Finalmente, para acceder a nuestra web personal, ingresar a traves de un navegad
or ingresando la siguiente URL:
http://192.168.20.199/~usuario/
Filtros regulares.- Son comandos que modifican el contenido de un archivo pero n
o el archivo en si. Es decir, muestra el contenido del archivo filtrado en panta
lla, pero no altera el archivo original.
sort.- Ordena la salida de un archivo.
grep.- Extrae una linea en donde se repite un patron indicado en grep.

Introduccion al Shell de Linux.Es un programa de usuario cuya funcion es la de servir de intermediario entre el
kernel del sistema y el usuario. Cada vez que abrimos una conexion al sistema,
el kernel asigna una copia del shell para que el usuario tenga una linea de coma
ndos y pueda ejecutar tareas de administracion.
Funciones del shell
a)
b)
c)
d)
e)

Proporciona una linea de comandos y realiza la interpretacion de ellos


Realiza la sustitucion de variables
Accede al contenido de las variables
Implementa la redireccion de entrada y salida de comandos
Proporciona un lenguaje de programacion para scripts de administracion

Lista de programas shell instalados en el sistema.Se ubica en el archivo /etc/shells


Shell comunes:
sh
bash
csh
tcsh
ksh

shell original
bourne again shell
c shell
student shell
korn shell

La linea de empieza en el simbolo "$" o "#". Dependiendo del simbolo, el usuario


sera del tipo regular o administrador.
Estructura de un comando en UNIX.

comando [-opciones] [--subopciones] [argumento]


El shell interpreta los comandos o programas de la manera anterior. Las opciones
, subopciones y el nombre programa, asi como el argumento deben estar separados
al menos un espacio en blanco. Los argumentos son los archivos o procesos a los
cuales se aplica el programa o comando.
Variables de shell.- Son cadenas de caracteres que almacenan valores usados por
los programas. Son posiciones en memoria donde los procesos (programas) alcanzan
el contenido de ellas.
Definir una variable.
x=3.14
Acceder a una variable.- Se dice que se accede a una variable cuando se muestra
su valor o contenido. O cuando se usa dicho contenido. A este procedimiento se
le llama "referenciar una variable".
echo

$x

Caracter escape \.Se utiliza para desactivar el significado especial de ci


ertos caracteres interpretados por el shell.
" "
#
.

espacio en blanco, separador de argumentos en un comando


caracter comentario
punto, ruta a la posicion actual en el sistema de directorios

Cada usuario puede definir sus variables y almacenarlas en archivos para su post
erior uso. Los archivos de configuracion del shell se almacenan en el directorio
/etc/skel/ y estan ocultos.
Algunas variables conocidas.HOME
HOSTNAME
TMOUT

ruta al directorio hogar


nombre de la maquina
tiempo de inactividad del terminal

Historial de comandos.- Es un archivo que almacena los comandos ejecutados en ca


da sesion de trabajo. Por defecto almacena hasta 1000 comandos y el archivos don
de se almacena se llama .bash_history.
Redireccion de entrada y salida de comandos.Cuando ejecutamos un comando, el kernel le asigna un espacio en memoria RAM y un
tiempo de procesador o CPU. Se dice entonces que tenemos un proceso o programa
ejecutandose en memoria. Cuando los programas estan en ejecucion, necesitan leer
datos para procesar o entregar resultados. Estos datos se almacenan en archivos
llamados "archivos de entrada y salida estandar". Estos archivos son 3:
- stdin
- stdout

archivo de entrada estardar, asociado al teclado


archivo de salida estandar, asociado a la pantal

- stderr
a de diagnostico

archivo de error estandar, llamado tambien salid

la

Ejemplo. Comando tr. Este comando convierte caracteres a otro en funcion a la en


trada indicada.
$

tr a A

Entonces este solicita desde el teclado la entrada de los datos a procesar. Si e


stos datos estan almacenados en un archivo, seria mas facil el proceso.
$

tr a A

<

modelo.txt

Comando find.- Se utiliza para buscar y hallar archivos.


$
$

find /ruta/de/busqueda
find

-name

-name

archivo-a-buscar

ifconfig

La redireccion de entrada y salida de comandos esta manejada por el shell.


TUBERIAS.- Es un mecanismo de relacionar comandos entre si para un proposito co
mun. No existe un comando tuberia, sino el caracter u operador tuberia.
Ejemplo: extraer del archivo passwd la lista de usuarios con shell de inicio b
ash, ordenados por nombre de usuario. Extraer solamente el nombre y el uid.
grep

bash

sort

-t:

cut -d:

passwd >

usuarios-shell
-f1,3

>

usuarios-orden

usuarios-orden

Operador tuberia: es el simbolo


grep bash

usuarios-shell

>

usuarios-fin

barra vertical

passwd | sort -t:

"|"

| cut -d: -f1,3