Professional Documents
Culture Documents
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
%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
+,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=
Gestionadas por0
empresas
&rupos de personas.
or&anismos ...
I rontec Curso "#si co Li nux
1:
Intro(ucci0n
Distribuciones GNU Linux (I)
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:
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
?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%!
'eleccin de idioma.
'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
Tipos de arc)i$os0
"ic)eros planos
directorios
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
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
/bin
/de$/cdrom >DR@B
...
/etc/?22/xor&.con" : 'istema ?
/etc/resol$.con"
/etc/lilo.con"
I rontec Curso "#si co Li nux
)6
Instalaci0n (e Cent%!
/)ome/username
')ells
Dntorno de trabajo0
%rompt0
S0 usuario normal
Ir a tm@.
<enom"rarlo a nominas.
>aracteres especiales
Ir a /?ome.
TuberKas
alias a@agarX?alt
I rontec Curso "#si co Li nux
7:
3;3<CICI%
>omandos0
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
Bximo / primarias0
/de$/)da2 /de$/)da4 /de$/)da5 /de$/)da/
/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
mount
mount /dev/dispositivo
3&>
mount /dev/hdc = mount /media/cdrom0
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
`` 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
Directorios especiales0
/etc/cron.daily/
/etc/cron.hourly/
/etc/cron.monthly/
/etc/cron.weekly/
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[.
'cript R Guin
.6E789 es su 'alor.
'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
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
S1 es el propio script.
I rontec Curso "#si co Li nux
117
!?ell !cri@ts
;ariables0 ar&umentos especiales
Dos sintaxis0
Con(iciones> test
test .?GCEFD (eH !$$$ 1Te4G TneG TgtG TltG TgeG Tle2
Mo(i,ican el 'alor (e HF
cero X 'er(a(ero
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
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. 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
"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
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
+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"i&uracin manual0
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
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
>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
Corta,uegos Net,ilter/I@ta"les
N*I.
!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
Ia"la mangle
Ia"la nat
+N*I>
Cam"iar la I. (estino.
!N*I>
Mas4uera(e>
Ia"la ,ilter
]iltra(o (e @a4uetes.
*cciones como>
+esec?arlo 1+<%.2.
I rontec Curso "#si co Li nux
16$
I@ta"les
TTstate
3&em@lo>
Ca(ena %UI.UI.
Ca(ena .<3<%UIING.
I rontec Curso "#si co Li nux
165
I@ta"les
i@ta"les TL T'
i@ta"lesTsa'e
Coman(o iptables
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.
Com@araciones im@lUcitas
IC.
U+.
ICM.
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:
T@ u@(
--sport : Igual que en TCP.
--dport : Igual que en TCP.
I rontec Curso "#si co Li nux
171
I@ta"les
T@ icm@
--icmp-type : Tipo de ICMP.
iptables -A INPUT -p icmp --icmp-type 8
Com@araciones ex@lUcitas
M#s com@araciones>
%"&eti'os/!altos
%"&eti'os
ACCEPT : Aceptamos el paquete.
%"&eti'os 1II2
SNAT : Cambiamos la IP origen.
%tros o"&eti'os>
+os ,iloso,Uas>
!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
M#s elegante>
#> sysctl -w net.ipv4.ip_forward=1
Notas a recor(a(
3&em@lo
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
+,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...
'intaxis0
Dispositi$os
Jdispositivo)particion-)TletraPparticion-K
(hd0) # disco maestro IDE primario
(fd0) # disquetera
(hd0,1) # particin 2 del maestro IDE
0
*ic)eros
ni$el 20 monousuario
ni$el 4! 5 3 H0 multiusuario
'intaxis
id:nivel:accion:proceso
Djemplos
# chkconfig --list
# chkconfig --level 345 sendmail off