You are on page 1of 199

GNU/Linux Centos 5.

1
Miguel ngel Nieto <miguelangel@irontec.com>
Irontec Internet !istemas so"re GNU/Linux
I rontec Curso "#si co Li nux
$
%"&eti'os (el curso

Dominar las distintas posibilidades de GNU/Linux dentro


de la empresa.

Trabajar tanto desde el entorno de consola como desde


el entorno de escritorio.

Administracin bsica de un sistema GNU/Linux basado


en RedHat.

por encima de todo! aprender a buscar la in"ormacin


#ue necesitamos para sol$entar los posibles problemas.
I rontec Curso "#si co Li nux
)
*ntes (e na(a...
.a4uete
I rontec Curso "#si co Li nux
5
Intro(ucci0n

%ro&ramas in"ormticos

Tipos de 'o"t(are

'o"t(are pri$ati$o

')are(are

*ree(are

'o"t(are libre
I rontec Curso "#si co Li nux
5
Intro(ucci0n
I rontec Curso "#si co Li nux
6
/ Libertades0

Libertad 10 Libertad para ejecutar el


pro&rama para cual#uier propsito.

Libertad 20 Libertad para estudi ar 3


adaptarl o a las necesidades.

Libertad 40 Libertad para redi stri bui r copi as.

Libertad 50 Libertad para mejorar el pro&rama


3 publ i carl o con esas modi"icaciones.
Intro(ucci0n
I rontec Curso "#si co Li nux
7
Intro(ucci0n

6nicios del 'o"t(are libre

Ric)ard 'tallman 72895 : *unda GNU ;er.<=

Linus Tor$alds 72882 : >rea Linux=

2884 : GNU/Linux 7;er. <=


I rontec Curso "#si co Li nux
8
Intro(ucci0n
>onceptos General es sobre GNU Li nux 76=

+,u- es GNU .
GNU is not UN6?! pro3ecto iniciado por Ric)ard
'tallman 72895=. @bjeti$o0 'istema totalmente libre.
Apo3ado en la licencia G%L. Aernel0 HURD 7"racaso=.

+,u- es Li nux .
Aernel liberado por Linus Tor$alds en 2882 con
licencia G%L. Ar#uitectura Bononuclear!
multiplata"orma 7659C! ABDC/! %o(er%>! ...=. Uso0
'er$idores! estaciones de trabajo! sistemas
empotrados...
I rontec Curso "#si co Li nux
9
Intro(ucci0n

>onceptos General es sobre GNU Li nux 766=

+,u- son Red)at! Debi an! 'u'D ... .

'on EDistribucionesF de GNU Linux.

Di"erentes "ormas de Eempa#uetarF el nGcleo! las


)erramientas GNU 3 el resto de so"t(are 7libre o
no=.

Gestionadas por0

empresas

&rupos de personas.

or&anismos ...
I rontec Curso "#si co Li nux
1:
Intro(ucci0n

Distribuciones GNU Linux (I)

Debian: Proyecto fundado por Ian Murdock en 1993,


proyecto con organizacin jerrquica totalmente
horizontal. Objetivo principal: competir con las
distribuciones comerciales para poder garantizar el
exito de GNU Linux.

Redhat: Empresa fundada en 1994 por Marc Ewing,


ofrece soporte tcnico profesional y garantas de
escalabilidad. Plataforma lider en el mercado.
I rontec Curso "#si co Li nux
11
Intro(ucci0n

Distribuciones GNU Linux (II)

Mandrakesoft: Nacida en 1998, con objetivo


principal: instalacin y uso diario sencillos.
Crecimiento espectacular en 2 aos (3 a 100
empleados).

SuSE: Proyecto de empresa aleman, iniciado en


1993. Primeras versiones basadas en Slackware. En
la actualidad distribucin totalmente propia. Ofrecen
soporte profesional de calidad, similar al de RedHat.
I rontec Curso "#si co Li nux
1$
Intro(ucci0n

Distribuciones GNU Linux (III)

Slackware: Distribucin desarrollada por Patrick


Volkerding. Primera versin publicada en Abril de
1993. No ofrece soporte tcnico profesional directo.

Knoppix: Es el Sistema Live (ejecucin desde


CDRom sin instalacin) ms popular. Soporta
prcticamente todos los dispositivos hardware del
mercado. Muy popular como mtodo de iniciacin a
GNU Linux.
I rontec Curso "#si co Li nux
1)
Intro(ucci0n

Distribuciones GNU Linux (IV)

Ubuntu: Distribucin basada en Debian, centrada en


el sistema de escritorio (aunque tambin dispone de
versin servidor). Nueva versin cada 6 meses.

CentOS: Distribucin basada en el cdigo fuente de


Red Hat. Con cada nueva versin enterprise de
RedHat, Centos descarga el cdigo, lo compila y crea
su propia versin. Es 100% compatible a nivel binario
con RedHat.
I rontec Curso "#si co Li nux
15
Intro(ucci0n

Versiones
2.4.19 2.5.3
Versin
Sub Versin:
Par indica estable
Impar indica
inestable
Release

En la prctica, se denomina
versin a todo el conjunto.
I rontec Curso "#si co Li nux
15
Intro(ucci0n
I rontec Curso "#si co Li nux
16
Intro(ucci0n

Situacin real de GNU Linux
Las estadsticas no siempre son muy objetivas, pero se
calculan las siguientes cifras:

Servidores: Prcticamente todos los servidores


potentes se ejecutan sobre un derivado de UNIX
(GNU Linux, *BSD...).

Equipos de escritorio: Existencia de numerosos


gestores de ventanas (KDE, GNOME, ...) apariencia
esttica y usabilidad muy mejorada.

Dispositivos empotrados: GNU Linux est presente


en numerosos dispositivos Wifi (802.11b/g) (Cisco
Linksys WRTG54G, SMC), en telfonos celulares
I rontec Curso "#si co Li nux
17
Intro(ucci0n
Situacin real de GNU Linux en el panorama
empresarial

Soporte: La va principal de ingreso en el mundo de GNU Linux es


el soporte. Servicios sobre GNU Linux. El desarrollo no copa el
mercado como en otros sistemas operativos (La rueda ya est
inventada).

Apoyo de grandes empresas: Entre otras IBM se ha posicionado


en favor de GNU Linux, afrontando directamente demandas de SCO
UNIX sobre posible violacin de copyright de Linux.

Postura de Microsoft:
2001:Proyecto hecho por aficionados, no es serio
2004:Es nuestra principal amenaza
Bill Gates
I rontec Curso "#si co Li nux
18
Intro(ucci0n

Situacin real de GNU Linux en el panorama
empresarial: Desarrollo y sistemas

Desarrollo (web): La punta de la lanza reside en


soluciones LAMP (Linux Apache MySQL, PHP):

Pros: Rapidez, seguridad, integracin con


prcticamente todos los protocolos y comunidad de
desarrolladores muy activa (numerosas libreras y
cdigo reutilizable).

Contras: Integracin con soluciones MS Windows


I rontec Curso "#si co Li nux
19
Intro(ucci0n

Situacin real de GNU Linux en el panorama
empresarial: Desarrollo y sistemas

Sistemas: Es el punto fuerte de GNU Linux:


estabilidad, seguridad, escalabilidad e integracin
prcticamente total:

Soluciones de seguridad (VPNs, Ids, Firewalls, ...)

Soluciones de tiempo real (sistemas de


monitorizacin, ...)

Routing Avanzado (OSPF, BGP, VRRP, ....)

Servidores: DNS (Bind9), Web (Apache), FTP


(Proftpd), Netbios (Samba) ....
I rontec Curso "#si co Li nux
$:
3;3<CICI%

=isitar los siguientes enlaces>

?tt@>//---.Aernel.org

?tt@>//gnu.org

?tt@>//,res?meat.net

?tt@>//---.centos.com

?tt@>//es.-iAi@e(ia.org/-iAi/!o,t-areBli"re
I rontec Curso "#si co Li nux
$1
Instalaci0n (e Cent%!
I rontec Curso "#si co Li nux
$$
Instalaci0n (e Cent%!

'e puede descar&ar >ent@' desde su p&ina (eb.


)ttp0//(((.centos.or&

'e puede descar&ar en distintos >ds o en un solo


D;D.

La Gltima $ersin estable es H.

%ara instalarlo es necesario disponer de espacio en


el disco duro 3 #ue el ordenador pueda arrancar
desde el lector de >ds.

La instalacin es del estilo si&uienteIsi&uiente...


"inaliJar 0=
I rontec Curso "#si co Li nux
$)
Instalaci0n (e Cent%!

>omprobacin del medio.


I rontec Curso "#si co Li nux
$5
Instalaci0n (e Cent%!

'eleccin de idioma.

'e aplicar tanto al entorno de consola como al


entorno de escritorio.
I rontec Curso "#si co Li nux
$5
Instalaci0n (e Cent%!

'eleccin de idioma del teclado.


I rontec Curso "#si co Li nux
$6
Instalaci0n (e Cent%!

%articionado del disco duro.

Ds necesario #ue el disco duro est- $acKo o #ue en


caso contrario ten&amos una particin $acKa en la
#ue realiJar la instalacin.
I rontec Curso "#si co Li nux
$7
Instalaci0n (e Cent%!

'eleccin 3 creacin de particiones.

>omo mKnimo debe existir / 3 s(ap.

+,u- problemas tiene el uso exclusi$o de /.


I rontec Curso "#si co Li nux
$8
Instalaci0n (e Cent%!

'istemas de "ic)eros

;*AT

Dxt4

Dxt5

Raiser*'

?*'

3 muc)os otros...
I rontec Curso "#si co Li nux
$9
!istemas (e ,ic?eros en Unix

Dn un sistema Unix todo son arc)i$os0 memoria "Ksica!


ratn! modems! teclado...

*iloso"Ka de diseLo de &rn -xito 3 potencia! aun#ue


tambi-n peli&rosa0 un simple error de permisos puede
permitir modi"icar todo un disco duro.

Tipos de arc)i$os0

"ic)eros planos

directorios

"ic)eros especiales 7dispositi$os=

orientados a carcter

orientados a blo#ue
I rontec Curso "#si co Li nux
):
!istemas (e ,ic?eros en Unix
DesplaJndose por el sistema de "ic)eros
I rontec Curso "#si co Li nux
)1
!istemas (e ,ic?eros en Unix
Dstructura de los 'istemas de *ic)eros

Dstndar de la Merar#uKa de *ic)eros 7*H'=

'e encar&a de de"inir los directorios principales 3 sus


contenidos en Linux 3 otros sistemas Unix.

Ba3or "acilidad en el uso de distintos sistemas Unix.


I rontec Curso "#si co Li nux
)$
Instalaci0n (e Cent%!

Nrbol tKpico de directorios de un sistema GNU/Linux 7ls Ip /=

bin/

de$/

)ome/

lostO"ound/

proc/

sbin/

usr/

boot/

etc/

lib/

mnt/

root/

tmp/

$ar/
I rontec Curso "#si co Li nux
))
Instalaci0n (e Cent%!

/sbin

>ontiene los binarios esenciales para #ue


"uncione el sistema.

6nclu3e los pro&ramas para la administracion!


con"i&uracion del )ard(are 3 mantenimiento.

"ind! lilo! "disP! init! i"con"i& etc

/usr/sbin contiene los binarios para el


administrador pero no esenciales para el
sistema.

Dste directorio es solo accesible por R@@T


I rontec Curso "#si co Li nux
)5
Instalaci0n (e Cent%!

/bin

>ontiene los comandos imprescindibles para el


usuario

Accesibles para root como para los usuarios no


pri$ile&iados

bas)! cs)! cp! m$! rm! cat! ls...

/usr/bin contiene los binarios para el usuario


pero #ue no son imprescindibles.
I rontec Curso "#si co Li nux
)5
Instalaci0n (e Cent%!

/boot : >ontiene el Pernel 3 lilo deja a#uK


las copias de se&uridad del sistema de
arran#ue

/de$ : T@D@ DN L6NU? D' UN *6>HDR@

/de$/)da2 %articion 2 del disco duro 2 master

/de$/cdrom >DR@B

...

/etc : *ic)eros de con"i&uracin del sistema

/etc/?22/xor&.con" : 'istema ?

/etc/resol$.con"

/etc/lilo.con"
I rontec Curso "#si co Li nux
)6
Instalaci0n (e Cent%!

/)ome : Directorios de los usuarios del


sistema 7Linux es multiusuario=

/)ome/username

Arc)i$os del usuario

>on"i&uraciones especK"icas del usuario

/lib : LibrerKas compartidas del sistemas

/lostO"ound : Directorio donde se dejan los


arc)i$os #ue *'>A recuperara despu-s de
una caKda del sistema. 7'istemas de
"ic)eros sin Mournalin&=
I rontec Curso "#si co Li nux
)7
Instalaci0n (e Cent%!

/mnt : %unto de montaje &en-rico donde


se montarn los dispositi$os.

/proc : Directorio especial #ue )ace las


"unciones con inter"aJ con el nucleo

/root : Ds el directorio )ome de root

/tmp : Ds un directorio temporal en el #ue


cual#uier usuario puede escribir. 'e borra
despues de un reinicio

/$ar : Directorio donde se &uardan los


datos $ariables como el correo! colas de
impresion 3 lo&s...
I rontec Curso "#si co Li nux
)8
Instalaci0n (e Cent%!

/usr : Directorio donde se encuentran todos los


pro&ramas

/usr/src/linux : Aernel de Linux

/usr/doc : Documentacin de los pro&ramas


I rontec Curso "#si co Li nux
)9
Instalaci0n (e Cent%!

Grub es el &estor de arran#ue. 'e encar&ar de


arrancar >ent@' 3 cual#uier sistema operati$o #ue
detecte.
I rontec Curso "#si co Li nux
5:
Instalaci0n (e Cent%!

>on"i&uracin de la red Dt)ernet. %uede ser por


DH>% o con 6% "ija.
I rontec Curso "#si co Li nux
51
Instalaci0n (e Cent%!

Dspeci"icar contraseLa para root. Dl usuario root es


el Administrador de la m#uina 3 tiene permiso para
todo.
I rontec Curso "#si co Li nux
5$
Instalaci0n (e Cent%!

A)ora toca seleccionar #ue deseamos instalar en el


sistema. %or de"ecto se instalar el escritorio
Gnome.
I rontec Curso "#si co Li nux
5)
Instalaci0n (e Cent%!

a est! instalacin de >ent@' "inaliJada. a nos


podemos autodenominar )acPers.
I rontec Curso "#si co Li nux
55
Con,iguraci0n inicial

>on el primer inicio del sistema accederemos a un


asistente de con"i&uracin.

'e desacti$ar el >orta"ue&os 3 'DLinux para e$itar


problemas durante el curso.

>rearemos un usuario sin pri$ile&ios.


I rontec Curso "#si co Li nux
55
3;3<CICI%

Na'egar @or el sistema (e ,ic?eros com@ro"ar 4ue lo


4ue 'emos se a&usta o no al ma@a.

Com@ro"ar la 'ersi0n (el nCcleo 'er en la -e" si


existe una 'ersi0n nue'a. D!e @o(r# actualiEarF
I rontec Curso "#si co Li nux
56
Coman(os "#sicos
I rontec Curso "#si co Li nux
57
Intro(ucci0n a GNU/Linux

')ells

Dxisten muc)as s)ells0 s)!cs)!Ps)!bas)...

Dntorno de trabajo0

>ase sensiti$e0 sensible a ma3Gsculas 7D>H@ QR ec)o=.

'intxis0 comando ar&2 ar&4... ar&n

'i un pro&rama no est en el %ATH0 ./pro&rama

%rompt0

S0 usuario normal

T0 usuario administrador 7root=


I rontec Curso "#si co Li nux
58
Coman(os "#sicos
>omandos para el manejo del sistema de "ic)eros

ls 7lista contenido de directorios=

cd / p(d 7cambia /muestra la ruta de directorio=

touc) 7crea "ic)ero $acKo o actualiJa existente=

cp / m$ / rm 7copia / mue$e/ elimina "ic)ero=

mPdir / rmdir 7crea / elimina directorio=

man / in"o 7a3uda sobre comandos=

ec)o 7muestra una lKnea de texto=

date / cal 7muestra la )ora del sistema=

"ile 7muestra el tipo de "ic)ero=

)alt / reboot 7apa&a el sistema=

sleep 7cuentra atrs=


I rontec Curso "#si co Li nux
59
Coman(os "#sicos
>omandos para el manejo del sistema de "ic)eros 766=
linux:~$ ls -lha /
linux:~$ pwd
linux:~$ cd ../../etc
linux:~$ touch /home/linux/fichero
linux:~$ date +%d/%m/%y
linux:~$ cp -a /var/log /backup/
linux:~$ mkdir -p /tmp/prueba/creacion/directorio
linux:~$ rm -rf /home/linux/carpeta/
I rontec Curso "#si co Li nux
5:
Coman(os en GNU/Linux
>omandos para bGs#ueda de arc)i$os
linux:~$ find / -name passwd
linux:~$ locate halt
linux:~$ whereis cat adduser
linux:~$ which grep
linux:~$ whereis cd
linux:~$ find ~/ -type f -atime +5 -exec rm {} \;
I rontec Curso "#si co Li nux
51
3;3<CICI%

Ir a tm@.

Crear un ,ic?ero llama(o @rue"a.

<enom"rarlo a nominas.

* continuaci0n co@iar nominas a nuestra ?ome.

Una 'eE ?ec?oG "uscamos en to(o el (isco (uro los


,ic?eros con nom"re nominas los "orramos.
I rontec Curso "#si co Li nux
5$
3;3<CICI%

Com@ro"ar con ,ile (istintos ,ic?eros (el (isco (uro


com@ro"ar los resulta(os 4ue nos (#.

Cam"iar la ,ec?a (el sistema 1"uscar in,ormaci0n en


google2. =amos a a(elantarnos al $::9.

.rogramar un reinicio (el sistema (entro (e (os


minutos.
I rontec Curso "#si co Li nux
5)
3;3<CICI%

LocaliEar el coman(o i,con,ig e intentar e&ecutarlo.

3&ecutar ec?o H.*IJ DKuL es esa in,ormaci0nF

3&ecutarlo como usuario root. DKuL (i,erencias


encontramosF
I rontec Curso "#si co Li nux
55
!istemas (e ,ic?eros en Unix

Rutas en el sistema de "ic)eros

Absol utas0 desde el directorio raiJ )asta el arc)i$o


deseado.

Rel ati $as0 desde el directorio actual )asta el arc)i$o


deseado.

>aracteres especiales

U0 sustitu3e una cantidad cual#uiera de caracteres

.0 sustitu3e exactamente un carcter

VW0 sustitu3e un carcter de los indicados

Dxpansin de comandos 3 arc)i$os


I rontec Curso "#si co Li nux
55
3;3<CICI%!

Ir a /?ome.

*cce(er a /?ome/consultec me(iante ruta com@leta


relati'a.

Crear ,ic?ero nominas en nuestro ?ome ?acer un ls


con M F NO. Jacien(olo (e las tres ,ormasG nos tiene
4ue (ar como resulta(o Cnicamente el ,ic?ero n0minas

Puscar en el (isco (uro to(os los ,ic?eros 4ue em@iecen


@or n.
I rontec Curso "#si co Li nux
56
Intro(ucci0n a GNU/Linux

TuberKas

Un proceso en un sistema UN6?IliPe tiene inicialmente


abiertos 5 canales0

10 'TD6N o entrada estndar

20 'TD@UT o salida estndar

40 'TDDRR o salida de error

6ma&in-monos una re"inerKa0

Betes crudo por 1 7'TD6N=! consi&ues &asolina por 2


7'TD@UT= 3 bastantes residuos por el Edesa&XeF 4 7'TDDRR=.
I rontec Curso "#si co Li nux
57
Intro(ucci0n a GNU/Linux
TuberKas

Rediri&iendo la salida de un comando0

Y 0 rediri&ir 'TD@UT a un "ic)ero0


l s Y l i stado.txt

YY0 rediri&ir 'TD@UT al "inal de un "ic)ero 7aLadir=0


l s YY l i stados.txt

4Y0 rediri&ir 'TDDRR a un "ic)ero0


l s 4Y errores.txt

4YY0 rediri&ir 'TDDRR al "inal de un "ic)ero0


l s 4YY errores.txt

4YZ20 rediri&ir 'TD@UT 3 'TDDRR a un "ic)ero0


l s Y sal i da 4YZ2
I rontec Curso "#si co Li nux
58
3;3<CICI%

*Qa(ir (atos al ,ic?ero nomina me(iante ec?o.


;uan 1::: euros
.e(ro 98: euros
;ose 8:: euros

Listarlo con cat el cat en'iarlo a otro ,ic?ero nue'o


llama(o co@ia.nominas.

Com@arar los ,ic?eros con m(5sum. Mo(i,icar uno


'ol'erlo a com@arar.
I rontec Curso "#si co Li nux
59
3;3<CICI%

Usan(o !I+ING !I+%UI utiliEar cat @ara crear otro


,ic?ero llama(o nominas$ con los siguientes (atos>
3l i sa 1$:: euros
.e@a 15:: euros
!ara $:: euros

RNo se @ue(e usar ec?oS


I rontec Curso "#si co Li nux
6:
Coman(os en GNU/Linux
>omandos para pa&inar 3 $isualiJar arc)i$os

cat 7muestra el contenido de "ic)eros por pantalla=

more / less 7pa&ina el contenido de "ic)eros=

)ead / tail 7muetra las primeras / Gltimas lKneas de un


"ic)ero=

&rep 7bus#uedas basadas en expresiones re&ulares=


I rontec Curso "#si co Li nux
61
Coman(os en GNU/Linux
>omandos para pa&inar 3 $isualiJar arc)i$os 766=
linux:~$ cat -n /etc/passwd
linux:~$ more /etc/fstab
linux:~$ less /etc/passwd
linux:~$ cat /etc/passwd /etc/group
linux:~$ tail -f /var/log/syslog
linux:~$ head -n 1 /etc/passwd
linux:~$ grep -ir consultec /etc/passwd
I rontec Curso "#si co Li nux
6$
3;3<CICI%

Mostrar la @rimera linea (el ,ic?ero nominas.

Mostrar la Cltima linea (el ,ic?ero nominas.

*"rir (os consolasG en una un tail con la otra aQa(ir


lineas con ec?o.

D.ara 4ue nos @ue(e ser'ir el tail T,F

Jacer un tail (el ser'icio ?tt@( acce(er a nuestra -e".


I rontec Curso "#si co Li nux
6)
Coman(os en GNU/Linux
@tros comandos interesantes
linux:~$ df -h
linux:~$ du -sh /var/log
linux:~$ tar cvzf /var/log/backup.tgz /etc/ /home/
linux:~$ history
linux:~$ sort -r /etc/group
linux:~$ wc -l /etc/passwd
I rontec Curso "#si co Li nux
65
3;3<CICI%

Contar el nCmero (e lUneas 4ue tiene el ,ic?ero (e


nominas.

Com@rimir el ,ic?ero (e nominas com@ro"ar su


tamaQo.

+escom@rimirlo 'ol'er a com@ro"ar su tamaQo.


I rontec Curso "#si co Li nux
65
Intro(ucci0n a GNU/Linux
Iu"erUas

<e(irigien(o la entra(a (e un coman(o>

<> re(irigir el conteni(o (e un ,ic?ero a !I+IN>


tr a A < fichero.txt

| > es @osi"le recoger la sali(a (e un (esagVe con(ucirlo a la


entra(a (e otro coman(o.
cat fichero.txt | tr a A
I rontec Curso "#si co Li nux
66
3;3<CICI%

Usan(o los coman(os a 'istos mostrar (el ,ic?ero /etc/


@ass-( Cnicamente los usuarios 4ue comiencen @or s.
I rontec Curso "#si co Li nux
67
Coman(os "#sicos

3l sistema es multitareaG @o(emos (e&ar multi@les


@rocesos corrien(o en "acAgroun(.

Con controlWE lle'amos el siguiente @roceso a


"acAgroun(.

Con ," NnCmero (e @rocesoO lo traemos (e nue'o al


,rente.

Con "g listamos el Cltimo @roceso en'ia(o a


"acAgroun(.
I rontec Curso "#si co Li nux
68
3;3<CICI%

3&ecutar los siguientes tres coman(os e ir en'ian(olos a


"acAgroun(>
slee@ 7:
slee@ 8:
slee@ 9:

Una 'eE ?ec?oG se (e"e 'ol'er a traer uno a uno al


,rente.
I rontec Curso "#si co Li nux
69
Coman(os "#sicos

3s @osi"le crear alias (e coman(osG (e ,orma 4ue sea


m#s sencillo (e recor(ar @ara nosotros.

alias a@agarX?alt
I rontec Curso "#si co Li nux
7:
3;3<CICI%

Crear un alias (e nom"re lc 4ue nos muestre los


,ic?eros (irectorios (el lugar (on(e nos encontramos
en colores (istinti'os con to(os sus (atos 1tamaQoG
@ro@ietariosG @ermisos...2.
I rontec Curso "#si co Li nux
71
Com@resores

Iar es un coman(o 4ue Cnicamente em@a4ueta.

GEi@ es un coman(o 4ue com@rime.

Unien(o tarWgEi@ @o(emos em@a4uetar una serie (e


,ic?eros com@rimirlos.

Puscar en google como em@a4uetar com@rimir /?ome/


alumno

Una 'eE ?ec?oG (escom@rimirlo en /tm@


I rontec Curso "#si co Li nux
7$
*(ministraci0n (e usuarios
I rontec Curso "#si co Li nux
7)
Gesti0n (e Usuarios Gru@os
>aracterKsticas de usuarios Unix

Los sistemas Unix son sistemas multiusuario. >ada usuario


tiene una serie de caracterKsticas propias 3 asociadas0

uid0 identi"icati$o de usuario 7debe ser Gnico=

&id0 identi"icati$o de &rupo

)ome0 carpeta de trabajo o personal

s)ell0 interprete de comandos

>omandos0

()o/()oami/id 7muestra in"ormacin de usuarios=

su/sudo 7cambia de usuario o pri$ile&ios=


I rontec Curso "#si co Li nux
75
Gesti0n (e Usuarios Gru@os
Gestin de Usuarios

adduser 7crear usuarios=

usermod 7modi"icar usuarios=

deluser 7eliminar usuarios=


Gestin de Grupos

&roupadd 7aLade &rupo o usuario a &rupo=

&roupmod 7modi"ica &rupo=

del&roup 7elimina &rupo o usuario de &rupo=


I rontec Curso "#si co Li nux
75
Gesti0n (e Usuarios Gru@os
Gestin de Usuarios
linux:~$ adduser alumno
linux:~$ groupadd curso
linux:~$ adduser --home /home/alumno --shell /bin/sh --uid
5001 --groups curso alumno
linux:~$ usermod --shell /bin/bash alumno
linux:~$ usermod -G softwarelibre alumno
Esto aade a alumno al grupo softwarelibre
I rontec Curso "#si co Li nux
76
Gesti0n (e Usuarios Gru@os
>ambiando el propietario 3 &rupo

%ara cambiar el propietario o &rupo puede )acerse a tra$-s


del nombre o del identi"icati$o 7uid o &id=.

c)o(n 7cambiar el propietario 3 &rupo=

c)mod 7cambiar los permisos=


I rontec Curso "#si co Li nux
77
Gesti0n (e Usuarios Gru@os
>ambiando el propietario 3 &rupo
linux:~$ ls -l ~/documentos/linux.pdf
-rw-rw-r-- 1 alumno alumno 2684 ene 2 21:09 linux.pdf
linux:~$ chown alumno:curso ~/documentos/linux.pdf
linux:~$ ls -l ~/documentos/linux.pdf
-rw-rw-r-- 1 alumno curso 2684 ene 2 21:09 linux.pdf
linux:~$ id alumno
uid=500(alumno) gid=500(curso) grupos=500(curso)
linux:~$ chown 500 ~/documentos/linux.pdf
linux:~$ ls -l ~/documentos/linux.pdf
-rw-rw-r-- 1 alumno curso 2684 ene 2 21:09 linux.pdf
I rontec Curso "#si co Li nux
78
*(ministraci0n (e @ermisos
%ermisos de "ic)eros en sistemas Unix

Todos los arc)i$os en Unix tienen permisos #ue indican


#ue 3 #uien puede )acer o no )acer una accin con el
arc)i$o.

Ds la base de la se&uridad de Unix.

4 "ormas de notacin0

Bodo al"ab-tico

Bodo octal
I rontec Curso "#si co Li nux
79
*(ministraci0n (e @ermisos
%ermisos de "ic)eros en sistemas Unix

Bodo al"ab-tico
I rontec Curso "#si co Li nux
8:
*(ministraci0n (e @ermisos
%ermisos de "ic)eros en sistemas Unix

Bodo octal
I rontec Curso "#si co Li nux
81
*(ministraci0n (e @ermisos
>ambiando los permisos

'olo es posible alterar los permisos si el usuario #ue lo est


)aciendo es el propi etari o del arc)i$o.

c)mod Vu&oaWVOIWVr(xW arc)i$o

u 7propietario=! & 7&rupo=! o 7resto=! a 7todos=

O / I0 aLadir / eliminar permisos

r 7lectura=! ( 7escritura=! x 7ejecucin=

c)mod Vmodo[octalW arc)i$o


I rontec Curso "#si co Li nux
8$
3;3<CICI%

Crear como root un ,ic?ero /tm@/nominas (arle


@ermisos (e lectura solo a consultecG no a alumno.
Iniciar sesi0n con alumno com@ro"ar si lo @ue(e leer.
I rontec Curso "#si co Li nux
8)
3;3<CICI%

Con el usuario alumno crear una car@eta 4ue solo la


@ue(a e&ecutarG leer escri"ir el usuario alumno. +entro
(e ella crear un ,ic?ero llama(o @rue"a com@ro"ar si
(es(e consultec se @ue(e leer.
I rontec Curso "#si co Li nux
85
3;3<CICI%

Con alumno crear un ,ic?ero llama(o @ri'a(o (arle


@ermisos @ara 4ue solo el @ue(a acce(er al ,ic?ero.
Luego intentar a"rirlo con root.
I rontec Curso "#si co Li nux
85
3;3<CICI%

*"rimos /etc/@ass-( com@ro"arlos los cam"ios. Le


4uitamos la @osi"ili(a( (e iniciar sesi0n a alumno.
Luego @ro"amos a iniciar sesi0n con el.
I rontec Curso "#si co Li nux
86
3;3<CICI%

Porramos el usuario alumno com@ro"amos a


continuaci0n los @ermisos (el ,ic?ero @rue"a su
car@eta (e tm@.

Intentar crear ,ic?eros @or to(o el (isco (uroG


com@ro"an(o asU (on(e tenemos @ermiso.
I rontec Curso "#si co Li nux
87
Monta&e (e (is@ositi'os
I rontec Curso "#si co Li nux
88
Monta&e (e (is@ositi'os

Di"erencia Linux \IY ]indo(s

Dn ]indo(s los directorios se montan sobre unidades


"Ksicas0
>0^>arpeta
D0^Dri $ers^$&a

Dn Linux los dispositi$os se montan en directorios de la


estructura de "ic)eros0
/)ome/usuari o
/medi a/cdrom
I rontec Curso "#si co Li nux
89
Monta&e (e (is@ositi'os

Dispositi$os 3 Ede$icesF asociados

Disco duro 6DD 3 >DR@B0 /de$/)d?

?0 NGmero de disco/dispositi$o[6DD 7a! b! c...=

0 NGmero de particin 72! 4! 5...=


/de$/)da
/de$/)da2
/de$/)db5

Disco duro '>'6! 'ATA 3 externos U'_0 /de$/sd?


/de$/sda
/de$/sda2
/de$/sdc/
I rontec Curso "#si co Li nux
9:
Monta&e (e (is@ositi'os

%articiones primarias 3 l&icas

Bximo / primarias0
/de$/)da2 /de$/)da4 /de$/)da5 /de$/)da/

Una de ellas se puede establecer como particin extendida0


/de$/)da/

'e pueden crear $arias particiones l&icas en una


extendida0
/de$/)daH /de$/)daC ...

Linux puede arrancar desde una particin l&ica! no asK


]indo(s #ue re#uiere una primaria.
I rontec Curso "#si co Li nux
91
Monta&e (e (is@ositi'os

/etc/"stab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1
/dev/hda3 /home ext3 defaults 0 2
/dev/hda2 none swap sw 0 0
/dev/hdb1 /media/hdb1 ext3 defaults 0 1
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0

La opcin EuserF permite #ue un usuario normal 7no root=


monte la particin.
I rontec Curso "#si co Li nux
9$
Monta&e (e (is@ositi'os

mount

%ara montar dispositi$os manualmente.

'i el dispositi$o existe en "stab0


mount punto_de_montaje

mount /dev/dispositivo

3&>
mount /dev/hdc = mount /media/cdrom0

'i el dispositi$o no existe en "stab0


mount -t TIPO_SIS_FICHEROS /dev/dispositivo punto_montaje

3&>
mount -t iso9660 /dev/hdc /media/cdrom0
mount -t ext3 /dev/hdb1 /media/disco_2
mount -t vfat /dev/hda2 /mnt/windowsXP
I rontec Curso "#si co Li nux
9)
Monta&e (e (is@ositi'os

mount 766=

Notas0

Una particin de tipo ;*AT no dispone de permisos ni dueLos/


&rupos asK #ue no se puede usar el comando Ec)o(nF ni
Ec)modF para permitir a usuarios la escritura.

La particin por de"ecto es del usuario #ue la monta 7la puede


montar cual#uiera si tiene la opcin EuserF=.

'e puede "ijar el dueLo de la particin con la opcin EuidF! el


&rupo con E&idF 3 los permisos con EumasPF 7ojo! EumasPF es la
mscara in$ertida=.

`` man mount QQ
I rontec Curso "#si co Li nux
95
Monta&e (e (is@ositi'os

umount

Desmonta un dispositi$o0
umount /dev/dispositivo

umount punto_de_montaje

` 'lo si el dispositi$o no est usado por nin&Gn procesoQ

'i un usuario tiene una terminal en /media/cdrom no se podr


desmontar el dispositi$o.

%ara comprobar #u- procesos estn usando un dispositi$o0


l so" punto[de[montaj e
Ej:
lsof /media/cdrom
I rontec Curso "#si co Li nux
95
3;3<CICI%
;amos a crear una carpeta llamada montaje 3 un disco
duro $irtual de H me&as. %rimero $emos como podriamos
particionarlo. Lue&o montaremos el disco duro en la
carpeta 3 trabajaremos con el.
mkdir montaje
dd if=/dev/zero of=ficero bs=! count="!#$$$$
mkfs%e&t' ficero
mount (o loop ficero montaje
I rontec Curso "#si co Li nux
96
3;3<CICI%

Nos metemos en la car@eta creamos un ,ic?ero.

*"rimos otra consola (esmontamos la car@eta.

Con,iguramos el ,sta" @ara 4ue autom#ticamente monte


el (is@ositi'o al iniciar el sistema.
I rontec Curso "#si co Li nux
97
3(itor =I

Ds el editor #ue encontraremos en todo UN6?. Ds


necesario conocer el "uncionamiento bsico para
poder editar "ic)eros.

Tiene $arios modos de "uncionamiento! $isual!


comando 3 edicin.

Tiene muc)Ksimas opciones...


?tt@>//---.in,or.u'a.es/Yarturo/*sig/3st!%/man'i.@(,
I rontec Curso "#si co Li nux
98
3nlaces (uros sim"0licos
Dnlaces duros 3 simblicos
I rontec Curso "#si co Li nux
99
3nlaces

Duros0 Dn ocasiones es necesario dar a un mismo


arc)i$o distintos nombres o! para mantener la
inte&ridad de los datos! se )ace necesario #ue un
mismo arc)i$o #ue $a a ser modi"icado por $arias
personas pueda estar representado por un nombre
distinto con distintos permisos cada uno. Dada la
representacin #ue GNU/Linux le da a los arc)i$os
es posible #ue dos o ms nombres apunten al
mismo contenido en el disco rK&ido..
I rontec Curso "#si co Li nux
1::
3nlaces (uros sim"0licos

'i mbl i cos0 A di"erencia con los enlaces duros!


estos enlaces solo dan otro nombre a un arc)i$o
pero no )acen un enlace al ni$el de inodo. 'e puede
)acer una comparacin con los aAccesos directosa
de ]indo(s8H. La orden ln Is &enera un enlace
simblico.
I rontec Curso "#si co Li nux
1:1
3nlaces (uros sim"0licos
>reaci n de un enl ace duro
)puniser*s+ris ,-. touch hola
)puniser*s+ris ,-. ln hola adios
)puniser*s+ris ,-. ls -li hola adios
2747992 (rw(r((r(( # puniser users $ jun !# !/01$ adios
2747992 (rw(r((r(( # puniser users $ jun !# !/01$ ola
+,ue pasa si borramos el "ic)ero ori&inal.
I rontec Curso "#si co Li nux
1:$
3nlaces (uros sim"0licos
>reaci n de un enl ace si mbl i co
)puniser*s+ris ,-. ln -s adios hastaluego
)puniser*s+ris ,-. ls -li adios hastaluego
#21233# (rw(r((r(( # puniser users $ jun !# !/01$ adios
#214$!" lrw&rw&rw& ! puniser users " jun !# !/011
astaluego (5 adios
+,ue pasa si borramos el "ic)ero ori&inal.
I rontec Curso "#si co Li nux
1:)
Cronta"
I rontec Curso "#si co Li nux
1:5
Iareas @eri0(icas
cron

Dl demonio cron permite la ejecucin pro&ramada de


procesos! scripts o simples comandos.

>ron mira cada minuto si tiene #ue lanJar al&Gn proceso 3


en caso a"irmati$o lo lanJa. No se puede plani"icar una
ejecucin de "orma ms precisa.

>ada usuario tiene su tabla de plani"icacin 7crontab=


aun#ue tambi-n existen una tabla de plani"icacin &lobal
del sistema 7/etc/crontab= 3 una serie de directorios
especiales.
I rontec Curso "#si co Li nux
1:5
Iareas @eri0(icas
cron

La sintaxis tKpica de los "ic)eros de cron consiste en C


campos0
* * * * * [user] comando parametros
minuto: 0-59. Nmero, rango, intervalo o lista
(separada por comas).
hora: 0-23.
da del mes: 1-31.
mes: 1-12 o nombres.
da de la semana: 0-7 o nombres.
usuario: slo en ficheros comentados anteriormente.
comando: el resto de la lnea es el comando a
ejecutar.

Nota0 Tambi-n puede )aber lKneas al principio con


declaracin de $ariables 3 comentarios 7T=.

Bs in"o 7man H crontab=.


I rontec Curso "#si co Li nux
1:6
Iareas @eri0(icas
cron

Djemplo de cron de un usuario 7root=0


PATH=$PATH:/usr/bin:/usr/local/bin
# los viernes cada 2 horas...
* */2 * * 5 cd /root/scripts; ./generaEstadisticas.sh
# cada da por la noche
20 3 * * * /root/scripts/backupDiario.sh
# rotacin de backups cada mes
0 1 1 * * cd /root/scripts; ./rotaBackups.sh
I rontec Curso "#si co Li nux
1:7
Iareas @eri0(icas
cron

>reacin o edicin del "ic)ero de cron del usuario actual0


$ EDITOR=vi
$ export EDITOR
$ crontab -e
(se edita...)
:wq (se guarda y se sale)

Bostrar el contenido del cron de un usuario0


$ crontab [-u user] -l
I rontec Curso "#si co Li nux
1:8
Iareas @eri0(icas
cron

Directorios especiales0
/etc/cron.daily/
/etc/cron.hourly/
/etc/cron.monthly/
/etc/cron.weekly/

Los "ic)eros ejecutables #ue metamos en esos directorios


se ejecutarn en su momento por el usuario root. N@
DD_DN 'DR *6>HDR@' DD >R@N! sino scripts o pro&ramas.
I rontec Curso "#si co Li nux
1:9
3;3<CICI%

Crear una tarea 4ue se e&ecute a las 1)>55 los lunes una
nue'a linea al ,ic?ero /tm@/@rograma(o con el texto
Z?ola[.

Crear una tarea 4ue se e&ecute ca(a ) minutos


aQa(ien(o el texto Za(ios[ al mismo ,ic?ero.

Crear una tarea 4ue ca(a ?ora "orre el ,ic?ero.

Lo a"rimos con tail T, 'emos el @rogreso.


I rontec Curso "#si co Li nux
11:
.rogramaci0n P#sica en !?ell
I rontec Curso "#si co Li nux
111
!?ell !cri@ts

'cript R Guin

Tareas repetiti$as se pueden a&rupar en un &uin 3


ejecutarse automticamente 7_atc) %rocessin&=.

Ds sencillo ejecutar / comandos para crear un buJn de correo.

No lo es tanto para crear 41.111 buJones.

Ds sencillo )acer un bucle #ue se repita 41.111 $eces bI=


I rontec Curso "#si co Li nux
11$
!?ell !cri@ts
Nuestro primer s)ell script

Usamos un editor 3 creamos el "ic)ero )ola.s)0


#!/bin/sh
echo hola

>on TQ en la primera lKnea indicamos #ui-n deberKa


interpretar el resto de comandos 7/bin/s)=.

%osteriormente escribimos los comandos separados por


saltos de lKnea.
I rontec Curso "#si co Li nux
11)
!?ell !cri@ts
;ariables

Una $ariable tiene un nombre 3 un $alor! 3 sir$e para dotar


de dinamismo a nuestros scripts0
FECHA=15/07/2004
echo Hoy es $FECHA

6E789 es el nom"re (e la 'aria"le.

.6E789 es su 'alor.

%ara asi&nar un $alor! se utiliJa ERF. ```'6N D'%A>6@'QQQ


I rontec Curso "#si co Li nux
115
!?ell !cri@ts
;ariables de entorno

Al arrancar una s)ell! 3a )a3 muc)as $ariables de"inidas!


son las $ariables de entorno.

%odemos $er su $alor con el comando Een$F.

Nmbito de una $ariable0

'i se de"ine una $ariable en una s)ell! slo tiene $alor en esa
s)ell! a no ser #ue se exporte a los pro&ramas E)ijoF.

export U'UAR6@RFjoa#uinF

'i desde esa s)ell lanJamos un script u otro pro&rama! la


$ariable U'UAR6@ contendr Ejoa#uinF.
I rontec Curso "#si co Li nux
115
!?ell !cri@ts
;ariables0 interacti$idad

Ds posible leer del usuario el $alor de una $ariable!


dotando a nuestros scripts de interacti$idad.

cat )ola.s)
#!/bin/sh
echo Dime tu nombre:
read NOMBRE
echo Hola $NOMBRE, encantado de conocerte
I rontec Curso "#si co Li nux
116
!?ell !cri@ts
;ariables0 ar&umentos

Ds posible pasar los parmetros o ar&umentos #ue


#ueramos 3 utiliJarlos dentro del script.
cat nombre%s
#!/bin/sh
echo Nombre: $1
echo Primer Apellido: $2
echo Segundo Apellido: $3
%/nombre%s :uan ;<pez =art>nez
%/nombre%s =aria ?olores @radera ABncez

S2! S4! S5... Sc21d! Sc22d0 ar&umentos

S1 es el propio script.
I rontec Curso "#si co Li nux
117
!?ell !cri@ts
;ariables0 ar&umentos especiales

ST0 nGmero de ar&umentos #ue nos )an pasado.

SU0 todos los ar&umentos. ESUF R ES2 S4 S5...F

Se0 todos los ar&umentos. ESeF R ES2F ES4F ES5F...

S[0 comando anteriormente ejecutado.

SS0 %6D del propio proceso s)ell.


I rontec Curso "#si co Li nux
118
!?ell !cri@ts
;ariables0 sustitucin de comandos

Ds posible almacenar en una $ariable el resultado de la


ejecucin de un comando.

Dos sintaxis0

Acentos &ra$es0 compatibilidad


LISTADO=`ls`

>on S7=0 anidable


LISTADO=$(ls)
LISTADO=$(ls $(cat directorios.txt))
I rontec Curso "#si co Li nux
119
!?ell !cri@ts
expr0 %ermite realiJar operaciones aritm-ticas.

'intaxis0 expr ARG2 @% ARG4


$ SUMA=`expr 7 + 5` (ojo espacios!)
$ echo $SUMA
12
$ expr 7 \> 5 (ojo escapar
operadores!)
$ expr \( 7 + 5 \) \* 2
I rontec Curso "#si co Li nux
1$:
!?ell !cri@ts
>ontrol del "lujo de ejecucin

Con(iciones> test

test .CD=EFE == :uan1XXG SXG >G <G >XG <X2

test .?GCEFD (eH !$$$ 1Te4G TneG TgtG TltG TgeG Tle2

test (f /etc/passwd 1T,G T(G TlG TrG T-G Tx2

Mo(i,ican el 'alor (e HF

cero X 'er(a(ero

no cero X ,also 1RR*L <3=\! KU3 3N CSS2


?tt@>//---.ss65.com/"as?/test.?tml
I rontec Curso "#si co Li nux
1$1
!?ell !cri@ts
>ontrol del "lujo de ejecucin

i"0 alternati$a simple. 'intaxis0


if condicin_1
then
comandos
elif condicin_2
then
comandos
else
comandos
fi
I rontec Curso "#si co Li nux
1$$
!?ell !cri@ts
>ontrol del "lujo de ejecucin

i". Djemplo0
if test $NOMBRE == Juan
then
echo Hola Juanin, qu tal?
elif test $NOMBRE == Pedro
then
echo Pedreteee, cunto tiempo!
else
echo No te conozco
fi
I rontec Curso "#si co Li nux
1$)
!?ell !cri@ts
>ontrol del "lujo de ejecucin

case0 cmodo para e$itar alternati$as anidadas. 'intaxis0


case $VARIABLE in
VALOR1) comandos
;;
VALOR2) comandos
;;
*) comandos;
esac
I rontec Curso "#si co Li nux
1$5
!?ell !cri@ts
>ontrol del "lujo de ejecucin

case. Djemplo0
case $NOMBRE in
Juan) echo Hola Juanin, qu tal?
;;
Pedro) Pedreteee, cunto tiempo!
;;
*) echo no te conozco;
esac
I rontec Curso "#si co Li nux
1$5
!?ell !cri@ts
>ontrol del "lujo de ejecucin

()ile. Djecucin de 1 a N $eces. 'intaxis0


while condicin
do
comandos
done
I rontec Curso "#si co Li nux
1$6
!?ell !cri@ts
>ontrol del "lujo de ejecucin

()ile. Djemplo0
N=1
while [ $N -lt 100 ]
do
echo Repito esta frase, ya voy $N veces
N=$(expr $N + 1)
sleep 1 # Esperamos 1 segundo
done
I rontec Curso "#si co Li nux
1$7
!?ell !cri@ts
>ontrol del "lujo de ejecucin

until. Djecucin de 1 a N $eces. 6d-ntico a ()ile con la


condicin ne&ada. 'intaxis0
until comando
do
comandos
done
I rontec Curso "#si co Li nux
1$8
!?ell !cri@ts
>ontrol del "lujo de ejecucin

until. Djecucin de 1 a N $eces. 6d-ntico a ()ile con la


condicin ne&ada. 'intaxis0
N=1
until [ $N -ge 100 ]
do
echo Repito esta frase, ya voy $N veces
N=$(expr $N + 1)
done
I rontec Curso "#si co Li nux
1$9
!?ell !cri@ts
>ontrol del "lujo de ejecucin

"or0 ejecucin repetiti$a asi&nando a una $ariable de


control $alores de una lista. 'intaxis0
for VARIABLE in LISTA
do
comandos
done
I rontec Curso "#si co Li nux
1):
!?ell !cri@ts
>ontrol del "lujo de ejecucin

"or. Djemplo0
for N in Sopa Carne Pan de ajo
do
echo Hoy comemos $N
done
I rontec Curso "#si co Li nux
1)1
!?ell !cri@ts
>ontrol del "lujo de ejecucin

"or0 la L6'TA de"ine la separacin de cada elemento por el


$alor de la $ariable 6*' 7#ue por de"ecto $ale E ^t^nF=.
Djemplo0
IFS=:
echo Directorios en el PATH...
for DIR in $PATH
do
echo $DIR
done
I rontec Curso "#si co Li nux
1)$
!?ell !cri@ts
>ontrol del "lujo de ejecucin

"or. Djemplos num-ricos0


for N in 1 2 3 4 5 6 7 8 9 10
do
echo N ahora vale $N
done
for N in $(seq 10)
do
echo N ahora vale $N
done
I rontec Curso "#si co Li nux
1))
!?ell !cri@ts
>ontrol del "lujo de ejecucin

select0 muestra las opciones especi"icadas en L6'TA 3


asi&na a ;AR6A_LD la opcin esco&ida. 'intaxis0
select VARIABLE in LISTA
do
comandos
done
I rontec Curso "#si co Li nux
1)5
!?ell !cri@ts
>ontrol del "lujo de ejecucin

select0 Djemplo0
select OPCION in Doner Kebab Pizza
do
case $OPCION in
Doner Kebab) echo Mmmm...
break;;
Pizza) echo Slurppp!
break;;
*) echo No s qu es eso
esac
done
IM.%<I*NI3> sin el "reaA el select seguirUa e&ecut#n(ose
in(e,ini(amente.
I rontec Curso "#si co Li nux
1)5
!?ell !cri@ts
function

.o(emos mo(ulariEar los scri@ts agru@an(o tareas en


,unciones.

3s necesario 4ue una ,unci0n estL (e,ini(a *NI3! (e 4ue sea


llama(a.

+entro (e una ,unci0nG H1G H$G H)G etc. ser#n los @ar#metros
@asa(os a la ,unci0nG no al scri@t en sU.
I rontec Curso "#si co Li nux
1)6
!?ell !cri@ts
"unction. Djemplo0
#!/bin/sh
function suma
{
echo $(expr $1 + $2)
}
suma 4 6
suma 3 234
I rontec Curso "#si co Li nux
1)7
!?ell !cri@ts
source! .

>on source o con E.F podemos incluir el cdi&o de otro


script en el nuestro0
#!/bin/sh
source funciones.sh # ah se define suma
suma 1 3
suma 12 12312
I rontec Curso "#si co Li nux
1)8
3;3<CICI%

Crear un scri@t 4ue nos @i(a nom"re (e usuario


contraseQa.

Una 'eE tengamos los (atos los aQa(imos al ,ic?ero


/tm@/(atos

* continuaci0n nos @regunta si (eseamos continuar


insertan(o (atos. !i la res@uesta es siG 'ol'emos a
em@eEarG si es no terminamos la a@licaci0n.
I rontec Curso "#si co Li nux
1)9
3;3<CICI%

.or ca(a ,ic?ero en /"in ?acer un m(5sum arc?i'ar los


(atos en /tm@/seguri(a(.

.rogramar una tarea @ara 4ue lo ?aga to(os los (Uas a


las 1: (e la noc?e.
I rontec Curso "#si co Li nux
15:
3;3<CICI%

Crear una calcula(ora.

!i el usuario escri"e $ W 5G 4ue le muestre el resulta(o


@or @antalla.

!e (e"e salir (el "ucle cuan(o el resulta(o (e una


o@eraci0n sea 8$.
I rontec Curso "#si co Li nux
151
<e(es
I rontec Curso "#si co Li nux
15$
Con,iguraci0n (e la re(

Las inter"aces de red se con"i&uran en el "ic)ero0


[root@localhost network-scripts]# cat ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:0C:29:3D:90:4F
ONBOOT=yes
[root@localhost network-scripts]# cat ifcfg-lo
DEVICE=lo
IPADDR=127.0.0.1
NETMASK=255.0.0.0
NETWORK=127.0.0.0
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback
I rontec Curso "#si co Li nux
15)
Con,iguraci0n (e la re(
>on"i&uracin manual de la red

i"con"i&0 con"i&ura inter"aces de red. Asi&na 6%! mscara!


&ate(a3! etc.
$ ifconfig eth0 192.168.0.12 netmask 255.255.255.0 up

route0 aLade rutas estticas. Djemplo tKpico0


$ route add default gw 192.168.0.1
$ route add -net 10.10.0.0 netmask 255.255.255.0 gw
192.168.0.100
$ route -n (muestra tabla de rutas)

/etc/resol$.con"0 indica los ser$idores DN'


$ cat /etc/resolv.conf
nameserver 195.235.113.3
I rontec Curso "#si co Li nux
155
Con,iguraci0n (e la re(

6% alias0 crear un inter"aJ de red sobre otro.

Una misma red "Ksica puede alber&ar distintas redes con


distinto direccionamiento 3 ran&o.
$ ifconfig eth0:1 192.168.1.123 netmask 255.255.255.0
$ ifconfig eth0:1
eth0:1
Link encap:Ethernet HWaddr 00:14:85:E8:D3:AF
inet addr:192.168.1.123 Bcast:192.168.1.255
Mask:255.255.255.
UP BROADCAST RUNNING MULTICAST MTU:1500
Metric:1 Interrupt:217 Base address:0xe800
I rontec Curso "#si co Li nux
155
Con,iguraci0n (e la re(
>on"i&uracin manual de la red

/etc/)osts0 realiJa una resolucin directa de nombre a 6%


sin realiJar consulta DN'. Normalmente este "ic)ero se
mira antes de pre&untar al ser$idor DN' 7slo para
consulta de tipo A=.

%ara ase&urarnos #ue el sistema pre&unte al DN' o al


"ic)ero f/etc/)ostsf para resol$er nombres de )ost )a3 #ue
mirar el "ic)ero f/etc/nss(itc).con"f
I rontec Curso "#si co Li nux
156
Con,iguraci0n (e la re(
>on"i&uracin automtica de la red 7DH>%=

>on"i&uracin para el arran#ue0 en /etc/net(orP/inter"aces


de"inimos la inter"aJ como Einet d)cpF

>on"i&uracin manual0

se utiliJa un cliente d)cp como d)client o pump


# dhclient eth0
# pump -i eth0
I rontec Curso "#si co Li nux
157
Coman(os "#sicos (e a(ministraci0n (e re(
pin&0 manda un mensaje 6>B% : ec)o re#uest.

'e utiliJa normalmente para comprobar si un inter"aJ de


red remoto est le$antado.
$ ping 212.55.8.132
PING 212.55.8.132 (212.55.8.132) 56(84) bytes of
data.
bytes from 212.55.8.132: icmp_seq=1 ttl=242 time=166
ms
`)a3 conecti $i dadQ

Nota0 'i no )a3 pin& puede #ue el tr"ico 6>B% est- "iltrado
por al&Gn "ire(all.
I rontec Curso "#si co Li nux
158
Coman(os "#sicos (e a(ministraci0n (e re(
telnet0 protocolo de terminal remoto

'e utiliJa para conectarse a una m#uina remota.


$ telnet IP puerto (default 23)

N@ es un protocolo se&uro 7''H sK=.

'e utiliJa tambi-n para comprobar estado de ser$icios


remotos. Djemplo0
$ telnet www.euskalnet.net 80
Connected to eui3h.euskaltel.es.
Escape character is '^]'.
`el ser$i dor (eb "unci onaQ
I rontec Curso "#si co Li nux
159
Coman(os "#sicos (e a(ministraci0n (e re(
netstat0 muestra conexiones de red

>omando potente #ue permite mostrar casi toda la


in"ormacin de la con"i&uracin T>%/6% de la m#uina
7man netstat=.

Djemplos0
netstat -atup # muestra tambien procesos
netstat -a # muestra todas las conex.
netstat -a | grep LISTEN
netstat -a | grep ESTABLISHED
netstat -nrv # muestra tabla de rutas
I rontec Curso "#si co Li nux
15:
Coman(os a'anEa(os a(ministraci0n (e re(
iptra"0
I rontec Curso "#si co Li nux
151
Coman(os a'anEa(os a(ministraci0n (e re(
netcat 7nc=0 Ena$aja suiJaF de red

>apaJ de "uncionar como cliente! como ser$idor! etc.


telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
GET /
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2
Final//EN">
<html>
<head>
...

Lo mismo con netcat 7nc=0


echo GET / | nc 127.0.0.1 80

>liente/'er$idor0
nc -l -p 5000
cat fichero | nc 192.168.1.1 5000
I rontec Curso "#si co Li nux
15$
Coman(os a'anEa(os a(ministraci0n (e re(
nmap0 Eescaneador de redF

%ermite comprobar #ue puertos estn o no abiertos.

Nos dice el sistema operati$o 3 la $ersin de los


ser$icios #ue estamos escaneando.
)root*s+ris puniser-I nmap -sS -O 127.0.0.1
Atarting Cmap 1%/" J ttp0//nmap%org K at #$$4($/(!' $401$ 7EAL
Gnteresting ports on localost%localdomain J!#2%$%$%!K0
Cot sown0 !2!' closed ports
@DFL AL9LE AEFMG7E
!!!/tcp open rpcbind
324/tcp open unknown
?evice t+pe0 general purpose
Funning0 ;inu& #%/%N
DA details0 ;inu& #%/%!2 ( #%/%#1
Optime0 $%$!' da+s Jsince 6ri :un !' $40##0!" #$$4K
Cetwork ?istance0 $ ops
I rontec Curso "#si co Li nux
15)
I@ta"les
6%TA_LD'
I rontec Curso "#si co Li nux
155
I@ta"les

Corta,uegos Net,ilter/I@ta"les

<em@laEa a I@c?ains (es(e el /ernel $.).

i@ta"les> ?erramienta (el es@acio (e usuario 4ue @ermite>

<eglas @ara ,iltra(o (e @a4uetes.

N*I.

]ire-all state,ul 1controla esta(os (e conexiones2.

!o@orte I.'6.
I rontec Curso "#si co Li nux
155
I@ta"les

Ia"las ca(enas
I rontec Curso "#si co Li nux
156
I@ta"les

+estino> nuestra m#4uina


I rontec Curso "#si co Li nux
157
I@ta"les

%rigen> nuestra m#4uina


I rontec Curso "#si co Li nux
158
I@ta"les

.a4uetes <een'ia(os 1]or-ar(e(2


I rontec Curso "#si co Li nux
159
I@ta"les

Ia"la mangle

.ara mo(i,icar @a4uetes>

I%! 1I@e o, !er'ice2

IIL 1Iime Io Li'e2

M*</ 1marcar un @a4uete2 T> i@route$G Ko!

R No usar esta ta"la @ara @ara +N*IG !N*I o Mas4uera(ing S


I rontec Curso "#si co Li nux
16:
I@ta"les

Ia"la nat

!0lo @ara ?acer N*I 1Net-orA *((ress Iranslation2.

+N*I>

Cam"iar la I. (estino.

3&> <e(irigir entrantes a una +M^ con I._s locales.

!N*I>

Cam"iar la I. origen a una (e,ini(a 1est#tica2

.ara (ar sali(a a e4ui@os L*N con I._s locales.

Mas4uera(e>

Igual 4ue !N*I con m#s carga (e @rocesa(or.

Ca(a 'eE c?e4uea la I. saliente 4ue (e"e asignarle.

3&> <outer Linux con I. @C"lica (in#mica.


I rontec Curso "#si co Li nux
161
I@ta"les

Ia"la ,ilter

]iltra(o (e @a4uetes.

R !e @ue(e ?acer ,iltra(o en otras ta"lasG @ero no es


recomen(a"le S

*cciones como>

*ce@tar un @a4uete 1*CC3.I2.

+esec?arlo 1+<%.2.
I rontec Curso "#si co Li nux
16$
I@ta"les

3sta(o (e los @a4uetes

N3`> @a4uete nue'o.

3!I*PLI!J3+> comunicaci0n a esta"leci(a.

<3L*I3+> relaiona(a a otra comunicaci0n 3!I*PLI!J3+.

.ara @rotocolos como ]I. 4ue incluen @uerto (e transmisi0n (e


(atos (entro (e (atos (e a@licaci0n.

Jace ,alta un m0(ulo @ara Net,iler> ipPconntrackPftp.

TTstate

.ara com@arar el esta(o (e un @a4uete.

3l esta(o (e conexiones se a@lica so"re>

IC.G U+. o ICM..

U.+ ICM. gracias al m0(ulo ipPconntrack.


I rontec Curso "#si co Li nux
16)
I@ta"les

3sta(o (e los @a4uetes 1II2

3&em@lo>

Nuestra m#4uina en'Ua un @a4uete a otra m#4uina>

3sta(o (e la comunicaci0n> N3`.

Ca(ena %UI.UI.

La m#4uina (estino nos res@on(e con otro @a4uete.

3sta(o (e la comunicaci0n> 3!I*PLI!J3+.

Ca(ena .<3<%UIING.
I rontec Curso "#si co Li nux
165
I@ta"les

Listar reglas actuales

i@ta"les TL T'

i@ta"lesTsa'e

Lista las reglas en un ,ormato '#li(o @ara iptables(restore.

i@ta"lesTsa'e > ,ic?eroTreglas 1sal'a las reglas a ,ic?ero2

i@ta"lesTrestore < ,ic?eroTreglas 1carga reglas (es(e ,ic?ero2


I rontec Curso "#si co Li nux
165
I@ta"les

Coman(o iptables

!intaxis @ara aQa(ir una regla>


iptables [-t tabla] comando [comparacin] [objetivo/salto]

Los scri@ts (e i@ta"les constan (e muc?as lUneas similares.


I rontec Curso "#si co Li nux
166
I@ta"les

Coman(os
-A : Aade la regla al final de la cadena.
iptables -A INPUT (aade una regla al final
de la cadena INPUT)
-D : Borrar una regla (hay que ponerla entera).
-R : Reemplaza una regla.
-I : Inserta una regla en la posicin indicada.
-L : Lista todas las reglas (de la cadena especificada).
-F : (Flush) Elimina todas las reglas (de la cadena
especificada).
I rontec Curso "#si co Li nux
167
I@ta"les

Com@araciones

Com@araciones genLricas>
-p, --protocol : Para comprobar si es TCP, UDP o ICMP.
iptables -A INPUT -p tcp
-s, --src : Comparacin de IP origen.
iptables -A INPUT -s 192.168.1.10
iptables -A INPUT -s 192.168.1.0/24
iptables -A INPUT -s ! 192.168.1.0/24
(invertir)
-d, --dst : Comparacin de IP destino.
iptables -A INPUT -d 192.168.0.1
iptables -A INPUT -d 192.168.0.0/16
-i, --in-interface : Interfaz origen.

Slo vlida en INPUT, FORWARD y PREROUTING.


iptables -A INPUT -i eth0
iptables -A INPUT -i eth+ (por cualquier
eth)
-o, --out-interface : Interfaz de salida.

Slo vlida en OUTPUT, FORWARD y POSTROUTING.


iptables -A FORWARD -o eth0
I rontec Curso "#si co Li nux
168
I@ta"les

Com@araciones im@lUcitas

Com@araciones 4ue se cargan im@lUcitamente>

IC.

U+.

ICM.

3stas com@araciones se cargan con la o@ci0n T@>


iptables -p TCP (o UDP, ICMP)
I rontec Curso "#si co Li nux
169
I@ta"les

Com@araciones im@lUcitas IC.

T@ tc@
--sport : Puerto origen.
iptables -A INPUT -p tcp --sport 1003
iptables -A INPUT -p tcp --sport 100:200
(rango)
iptables -A INPUT -p tcp --sport ! 22
(invertir)
--dport : Puerto destino (dem)
--tcp-flags : Flags TCP:

SYN, FIN, ACK, ACK SYN


iptables -A INPUT -p tcp --tcp-flags SYN
iptables -A INPUT -p tcp --tcp-flags
SYN,FIN,ACK SYN
I rontec Curso "#si co Li nux
17:
I@ta"les

Com@araciones im@lUcitas U+.

T@ u@(
--sport : Igual que en TCP.
--dport : Igual que en TCP.
I rontec Curso "#si co Li nux
171
I@ta"les

Com@araciones im@lUcitas ICM.

T@ icm@
--icmp-type : Tipo de ICMP.
iptables -A INPUT -p icmp --icmp-type 8

Se puede ver un listado con:


iptables -p icmp --help
I rontec Curso "#si co Li nux
17$
I@ta"les

Com@araciones ex@lUcitas

!e (e"en cargan ex@lUcitamente con o@ci0n Tm 1TTmatc?2.


--state ESTADO : Verifica el estado de la conexin.

NEW, INVALID, ESTABLISHED, RELATED


iptables -A INPUT -m state --state
RELATED,ESTABLISHED
--limit VALOR : Limitar el n de paquetes por tiempo.
iptables -A INPUT -m limit --limit 3/hour
--mac-source : MAC origen.
iptables -A INPUT -m mac --mac-source
00:00:00:00:11:22
--mark : Comprobar paquetes marcados anteriormente.
iptables -t mangle -A INPUT -m mark --mark 1

M#s com@araciones>

I%!G IILG multi@ort...


I rontec Curso "#si co Li nux
17)
I@ta"les

%"&eti'os/!altos

*cci0n 4ue se e&ecuta so"re el @a4uete.


-j ACCIN

!alto> Man(ar el @a4uete a otra ca(ena>


-j cadena

.o(emos crear ca(enas @ro@ias>


iptables -N cadena_tcp
iptables -A INPUT -p tcp -j cadena_tcp

I rontec Curso "#si co Li nux


175
I@ta"les

%"&eti'os
ACCEPT : Aceptamos el paquete.

El paquete deja de compararse en la cadena


actual y en las cadenas de la tabla actual !

El paquete podra ser filtrado en otra tabla


!
DROP : Deseacha un paquete.
REJECT : Rechaza un paquete (enva un ICMP informativo al
origen).
LOG : Loguea el paquete en ssylog.
DNAT : Cambiamos la IP destino.

Slo en cadenas PREROUTING y OUTPUT de la


tabla nat.
iptables -t nat -A PREROUTING -p tcp -d
85.80.23.54 --dport 80 -j DNAT --to-
destination 192.168.168.10:80
I rontec Curso "#si co Li nux
175
I@ta"les

%"&eti'os 1II2
SNAT : Cambiamos la IP origen.

Slo en la cadena POSTROUTING de la tabla nat.


iptables -t nat -A POSTROUTING -p tcp -o eth0
-j SNAT --to-source 90.90.90.90:1024-3200
MASQUERADE : Cambiamos la IP origen (detecta la IP)

Slo en la cadena POSTROUTING de la tabla nat.


iptables -t nat -A POSTROUTING -p tcp -o eth0
-j MASQUERADE --to-ports 1024-3200
REDIRECT : Redirigir paquetes hacia la mquina.

Slo en cadenas PREROUTING y POSTROUTING de


tabla nat.
iptables -t nat -A PREROUTING -p tcp --dport
80 -j REDIRECT --to-ports 8080

Util para proxy transparente.

%tros o"&eti'os>

<3IU<NG KU3U3G MI<<%<G M*</G I%!G IILG UL%G


I rontec Curso "#si co Li nux
176
I@ta"les

.olUtica @or (e,ecto

+os ,iloso,Uas>

1a> ZIo(o a"ierto cerrar a4uello 4ue no 4ueramos[

$a> ZIo(o cerra(o a"rir a4uello 4ue 4ueramos[

R Muc?o m#s segura la $a S

.olUtica @or (e,ecto en ca(a ca(ena 1s0lo se cum@le si el


@a4uete no coinci(e con ninguna regla2>
iptables -P cadena poltica

+enegamos acceso a la m#4uina otras m#4uinas>


iptables -P INPUT DROP
iptables -P FORWARD DROP

.ermitimos acceso total al exterior (es(e nuestra @ro@ia m#4uina>


iptables -P OUTPUT ACCEPT
I rontec Curso "#si co Li nux
177
I@ta"les

.olUtica @or (e,ecto 1II2

R %;% con el inter,aE Zlo[ S

Zlo[ es el inter,aE (e local?ost.

!i @onemos>
iptables -P INPUT DROP
Estamos bloqueando los accesos por red en localhost !

!oluci0n> *Qa(ir>
iptables -A INPUT -p ALL -i lo -j ACCEPT
I rontec Curso "#si co Li nux
178
I@ta"les

ssctl

.ara ?a"ilitar el ruta(o>


#> echo 1 > /proc/sys/net/ipv4/ip_forward

M#s elegante>
#> sysctl -w net.ipv4.ip_forward=1

.ara (e&arlo (e,initi'o 1acti'o en el arran4ue2>


Fichero /etc/sysctl.conf:
net/ipv4/ip_forward=1
I rontec Curso "#si co Li nux
179
I@ta"les

Notas a recor(a(

R No "lo4uear to(os los ICM. S DD@or 4uLFF

!u@one cargarse la mita( (el @rotocolo (e internet.

No ol'i(arse (el inter,aE Zlo[.

Cargar m0(ulos necesarios @ara nuestras reglas.

R Im@rescin(i"le el m0(ulo ipPtables S


I rontec Curso "#si co Li nux
18:
I@ta"les

3&em@lo

*s@ectos comunes (e los scri@ts>

Porra(o (e las reglas a@lica(as actualmente 1,lus?2

*@licaci0n (e @olUticas @or (e,ecto @ara IN.UIG %U.UIG


]%<`*<+

Lista(o (e reglas i@ta"les.


I rontec Curso "#si co Li nux
181
I@ta"les

3&em@lo 1II2
#!/bin/sh
## SCRIPT de IPTABLES
## Red local: eth0 - 192.168.0.0/24
## Internet: eth1 - IP dinmica
# Borrar reglas:
iptables -F
iptables -t nat -F
# Poltica por defecto:
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
# Permito acceso local:
iptables -A INPUT -p ALL -i lo -j ACCEPT
I rontec Curso "#si co Li nux
18$
I@ta"les

3&em@lo 1III2
# Masquerading para red local con IP pblica dinmica:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j
MASQUERADE
# Dejo pasar los paquetes ICMP:
iptables -A INPUT -p ICMP -j ACCEPT
# Acepto paquetes de conexiones ya establecidas:
iptables -A INPUT -p TCP -m state --state RELATED,ESTABLISHED -j
ACCEPT
# Permitir SSH a la mquina:
iptables -A INPUT -p TCP --dport 22 -m state --state NEW -j ACCEPT
# Redirigir HTTP a una mquina local:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to
192.168.0.2:80
I rontec Curso "#si co Li nux
18)
I@ta"les

M#s in,o>

?tt@>//i@ta"lesTtutorial.,roEentux.net/s@anis?/c?unA?tml

Iutorial com@leto (e I@ta"les en castellano.


I rontec Curso "#si co Li nux
185
.a4uetes (e so,t-are
I rontec Curso "#si co Li nux
185
.a4uetes (e so,t-are

Un pa#uete es un "ic)ero #ue contiene un pro&rama!


scripts de instalacin 3 "ic)eros de con"i&uracin.

Ds posible instalar! eliminar pro&ramas 3 actualiJar el


sistema completo con un solo comando! 3um.

Tambi-n es posible instalar pa#uetes a mano sin


3um! pero tendremos #ue resol$er el problema de
dependencias manualmente.
I rontec Curso "#si co Li nux
186
.a4uetes (e so,t-are

6nstal ar0 3um install nombrepa#uete

Dl i mi nar0 3um remo$e/erase nombrepa#uete

Actual i Jar pa#uetes0 3um update

Actual i Jar si stema0 3um up&rade

_uscar pa#uete0 3um searc) textodebus#ueda

Bostrar i n"o de pa#uete0 3um in"o


nombrepa#uete
I rontec Curso "#si co Li nux
187
.a4uetes (e so,t-are

+,u- es un repositorio.
Dl repositorio es un almac-n de pa#uetes. Los
repositorios pueden estar en internet! en un medio
extraKble como un >D! en el disco duro...

'e con"i&uran en /etc/3um.repos.d


VPbsI>ent@'IDxtrasW
name=7entDA%Qaran%Drg(E;.releasever ( Atable
gpgcheck=!
gpgkey=ttp0//centos%karan%org/F@=(R@R(QES(karan%org%t&t
enabled=!
baseurl=ttp0//centos%karan%org/el.releasever/e&tras/sta
ble/.basearc/F@=A/
I rontec Curso "#si co Li nux
188
.a4uetes (e so,t-are
Tambi-n es posible instalar pa#uetes a mano sin usar
UB! mediante rpm. Las dependencias las tenemos
#ue &estionar notrosos.
)root*localost alumno-I rpm (i pidgin(#%$%#(
'%el"%i'4/%rpm
warning0 pidgin(#%$%#('%el"%i'4/%rpm0 8eader M' ?A9
signature0 CDQEST ke+ G? e4"/#432
error0 Failed dependencies0
libgtkspell%so%$ is needed b+ pidgin(#%$%#(
'%el"%i'4/
libpurple%so%$ is needed b+ pidgin(#%$%#(
'%el"%i'4/
I rontec Curso "#si co Li nux
189
.a4uetes (e so,t-are

Al&unas opciones de rpm.

6nstal ar0 rpm Ii nombrepa#uete

_orrar0 rpm Ie nombrepa#uete

;er pa#uetes i nstal ados0 rpm I#a

Actual i Jar pa#uete0 rpm IU$)


I rontec Curso "#si co Li nux
19:
!er'icios Ni'eles (e 3&ecuci0n
!er'icios Ni'eles
(e 3&ecuci0n
I rontec Curso "#si co Li nux
191
.roceso (e arran4ue

La _6@' busca un dispositi$o de inicio 7disco duro! >DI


R@B!..= 3 pasa el control al B_R 7H24 b3tes=.

'e car&a el &estor de arran#ue 7instalado en B_R=.

'e car&a el Pernel.

'e monta el sistema de "ic)eros raiJ 7/=.

'e inicia el init 7el abuelo de todos los procesos=.

'e lee el arc)i$o /etc/inittab.

'e ejecutan los scripts indicados por el ni$el de ejecucin


de arran#ue.
I rontec Curso "#si co Li nux
19$
Gestores (e arran4ue
Grub

Grub 7Grand Uni"ied _ootloader= es un &estor de arran#ue


capaJ de arrancar di"erentes sistemas operati$os en
di"erentes particiones 3 discos duros.

Normalmente se instala en el B_R 7master boot record= del


disco duro principal.

Dl arc)i$o de con"i&uracin en Debian GNU/Linux es0


/boot/&rub/menu.lst

No es necesario ejecutar nin&Gn comando para #ue se


ten&an en cuenta los cambios realiJados.
I rontec Curso "#si co Li nux
19)
Gestores (e arran4ue
Grub

Grub no es capaJ de distin&uir entre dispositi$os 6DD! '>'6


u otros.

'intaxis0

Dispositi$os
Jdispositivo)particion-)TletraPparticion-K
(hd0) # disco maestro IDE primario
(fd0) # disquetera
(hd0,1) # particin 2 del maestro IDE
0

*ic)eros

Ds necesario indicar la ruta completa


(hd0,0)/boot/grub/menu.lst
I rontec Curso "#si co Li nux
195
Gestores (e arran4ue
Grub

Datos de interes del arc)i$o menu.lst0


default 0
timeout 3
title Ubuntu, kernel 2.6.12-10-386
root (hd0,1)
kernel /boot/vmlinuz-2.6.12-10-386
root=/dev/hda2 ro quiet splash
initrd /boot/initrd.img-2.6.12-10-386
savedefault
boot
title Microsoft Windows
root (hd0,2)
savedefault
makeactive
chainloader +1
I rontec Curso "#si co Li nux
195
Ni'eles (e 3&ecuci0n
Dn los sistemas Unix )a3 < 71...C= ni$eles de ejecucin

ni$el 10 estado de parada 7)alt=

ni$el 20 monousuario

ni$el 4! 5 3 H0 multiusuario

ni$el /0 no tiene un uso especK"ico

ni$el C0 estado de reinicio 7reboot=


I rontec Curso "#si co Li nux
196
Ni'eles (e 3&ecuci0n
6nit

Ds el primer proceso #ue se crea 7%6DR2=.

'e con"i&ura mediante /etc/inittab.

'intaxis
id:nivel:accion:proceso

id> nom"re (e la lUnea

nivel> ni'el o ni'eles en los 4ue la lUnea (e"e @rocesarse


accion
wait (espera), once (solo 1 vez), respawn
(rearranca una vez finalizado), off (ignora
la lnea)

proceso> @at? (el @roceso a e&ecutar


I rontec Curso "#si co Li nux
197
Ni'eles (e 3&ecuci0n
6nit

;alores tKpicos del arc)i$o /etc/inittab0


id:2:initdefault
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
z6:6:respawn:/sbin/sulogin
# CTRL-ALT-DEL!
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
I rontec Curso "#si co Li nux
198
*rran4ue (el sistema

>uando la m#uina se inicia en un ni$el de


ejecucin N se ejecutan todos los scripts #ue
empiecen por f'f o fAf contenidos en /etc/rcN.d/
con las si&uientes particularidades.

'i el nombre del script comienJa por ' se le pasa


como parmetro fstartf.

'i el nombre del script comienJa por A se le pasa


como parmetro fstopf.

Normalmente todos estos "ic)eros de /etc/rcN.d


son enlaces a scripts localiJados en /etc/init.d/
I rontec Curso "#si co Li nux
199
Con,iguran(o ser'icios en arran4ue @ara(a
c)Pcon"i&

Herramienta para con"i&urar autom&icamente los enlaces


a los scripts de init tipo '3stem ; #ue estn en /etc/rcN.d/
V'gAWNNnombre 3 #ue apuntan a los scripts
/etc/init.d/nombre.

Djemplos
# chkconfig --list
# chkconfig --level 345 sendmail off

You might also like