Vous êtes sur la page 1sur 32

Curso Linux.

LPI 1 2009
Estructura de Ficheros

Directorios
Bin ­> Se encuentros ficheros binarios ya compilados.
Boot ­> Gestor de arranque i ficheros de configuración.
Dev ­> Se encuentran todos los dispositivos.
CDROM ­> En algunas distribuciones se ha montado directamente la unidad CDROm 
directamente en este directorio.
Etc ­> Archivos de configuración y scripts de arranque del sistema.
Home ­> Estructura de directorios de usuarios.
Initrd ­> Ficheros de Kernel.
Lib­> Librerias
Lost + Found­> Directorio que se almacenan todos aquellos ficheros que en el 
arranque están dañados.
Media ­> Dispositivos removibles.
Mnt ­> Ubicación de todos los directorios montados. Ej. Unidades de red, disco, etc.
Opt ­> Archivos de aplicaciones o Suites.
Proc ­> Información de ejecución de procesos e información del hardware.
Para consultar podemos hacerlo con el comando Cat /proc/cpuinfo
Root ­> Directorio del administrador. En algunas distribuciones el usuario root tiene el 
password: toor que es root al revés.
Sbin ­> Ficheros binarios compilados pero que solo los puede ejecutar el usuario root. 
Existen comandos comunes para todos los usuarios.
Srv ­> Sistema desto de Linux. (Consultar).
Sys ­> Sistema.
Tmp ­> temporal
Usr ­> Programa para los usuarios.
/usr/include ­> cabecera para compilar librerías.
/usr/share ­> Documentos de sistema, iconos, etc.
Var ­> Ficheros de variables de entorno.
/var/lib ­> Directorio para las bases de datos.
/var/run ­> Fitxeros que indican que procesos se están ejecutando.
Log ­> registro logs.

Comandos Linux

cd ­> Change directory.
Ruben$ cd /home/prueba
cd + Intro ­> Nos lleva a nuestro directorio.
Cd + ~nombre_usuario + Intro ­> Nos lleva a la home del usuario
Cd + ~ + Intro ­> Vuelve al directorio que estábamos.
mkdir ­> Make directory
Mkdir nombre_directorio.
mkdir –p /tmp/ejemplo1/ejemplo2/ejemplo3 ­> Crea toda la estructura de 
directorio.
man ­> Ayuda sobre cualquier comando. Ej. ordenador$ man cd
Rmdir ­> remove directory ­> Unicamente los vacios.
Rm ­> remove. Borra directorios y ficheros.
Ej. rm [a­h]*  ­> Borra todos los ficheros que empiecen por la a hasta h.

LPI 1. ver. 1 Autor: Ruben Rubio Página 1 de 32


Curso Linux. LPI 1 2009
Rm ??? ­> Borra todos los ficheros con 3 caracteres.
Rm –f  ­> Forzamos el borrado. También se utiliza para borrar directorios 
que no eres el propietario.
Rm –f –recursive ­> Se utiliza para borrar directorios y subdirectorios 
aunque no estén vacíos.
Mv ­> Move
mv origen destino

Sistema de arranque de un PC

Encemos (Power)
Bios
Lee la MBR (512 bytes)
GRUB ­> Lee Archivo Kernel
Kernel ­> Carga Hardware
Scripts de inicio /etc/init.d/
SVR4 | BSD

Fichero initrd ­> Kernel básico para cada máquina que se instala /boot

Tipos de usuario

Dos tipos principales: root y resto de usuarios.
Root@nombre_equipo # ­> Prompt root
usuario@nombre_equipo $ ­> Prompt usuarios
En algunos sistemas Linux el usuario root tiene como password inicial: toor

Gestión de software

En la versiones debian existe un motor de instalación, desinstalación y borrado 
de paquetes de software. 
Comando aptitude
aptitude install software
aptitude update
ej: aptitude install vim

Editor vi / vim (mejorado)

Teclas de funcionamiento:
Desplazamiento:  hjkl
Fin de línea:  $
Inicio de línea: 0
Copiar línea: y    (yankee = tirón)
Pegar línea: p   (paste)
Ir a la línea: :num_linea ­> Línea 1 = 0
Última línea: :$

LPI 1. ver. 1 Autor: Ruben Rubio Página 2 de 32


Curso Linux. LPI 1 2009
Siguiente palabra:  w (Word)
Borrar carácter: x
Deshacer: u
Borrar línea: dd ­> 2 líneas d2d ­> 3 lineas d3d ….
Borrar dos palabras:  d2w
Copiar texto y pegar: v + mover cursor + p
Insertar: i
Insertar línea en un punto: a
Inserta línea: o
Buscar hacia abajo: /
Buscar hacia ariiba: ?
Guardar : w ruta_fichero
Salir :q
Forzar salida :q!
Salir :x
Autocompletar: ctrl. + n
Abrir dos ficheros: :new nombre_fichero
Desplazarse entre ficheros: ctrl. + w + w
Añadir 10 líneas: ctrl.+w+10+  ­> Símbolo + en 10

Procesos

Instancias creadas en el sistemas que realizan algo.
Para ver los procesos: ps waux, ps ef
Significado columnas:
User: Usuario que ha lanzado ese proceso.
PID: Identificador de procesos. Es un número.
%cpu: % de ocupación de CPU.
%mem: % de ocupación de memoria.
VSZ: Virtual size memory. Residente + compartida
RS: memoria Residente. Es aquella memoria en un momento determinado dos 
procesos diferentes van a buscar algún tipo de información normalmente una 
librería.
TTY: Terminal que lo ha lanzado.
Stat ­> Estado
Start ­> Hora de inicio.
Time ­> Cantidad de tiempo que utiliza de cpu.
Command ­> Programa de sistema que ha lanzado el proceso.

Para acceder a las diferente consolas (TTY): ctrl. + alt+ F1, F2, F3.. F6 (por 
defecto), F7 (consola de las X).

Comando de procesos

Matar procesos: kill
Kill nº_proceso ­> Matas el proceso.
Kill ­1 nº_proceso ­> Aviso al proceso para que se pare.

LPI 1. ver. 1 Autor: Ruben Rubio Página 3 de 32


Curso Linux. LPI 1 2009
Kill ­1 ­9 nº_proceso ­>Forzar el cierre de todos los procesos y cerrar sesión.
Kill –stop nº_proceso ­> Parar el proceso pero que no lo pare.
Kill –Hup nº_proceso ­> Reinicia el proceso.
Kill %1­> Matar primer trabajo.
Arbol de procesos­> pstree.
Procesos interactivo ­> top
Permite visualizar en tiempo real los procesos y sus consumos de %cpu 
m% memoria.
K : Matar procesos.
R:  Reiniciar proceso. Value: Rango entre.­19 min ­20 máximo.
Load average: 0,valor ; 0,Valor; 0,valor    1,5,15 Minutos promedio.
Ej: 0.16, 0.08 , 0.12
Uptime ­> tiempo arrancado y muestra el load average.
Free ­> Estado de la memoria.
Nice ­> Comando para arrancar una aplicación con una determinada prioridad. 
Ej. Nice –n ­19 xcalc   ­> ­19 prioridad. Xcalc aplicación.
snce ­> Modifica la prioridad de un proceso.
Nohup ­> Ejecutar aplicación aunque se cierre el Terminal.
Bg | & ­> Arrancar programa en background
Fg ­> Traer a primer plano
Fg %1 ­> 
Kill %1 ­> Matar primer trabajo.
Jobs ­> Mirar trabajos.

SCRIPTING

Pequeños programas para programar ciertas tareas.
$ vi first
#
# My first shell script
#
clear
echo "Knowledge is Power”
Para comprobar sentencias –> test sentencia
Para visualizar la sintaxis de un comando en el mismo programa VI podemos 
hacer Shift+k.
Estructura if:
If [ “__” _____ “___” ] ; then
­­­­­­­­­
Else,
Fi
[ ­d “___  ]  Comprobar si existen directorios.

$ cat > ispostive


#!/bin/sh
#
# Script to see whether argument is positive
#
if test $1 ­gt 0

LPI 1. ver. 1 Autor: Ruben Rubio Página 4 de 32


Curso Linux. LPI 1 2009
then
echo "$1 number is positive"
fi

Variables

Nombre_variable = valor.
Example:
$ no=10# this is ok
$ 10=no# Error, NOT Ok, Value must be on right side of = sign.
To define variable called 'vech' having value Bus
$ vech=Bus
To define variable called n having value 10
$ n=10
Para comentarios utilizar el character #

Variables especiales

Echo “$?”  Retorno de error 0 = ok Otros valores depende.
Echo “$*”  Muestra todos los argumentos.
Echo “$#”  Cuenta los argumentos.
Echo “$1”  1 siendo el número de argumento.
Echo “$0”  Retorna el nombre del fichero.

Bucles

While [ condición ] ;
Do
­­­­­
Done

Ej: 
Num=0
while  [ “$num” –le “10” ];
do
echo $num
num=$(($num+1)    # Incrementar en uno.
Done

FOR

Ej:
For ((i=0; i<;i++));
Do
Echo “$i”
Done

Comando convert ­> Permite converter imagines en otros formatos y cambiar su resolución.

Para instalar usuario@equipo:$ aptitude install imagemagick 

LPI 1. ver. 1 Autor: Ruben Rubio Página 5 de 32


Curso Linux. LPI 1 2009
Ej. Convertir un directorio completos todos sus ficheros de imágenes a una resolución y 
formatos diferentes.

For file in $(ls); do convert –resize 128x128 $file $file.thumbrail.gif; done

Curiosidades del prompt

Ctrl+ a  Ir al principio.
Ctrl. + e  Ir al final
Ctrl. +  Hacer la fuente más grande.
ctrl. ­  Hacer la fuente més pequeña.
ctrl. + l  Limpiar pantalla.
Alt + Tecla_borrar  Borra una palabra
ctrl. + y  Paste
ctrl. + w  Borra palabra
ctrl. + k  Borra desde donde estamos hasta el final.
ctrl. + u  Borra desde donde estamos hasta el principio.
History  Muestra el historial de comandos introducidos.
ctrl. + R  Buscar 

Creación de ficheros

Crear ficheros vacios. 
Comando touch nombre_fichero <=

Comando dd

Ej: dd if=/dev/zero of/tmp/file1 bs=1M count=1

Hacer un backup del MBR
Dd if=/dev/sda of=/tmp/mbr.raw bs=12 count 1

Información de disco

# df  (Diskfree)  Permite visualizar el espacio ocupado.
# du ruta → Muestra el espacio ocupado. Muy util para directorios.

Dispositivos de disco

Hd |a  hda1  Disco IDE 1 Master  1 Partición.


Hd |a  hda2  Disco IDE 1 Slave
Hd |b  hdb1  Disco IDE 2 Master
Hd |b  hdb2  Disco IDE 2 Slave

Puede llegar a 15 particiones y 1­4 particiones primarias por disco.

Comando mount

Permite el montado de discos o dispositivo.
Sintaxis: mount – mount a file system.
# mount     Permite visualizar los sistemas de archivos montados.
# mount origen punto_de_montage.

LPI 1. ver. 1 Autor: Ruben Rubio Página 6 de 32


Curso Linux. LPI 1 2009

Para montar un dispositvo que es un fichero hay que utilizar los parámetros siguientes:
# mount ­o loop origen punto_de_destino

Para desmontar un dispositvo se utiliza el comando umount.
Sintaxis: umount punto_de_montaje.

Para forzar a un sistema determinado en el montaje.
Mount – ext3 origenpunto_de_montaje.

Para montar en un sistema windows.
mount ­t cifs //servidor/carpeta ­o username=usuario,password=contraseña 
/home/usuario/carpeta

El fichero que almacena todo el montaje se encuentra en /etc/fstab

Si fuera necesario remontar la raiz se realizarían los siguientes pasos:
# mount / ­ o re mount, rw
# cp /etc/rc.local /root
# echo “” > /etc/rc.local

rubrub@rublaptop:/dev$ cat /etc/fstab

# /etc/fstab: static file system information.

# <file system> <mount point>   <type>  <options>       <dump>  <pass>

proc            /proc           proc    defaults        0       0

# /dev/sda5

UUID=9d7ece65­b8ce­4d4f­a838­892f1bd1d5e7 /               ext3    relatime,errors=remount­ro 0 
1

# /dev/sda6

UUID=084c9a19­5888­4456­a601­087475dcf0aa none            swap    sw              0       0

#/dev/sdb1       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0

rubrub@rublaptop:/dev$ 

rubrub@rublaptop:~$ mount

/dev/sda5 on / type ext3 (rw,relatime,errors=remount­ro)

proc on /proc type proc (rw,noexec,nosuid,nodev)

/sys on /sys type sysfs (rw,noexec,nosuid,nodev)

varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)

varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)

LPI 1. ver. 1 Autor: Ruben Rubio Página 7 de 32


Curso Linux. LPI 1 2009

udev on /dev type tmpfs (rw,mode=0755)

devshm on /dev/shm type tmpfs (rw)

Para la creación de particiones se utiliza el commando fdisk.

Uso: fdisk [­l] [­b SSZ] [­u] dispositivo

Ej.:  fdisk /dev/hda  (para el primer disco IDE)

  o:  fdisk /dev/sdc  (para el tercer disco SCSI)

  o:  fdisk /dev/eda  (para la primera unidad PS/2 ESDI)

  o:  fdisk /dev/rd/c0d0  o fdisk /dev/ida/c0d0  (para dispositivos RAID)

Los dispositivos se pueden consultar en /dev. Este es un ejemplo de los dispositivos de disco.

rubrub@rublaptop:~$ ls /dev | grep sda*

sda

sda1

sda2

sda5

sda6

sdb

sdb1

Comando lsof

Busca los ficheros abiertos.
Ej: lsof | grep /home → Permite ver todos los ficheros abiertos que incluya la ruta /home
Ej: lsof ­i ­n → Permite también visualizar los puertos abiertos.

LVM

Logical Volume Machine → Permite la creación de volúmenes lógicos dentro de una máquina.

Phisical
LV LV LV
Volum
group

LPI 1. ver. 1 Autor: Ruben Rubio Página 8 de 32


Curso Linux. LPI 1 2009

Asociar un fichero como si fuera un disco. Comando losetup
Ej. # losetup /dev/loop nombre_fichero

Pasos para la creación de LVM

1­ Inicializar el disco. Comando pvcreate
2­ Crear el volumen group. Comando vgcreate
3­  Crear el Logical Group. Comando lvcreate

Ej. Creación de logical volum con un fichero de 1mb.

# for (( i=0 ; i>8 ; i++ )); do dd i=/dev/zero of=disc$i.raw bs=1M count=200; losetup /dev/loop$i 
disc$i.raw ; pvcreate disc$i.raw; done
#vgcreate base_de_datos /dev/loop0 /dev/loop1 /dev/loop3 ....
#lvcreate ­L 300 ­n bbdd1 base_de_datos
#mkfs.ext /dev/base_de_datos/bbdd1

X Windows 

Matar las X
# /etc/init.d/gdm stop
Ctrl + Alt+ Tecla borrar (Backspace)
Para volver a arrancar desde la consola ejecutar: # xinit

Fichero de configuración de las X: /etc/X11/xorg.conf

Exportar las X a otro equip.

# export DISPLAY=:0  → También sustituair el “:0” por ­> :0   ;  0:0   ; 127.0.0.1:0  ;
# xcalc
# xhost
# xhost +localhost

Métodos de consulta

whatis
man 
apropos
comando –help

Comandos de red

# route → Muestra las tablas de rutas.
# route ­C ­n → Muestra la tabla de rutas en cache. (­C). ­n guardado en cache sin 
necesidad de hacer un chequeo de la red.
# netstat­­> ­ Print network connections, routing tables, interface statistics, masquerade 
connections, and multicast memberships
# netstat ­r ­n
# ping → Mensaje de eco continuo a una ip
# ping 192.168.0.1
# ping 0  → ping a localhost o loopback.
# ping ­c nº_de_repeticiones dirección_ip
# Whois → Información sobre dominio.
# whois terra.es

LPI 1. ver. 1 Autor: Ruben Rubio Página 9 de 32


Curso Linux. LPI 1 2009
# traceroute → Permite saber el trazaado del host a otro.
# traceroute www.terra.es
# traceroute 212.121.224.17
# mtr → Igual que el traceroute pero más intuitivo.

# mtr 212.121.224.17
# host → Información sobre un dominio.
# host altecom.cat 
# host ­t ns atecom.cat → ­t Tipo de query; ns Servidores dns
# host ­t mx altecom.cat → Servidores de mail.
# host ­t axfr altecom.cat → Transferencia de zona dns.
#host ­t axfr altecom.cat pepe.com → Forzar la transferenciaa otro dominio.
# dig → Parecido al host, información de un dominio.
# dig nombre_dominio

Configuración de red

# ifconfig → Permite visualizar la configuración de red y configuración de red.
# Ifconfit 
# ifconfig eth0 192.168.0.11 netmask 255.255.255.0 up → Cambio de ip 
# ifconfig eth0:0 192.168.0.11 netmask 255.255.255.0 up → Añadir ip.
# ifconfig eth0:1 192.168.0.12 netmask 255.255.255.0 up → Añadir ip.
# / /proc/sys/net/ipv4/ echo "0" >icmp_echo_ignore_broadcast
 → Ignoramos el  broadcast.
# echo “1” >  /proc/sys/net/ipv4/ if_forward → Habilitar forward para hacer de router por 
ejemplo..
# routeadd → Permite añadir rutas.
# route add ­nat 192.168.98.0 /24 gw 192.168.99.98 → Creamos una ruta para que todo 
el tráfico la red x.x.98.0 lo envie a la red x.x.99.98.
# host ­t ns bcn.es | awk '{print $4}' | sed "s/\bcn.es
 → Extraigo la cuarta palabra nos  recorta el resto de la información que 
nos muestra el comando host.

Fichero de configuración /etc/network/interface

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.18.46
netmask 255.255.255.0
gateway 192.168.18.2

# Para añadir más ip's
auto eth0:0
auto eth0:1
auto eth0:2

Resolución de dominos

/etc/resolv.conf

LPI 1. ver. 1 Autor: Ruben Rubio Página 10 de 32


Curso Linux. LPI 1 2009
# fichero resolv.conf
search nombre_dominio  # Añade a todas las consultas el dominio.

Ej. ping pepe  → Consultará el dominio pepe.nombre_dominio

/etc/host.conf

order hosts, bind    # Consulta primero así mismo y luego al dns. El orden se puede cambiar.

/etc/nsswich.conf → Fichero de configuración de dns

/etc/hosts → Fichero de tabla de host

Asignación de permisos

# chmod → Cambio de permisos. Change file mode bits.
# chown → Cambio de propietarios.
# chgrp → Cambio de grupo.

 
Tipo archivo:

 d → directorio   ­  → Fichero p → tipe, tubería → Pila tipo FIFO.


s – Socket l → Link c → carácter
b → Block device

Métodos de asignación de permisos

# chmod u +r  file → Añadimos permisos de lectura a un usuario a un fichero.

LPI 1. ver. 1 Autor: Ruben Rubio Página 11 de 32


Curso Linux. LPI 1 2009
# chmod g +r  file → Añadimos permisos de lectura a un grupo a un fichero.
# chmod o +r  file → Añadimos permisos de lectura a un propietario a un fichero.

En determinados scripts también se podría añadir el –R para ser recursivo.

Para poder visualizar un directorio el usuario tiene que tener permisos de ejecución.

Para la asignación de permisos nunca utilizar el acceso del tipo:

# chmod –R 777 fichero → Es una vía de entrada de los hackers para eso utilizar:
# chmod –R 755 fichero  opción correcta.

Cuando fichero tiene en el primero octeto el permiso “s” permite ejecutar ese fichero como root. 
Un ejemplo de todo esto son algunos fichero del directorio /bin/ping

d rwx rwx rwt  t significa que unicamente el root puede borrarlo.

# chmod 1777 fichero  1 Asigna la t
# chmod 2777 fichero  2 Asigna el SetGid  Set grupo
# chmod 4777 fichero  2 Asigna el SetGid  Stike

Para cambiar el propietario de un fichero unicamente lo puede hacer root de la siguiente forma:

# chown pue1:pue2 fichero   pue1 = owner ; pue2  grupo

Otra forma

# chown pue: fichero   Autocompleta el usuario con el mismo grupo.

Para cambiar de grupo se utiliza el comando chgrp.

# chgrp audio lalala fichero ­> Cambiamos el grupo de un grupo de un fichero a lalala.

En ocasiones para la la asignación de un grupo a un fichero es preferible seleccionar 
temporalmente un grupo principal, para eso utilizar el comando newgrp.

# newgrp    SE pueden visualizar todos los grupos en /etc/group

Empaquetadores

Tar
Sintaxis

Tar [ j / z ] [x / c ] [v] [p] [f] nombre_fichero

J= bz2; z =gz; x= extract ; c = compact ; v= Sí,no ;

Su principal utilidad es poder empaquetar un conjunto de ficheros en un único fichero con la 
extensión nombre_fichero.tar
Otro punto a tener en cuenta es que conserva los permisos de los ficheros exceptuando si la 
restauración la hace el root que tomará propiedad de esos ficheros.

LPI 1. ver. 1 Autor: Ruben Rubio Página 12 de 32


Curso Linux. LPI 1 2009
Crear un fichero:

# tar cf mt.tar mt → Especificamos el fichero destino del contenido de un directorio 
llamado mt.

Descomprimir:

# tar xvf  nombre.tar

gzip / gzip2

Permite comprimir un fichero. Hay que tener cuidado porque por defecto elimina el fichero 
original.

Comprimir:
# gzip nombre_a_comprimir → nos creará otro fichero con la el mismo nombre con 
extensión gz.

Para descomprimir:
# gunzip nom_fichero.gz

La versión bzip2 tiene la misma finalidad pero con una compresión mejora. Es utilizada en los 
ftp para reducir más el espacio ocupado.

Compilación de Kernel

Para utilizar el kernel serán necesarias ciertas librerías.

Librerías: make, blue­essential, libncurses5­deb.

Para empezar a la compilación se tiene que seguir los siguientes pasos:

Recopilar información del equipo con los comandos y ficheros:
# cat /proa/filesystem
# cat /proa/cpuinfo
# lspci  Información sobre los dispositivos pci
# lsusb  Información sobre los dispositivos usb

Ejecutar el comando principal para la creación del kernel a medida.
# /usr/src/Linux/ make menuconfig
* Símbolo para añadir al fichero nuevo de kernel el modulo
M  Añade el modulo en un fichero
#/usr/src/Linux/arch/x86/boot/ ls bzimage –l
# cp bzimage /boot/kernel/mi_primer_kernel

# ln –s /usr/src/Linux­2.6.28 /usr/src/Linux  Creamos un link 

/boot/grup/ vi menu.list ­­> fichero que gestiona la elección del kernel.
modificamos añadiendo el nuevo kernel.

LPI 1. ver. 1 Autor: Ruben Rubio Página 13 de 32


Curso Linux. LPI 1 2009
kernel /boot/nombre del kernel nuevo
initrd ­­> borramos lo que haya.

Directoris per fer backup

/etc , /home , fitxer de dpkg ­l , 

dpkg ­l ­­> Sirve para saber las aplicaciones instaladas.

Software instalado aptitue install openssh­server

# ssh root@192.168.18.110   ­­> conectar a otro equipo.

Comando w ­­> Para saber los usuarios conectados.

TTY terminal asignado  ­­> pts/4 ­­> Terminal virtual (Def. 256  tty)
who ­­> lo mismo pero menos información.
lastlog ­­> Cada usuario cuando ha sido la ultima vez que ha entrado.
last ­­> Lo mismo pero con los datos de un histórico.
user ­­> lo mismo en cutre.

Para transferir ficheros por red.

# scp nombre_fichero pue@192.168.19.110: /directorio/
# scp pue@192.168.19.110: /directorio/ nombre_fichero 
# scp ­r pue@192.168.19.110: /directorio/ nombre_fichero ­­> Recursivo.

Lanzar comandos sin entrar en ella.

#ssh pue@192,168,18,110 “df ­h”­­> Visualizamos en local un comando en remoto.

Creación de claves

# ssh­keygen ­t rsa ­b 4096 ­­> Creación de claves RSA
#ssh­keygen ­t rsa ­b 4096 ­­> crea clave rsa
cd .ssh/
ls ­l
id_rsa id_rsa.pub ; known_hosts

la clau es guarda a /home/pue/.ssh/id_rsa
cp id_rsa.pub authorized_keys
chmod 400 authorized_keys
ls ­la

cat /tmp/profe.pub >> authorized_keys ­­> añadimos la clave al fichero authorized_keys.

Software para hacer backup's rdif­backup

LPI 1. ver. 1 Autor: Ruben Rubio Página 14 de 32


Curso Linux. LPI 1 2009
****  Pedir libro curso de linux Editorial Anaya O Reilly.Schroder. ***

victor.diaz@pue.es Responsable del elearning del curso de linux.

Web de elearning: http://cisco.netacad.net

User: 6110074 pwd: 189356

Nuevo usuario: xrub1978­2 pwd: 1 letra may lo de siempre acabado en punto.

3/2/09

Software instalado:

Ethtool
nfs-user-server
bin9
hping3 --> Permite tirar paquetes a un determinado puerto.

Comado ip route

ip route | grep default | awk '{print $3}' --> Te dice salida a internet
1. ip route | awk '/^default / {print $3}'
ip route | sed “s/.*[awk '/^default / {print $3}'

nmap --> te dice que tienes conectividad

egrep --> Permite hacer búsquedas de dos palabras


egrep “(root|pue)” /etc/passwd

ifconfig
ethtool --> Tenemos link
ip route --> saber si tenemos ip
ip route --> saber si tenemos gateway
ping -c 3 --> comparar el 0% packet loss
ping -c 3 192.168. | grep -c “100% packet loss”
cat /etc/resolv.conf mirar si tenemos dns
grep ^nameserver /etc/resolv.conf | awk ' { print $2 }
host --> si no diu has address no funciona.
hping3 -c 3 -S -p 80 www.google.com 2

#ls /asd 1 >/tmp/sortida-mesclada 2>&1 --> Desviamos el canal de error


por el estandar, la pantalla.

#!/bin/bash
dev=”eth0”

tinc_interface=$(ifconfig $dev 2>&1 | grep -c “Device not found” )

if [ “$tinc_interface” -ne “0” ]; then


echo “No tinc tarja de xarxa -$dev- !!!”
fi

LPI 1. ver. 1 Autor: Ruben Rubio Página 15 de 32


Curso Linux. LPI 1 2009
tinc_interface=$(ethtool $dev 2>&1 | grep -c “Link detected: yes”)
if [ “$tinc_link” -eq “0” ] ; then
echo “No tinc link a -$dev-!!!”
exit;
tinc_ip=$(ip route | grep -c $device)
echo “No tinc cap IP a $device!!!”
exit
fi
tinc_gateway=$(ip route | grep “^default” | grep -c “$device”)

if [ “$tinc_ip” -eq “0” ]; then


echo “No tinc cap gateway a $device!!!”
exit
fi

if [“$(cat /etc/resolf.conf | grep “nameserver”) -eq “0” ] then


echo “No tinc cap dns !!!!”
exit
fi

if [“$(cat /etc/resolf.conf | grep “nameserver”) -eq “0” ] then


echo “No tinc cap dns !!!!”
exit
fi

if [ $(ping -c 3 192.168.18.201 | grep -c "100% packet loss") -eq “0” ] then


echo “No responde el dns”
exit
fi

device=”$1”
myip=$(ip route | awk '/' $device' / {print $9} | head -n1)
mynetwork=$(ip route | awk'/' $device' / {print $1} | head -n1)

for host in $(nmap -n -sP $mynetwork | awk '/appears to be up/ {print $2}
if [ $hping3

Comando
rpcinfo --> Permite ver si queremos compartir el servicio de nfs

modificar el fichero /etc/exports

ej.
/tmp (ro) 192,168,18,0/255,255.255.0 (rw)
/tmp 192,168,18,0/255,255.255.0 (rw) (ro) no_swatch (Para validar como
root en remoto).

/etc/init.d/nfs.user-server reload

# showmount –export --> Lo compartido


# showmount nuestra_ip --> Permite ver los que están conectado.

LPI 1. ver. 1 Autor: Ruben Rubio Página 16 de 32


Curso Linux. LPI 1 2009
Cultura de ficheros importantes

Cuando abrimos un fichero como el vim podemos activar la sintaxis con


sintax on

/etc/fstab --> Filesystem table

dumb --> dades volcades capa una partició. Opció a 1.


pass --> Chekear la partición y si ha de dejar pasar o no.

/etc/mtab --> Fichero que guarda la info que nos muestra al hacer un
mount.
El formato es practicamente igual que /etc/fstab

/etc/passwd: BBDD de usuarios. Format fw7.


usuario, password (x),Uid,GID group principal, datos usuarios, home
del usuario, shell del usuario

/etc/group--> Grupos del sistemas.


nombre del grupo, password (normalmente no se utiliza), GID,
usuarios que pertenecen al grupo.

/etc/shadow--> BBDD passwords


Nombre_usuario, cifrado con MD5, dia en que se cambio el
password,días cuando tiene que cambiar el password
!--> Desactivado. * --> No tiene.
Consultar libro.

/etc/shells--> Shell que admite el sistema

/etc/profile --> Script login per tots els usuaris. - default


Promtp.
if [ "$PS1" ]; then
if [ "$BASH" ]; then
PS1='\u@\h:\w\$ ' --> Usuari @ usuari. --> estudiar para certicación.
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi

umask 022 --> Asginación de permisos por defecto.

/etc/login.defs --> Settings per a fer login i/o per a crear usuaris.

/etc/motd --> Mensaje que sale al hacer un login Motive of the day

/etc/issue --> Muestra el mensaje en la tty.

/etc/issue.net --> Muestra el mensaje en la tty remotas.

LPI 1. ver. 1 Autor: Ruben Rubio Página 17 de 32


Curso Linux. LPI 1 2009
/etc/inittab --> Archivo de configuración de “init”.

/etc/securetty --> Máquinas habilitadas para hacer un tty. local


En ocasiones hay que habilitar las tty necesarias editando.

/etc/sysctl.conf --> Parámetros del kernel cargados al arranque del kernel.


Para saber las opciones consultar # sysctl -a

/etc/aliases --> A dónde van a parar las direcciones de correo. También es


posible enviarlo a uns script.
ej: pue | /mi/script/mail

/etc/host --> Base de datos de resolución de nombre

/etc/resolv.conf --> BBDD de DNS. Servidor DNS.


nameserver 192,168,0,18
search gnum.net --> Permite añadir a las consultas de dns.

/etc/nsswitch.conf --> Settings de resolución de DNS i principal librería C


Recomendación comentar el punto:
hosts: files mdns4_minimal [NOTFOUND=return] dns
mdns4

/etc/module --> modulos cargados en el arranque de la máquina (scripts


init).
Habitual ver modulos como VGA o Tarjeta de sonido.

/etc/inetd --> Servicios que queremos que se ejecuten bajo demanda.


Método utilizado cuando los equipos no tenían 4mb. Se utiliza también para
las peticiones tcp que las empalma con el demonio adecuado.
Recomentado comentar todo lo que necesitamos.

/etc/services --> Protocolos/ servicios TCP/IP que conoce nuestra máquina.

/etc/pam.d && /etc/pam.conf --> Sistema de autenticación tanto del sistema


como de otras aplicaicones para que compruebe en diferentes sistemas.
Pluggable authentication modules.

/boot/grub/menu.lst --> Configuración del menú de arrancada “Grub”

SSH

# ssh user@dirección_ip
# ssh -pnº_puerto user@dirección_ip
# ssh-keygen -t rsa -b 4096 --> Crear clave rsa
# ficheros generados id_rsa Clau privada
id_rsa.pub --> clau pública

scp /home/pue/.ssh/id_rsa.pub pue@192.168.18.160:tmp


Envíamos el fichero al destino.
Origen --> destino.

LPI 1. ver. 1 Autor: Ruben Rubio Página 18 de 32


Curso Linux. LPI 1 2009

Ordenador destino#cat /tmp/id_rsa.pub >> home/pue/.shh/authorized keys


Añadimos al fichero de claves la clave remota.
Permite conectarnos sin poner password al tener autorizada la rsa.

/etc/ssh/ssh_conf --> Ficheros de conf cliente


/etc/ssh/sshd_config --> Ficheros de conf servidor

Script

for host in $(nmap -n -sP 192.168.18.0/24 | grep -v "192.168.18.60" | awk


'/appears to be up/ {print $2}'); do cat /home/pue/.ssh/id_rsa.pub | ssh
pue@$host "cat >> /home/pue/.ssh/authorized_keys" ; done

Nos conectamos a las máquinas levantadas excepto la 60. Copiamos


nuestra rsa.pub y lo añadimos al fichero authorized_keysd

Salidas

0 – Estandar Pantalla
1 – Estandar de proceso
2- Estandar error.

Comando uniq --> Permite filtrar haciendo que la salida sea unica.
Comando sort --> Permite ordenador una salida.

# ls / && echo “hola” --> Si funciona escribe hola.


# ls / || echo “hola” --> Si no funciona escribe hola.

# ls / 1 >/tmp/salida.estandar --> envia el resultado de ls al fichero.


# ls / 1 >>/tmp/salida.estandar --> añade el resultado la ficchero.
# ls / 2 >/tmp/salida.estandar --> Muestra el error.

# find /etc/ 1>tmp/find.total 2>&1 --> Lo guarda en un fichero, y si da error


lo añade.

# export host=”172.16,27,3”; echo “servidor: $host$(ssh@pue$host


“df -h /” | awk '/\/dev/ {print $4'}')”

Instalación de un servidor apache

# dpkg -l | grep -i apache --> permite saber que software tenemos


instalado.
# aptitude install apache2

Directorio de apache /etc/apache2

Prefork --> Arranca apaches antes que se necesitan. Es utilizado


normalmente con php.

worker --> Arranca bajo demanda, normalmente utilizado para páginas


estáticas.

LPI 1. ver. 1 Autor: Ruben Rubio Página 19 de 32


Curso Linux. LPI 1 2009

Ficheros principales

apache2.conf --> Principal fichero de configuración


Timeout --> Configuración tiempo de espera. Normalmente 30
keepAlive -->
MaxkeepAliverequests --> máximo de archivos que se pueden pedir
un fichero.

IfModule mpm_prefork_module>
StartServers --> cuantos servidores debe tener arrancadas
MinSpareServers -->
MaxSpareServers --> Máximo de servidores arrancados.
MaxClients --> Máximo de clientes conectados.
MaxRequestsPerChild --> Fuerza procesos hijo después de un número
determinado de peticiones.

User www-data --> usuario que arranca el servicio.


Group www-data --> Grupo que arranca el usuario.

</Files><Files ~ "^\.ht"> --> Ficheros que empiezan por .ht no te


los puedes descargar
Order allow,deny
Deny from all
</Files>

HostnameLookups Off --> guarda las ip y no resuelve la resolución inversa.

Include /etc/apache2/mods-enabled/*.load --> Modulos adicionales.


Include /etc/apache2/mods-enabled/*.conf --> Modulos adicionales.
Modulos adicionales activados. Para añadir uno hay que añadir un
link.

Include /etc/apache2/ports.conf --> Puertos que escucha.

Include /etc/apache2/conf.d/ --> Suelen aparecer los software para apache


instalados. Ej. Mudel

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-


Agent}i\"" combined --> Formato del log, es el más utilizado.

ServerTokens Full --> respuesta que muestra el servidor. Cambiar a Prod. --


> Responde unicamente que es un apache.

ServerSignature On --> Recomendación poner a Off muestra menos


información.

#AddHandler cgi-script .cgi --> Descomentamos permitiremos ejecutar


ciertos scripts .cgi

Errores de respuesta.

# ErrorDocument 200 --> ok

LPI 1. ver. 1 Autor: Ruben Rubio Página 20 de 32


Curso Linux. LPI 1 2009
# ErrorDocument 302 --> Moved
# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var

Include /etc/apache2/sites-enabled/ --> Sitios habilitados en caso que sea un


servidor compartido. Temario de LPI2

/etc/apache2/Site-enable

000-default
NameVirtualHost * --> Permitidas todas las ips.

<VirtualHost *>
ServerAdmin webmaster@localhost
ServerName localhost --> Para que funcione localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None --> Cambiado a All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
#RedirectMatch ^/$ /apache2-default/ --> Comentado.
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ --> Alias utilizado ej. Mail


<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
21,1-8 Comienzo
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,


# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined


ServerSignature On

Alias /doc/ "/usr/share/doc/" --> Alias de documentación


<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow

LPI 1. ver. 1 Autor: Ruben Rubio Página 21 de 32


Curso Linux. LPI 1 2009
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
44,2 91%
</Virtualhost>

Para crear un un acceso con clave

Crear un directorio dentro /var/www/secret

Una opción sería crear un fichero llamado secret.html. Para acceder

Otra opción es crear un fichero llamado index.html


Crear un fichero dentro del directorio .htaccess

/var/www/ --> .htaccess

#Options -indexes --> Si comentamos podemos habilitar password por


directorio y usuario.
AuthType Basic
AuthName "Posa Password"
AuthUserFile /var/www/clau/.htpasswd
#AuthGroupFile /dev/null

require valid-user

# Para crear grupo

nombre_grupo: user1 user2 user3

Podemos mirar documentación en training.gnun.net carpeta LPI2

Configuración mysql

# aptitude install mysql-server php5-mysql libapache2-mod-php5

Creador de BBDD

/var/lib/mysql/mysql --> BBDD creadas

/etc/mysql/my.cnf --> Fichero de configuración.

/etc/mysql/debian.cnf --> Configuración para compiar a diferentes debian.

/etc/mysql/mysql -uroot

/etc/mysql/mysqladmin -uroot -p create pepita --> Crear BBDD


/etc/mysql/mysqladmin -uroot -p droop pepita --> Borrar
mysql

Descomprimir un fichero gz con tar

# tar zxvf /home/pue/Desktop/Descargas/wordpress-2.7.1.tar.gz

LPI 1. ver. 1 Autor: Ruben Rubio Página 22 de 32


Curso Linux. LPI 1 2009
Software gestor de contenidos para instalar jomla

3/3/09

1. Configurar apache escoltant només a 127,0,0,1,:30


verificar amb lsof -i -n
2. Configurar Squid per a que es pugui navegar des de localhost cap a
localhost.
3. Baixar transproxy i configurar-lo a escoltar al por 81 de la IP de xarxa
local i que per l'altra banda es connecti al Squid
4. Inserir regles de tallafocs per a redirigir el trpafic
1. iptables -t nat -A PREROUTING -p tcp -d 192.168.18.xx/32 –dport
80 -j REDIRECT –to-port 81
Verificamos lsof -i -n

Instalar DNS → aptitude install bind9


Creamos el directorio /etc/bind/db/pri
Por defecto no existe la carpeta db pero nosotros la crearemos.
Creamos el fichero por con el nombre db.nombrered.lan

; BIND data file for local loopback interface

$TTL 604800

@ IN SOA dns1.fernando.lan. fernando.localhost.net (


→ Dominio
2009022601 ; Serial
-->Cada vez hagamos un cambio hay que incrementarlo.
604800 ; Refresh
→ refresco una semana
86400 ; Retry
→ tiempo que tarda en refrescar. Un día
2419200 ; Expire
→ tiempo máximo en cache. Un mes.
604800 ) ; Negative Cache TTL

;
****** Registro SOA ******
@ IN NS dns1.fernando.lan.
--> host -t ns gentcat.cat

**** Importante poner el último punto.


@ IN A 127.0.0.1

LPI 1. ver. 1 Autor: Ruben Rubio Página 23 de 32


Curso Linux. LPI 1 2009
→ Es igual a rubrub.lan
www IN A 127.0.0.1

dns1 IN A 127.0.0.1
-->
dns2 IN A 127.0.0.1

@ IN MX 10 mail
→ Registro de servidores de mail
@ IN MX 20 mail.gnun.net → Mail Alternativo
mail IN CNAME www.terra.es → Alias

@ IN AAAA ::1
* → Manera de definir un DNS que no sabemos el nombre
lo resuelva hacía una ip.
→ IP versión 6
~

El importentes named.conf y named.conf.local

named.conf.options → Buscar en otros DNS (forwarders)


allow-recursion {
→ Permitirmos la consulta nuestra, si queremos más añadiremos la red por
ejemplo.
127.0.0.1;

};

allow-transfer {
→ Evita que se pueda hacer la transferencia de zona.
127.0.0.1;

};

Para mirar los logs:


tail /var/log/daemon.log

Ejemplo Esclavo

zone "fernando.lan" {

type master;

file "/etc/bind/db/pri/db.fernando.lan";

LPI 1. ver. 1 Autor: Ruben Rubio Página 24 de 32


Curso Linux. LPI 1 2009

allow-transfer { 192.168.18.0/24; };
Permito transfer a la ip.
};

zone "rubrub.lan" {

type slave;
→ configuración esclavo
file "/etc/bind/db/sec/db.rubrub.lan";

masters {

192.168.18.75;

};

};

Para comprobar la transferencia obtención de la zona lo haremos con:


host -t AXFR rubrub.lan 192.168.18.75

Asignamos el puerto 81 al squid editando el fichero.

5-3-09

Fichero /etc/inetd.conf

Ejemplo línea:

telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

Servicio telnet tipo strem protocolo tcp


Ususario. Telnet.d
ruta /usr/sbin.....

Instalamos el software ftp: ftpd

ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd

Servicio ftp
/usr/sbin/in.ftpd
-->Access control facility for internet services.

Tfpd → permite determinador quién se puede conectar a una máquina

fichero /etc/hosts.allow →Añadimos la línea 


ftp: ALL EXCEPT nombre_equipo

LPI 1. ver. 1 Autor: Ruben Rubio Página 25 de 32


Curso Linux. LPI 1 2009

Añadimos la línea →

Fichero /etc/host.deny -->Permite denegar equipos.


ftp: ALL EXCEPT 192.168.18.96
ALL: ALL EXCEPT 192.168.18.xx, 127.0.0.1

Instalamos el talk. Permite tener un chat.


# aptitude install talk talkd ytalk

No se utiliza mucho pero es parte de LPI1.


Para habilitar el servicio talk se tiene que ejecutar previamente el comando:
# mesg y
Podemos hablar como:

#write nombre_user número tty.


Para ver la tty → # w
# wall → Envío a todos los usuarios de la máquina.

Comandos para chat→ wall / write / talk / ytalk permite chat con
funcionalidades añadidas o envío por red.
# ytalk root@192.168.18xx

Hacemos entender que el sistema se encuentra en otra parte del


disco

ldd → Comando que permite saber saber las libreas que depende un
comando. Ej. # ldd bash

Creamos el directorio /home/pue/fakeroot


Creamos el directorio /home/pue/fakeroot/bin
Copiamos el contenido /bin/bash

Copiamos las librerías y el contenido de /

Un ejemplo de todo esto podría ser:

for lib in $(ldd bin/bash | grep '/lib' | sed "s/.*=>\ //" | sed "s/\ \ *//" |
cut -d" " -f1); do echo $lib ; mkdir -p ./`dirname $lib` ; cp $lib ./$lib ; done

sed → sed - stream editor for filtering and transforming text

dirname →  dirname ­ strip non­directory suffix from file name

cut → remove sections from each line of files

chroot /home/pue/fakeroot/ /bin/bash

cpio -o → Copia ficheros


cpio -i → Desempaqueta

LPI 1. ver. 1 Autor: Ruben Rubio Página 26 de 32


Curso Linux. LPI 1 2009
gzip -f → comprimir.

10-3-09

Securizar máquinas linux

Fichero /boot/grub/menu.lst
Descomentar ficheros de password.
Modificar

/etc/pam.d → Incrementar la seguridad de los passwords


Aptitude install libpam-cracklib → herramienta que comprueba la
dificultat del password.
Vi /etc/pam.d/command-password.
Descomentar Password required.
/etc/pam.d/su
Descomentar auth required → No permite entrar con su sino
perteneces al grupo pam_wheel.so
/etc/pam.d/ssh
/etc/pam.d/commond-password

/etc/login.def
Activamos todas las opciones que queramos para registrar los
logins.
Modificamos niveles de duración de passwords.
Modificamos umask 077 para que unicamente el usuario que
crea el fichero pueda verlo.

/etc/security/group.conf
Permisos por grupos para diferentes subsistemas.
/etc/security/limits.conf → permite definir por grupo o usuario pueden
consumir a nivel de recursos de equipo.

Para cambiar password → $ passwd

IPTABLES

# iptables – L -n -->ver tablas.


# iptables -t filter -A INPUT -s 1.2.3.4/32 -d 0/0 – j DROP
-t filter por defecto
-s 1.23.4/32 → Procedencio
-d 0/0 → Destino.
.j DROP → suprímelo

# iptables -A INPUT -s 192,168,18.0/24 -d 192.168.18.46 -p tcp –dport 80 -j


ACCEPT.

# iptables -A INPUT -i lo -j ACCEPT → paquetes desde la misma máquina


loopback
#iptables -A INPUT -m state –-state ESTABLSIHED, RELATED -j ACCEPT.

LPI 1. ver. 1 Autor: Ruben Rubio Página 27 de 32


Curso Linux. LPI 1 2009
POLICY ACCEPT
iptables -P INPUT DROP →cambiamos la política denegar todo excepto las
reglas configuradas.

# iptables -save> /root/elmeutallafocs.txt → creamos un fichero con las


reglas
# iptables -restore< /root/elmeutallafocs.txt → Restauramos un fichero con
las reglas
# iptables -F → Borramos todas las reglas pero no la política.
Para las políticas
#iptables -P INPUT ACCEPT
#iptables -P INPUT ACCEPT

Aplicación gráfica para firewall → fwbulder . Permite la creación del firewall


e incluso crear la configuración del firewall para otros sistemas como cisco.

Software CRM en Linux Vtiger o Virtio

Crontab

/etc/crontab

Programación de tareas, mirar ficheros de configuración cron.* como


cron.daily

Ver tareas programas por el usuario #crontab-l


/crontab -e → crear ficheros de programación de tareas
/var/spool/cron/contrabs/ → Se guardan las tareas de los usuarios.

12-3-09

Sistemas de impresión

Comandos básicos lpr/lp lpq lprm lpstat

lpr fichero_destino
lpq → Muestra la cola
lprm → Para borrar un trabajo
lpstat → Impresora

/etc/printcap → Fichero de configuración, por defecto no existe y existe un


“ejecutable” que lo genera.

Ejemplo fichero print cap

lp|lpmagic:\ → Nombre impresora


:sd=/var/spool/lpd/lp:\
:mx#0:\
:sh:\
:lp=/dev/lp0:\
:if=/usr/local/bin/magicfilter

LPI 1. ver. 1 Autor: Ruben Rubio Página 28 de 32


Curso Linux. LPI 1 2009
apsfilter → convertidor que permite la transformación de un fichero al
formato de impresión.

Para configurar una impresora con CUPS

httpp://localhost:631

Una vez creamos la impresora con el asistente podremos ir a:


# /etc/cups/lppasswd -a root -->Añadimos un password para poder
administranar las impresoras con Cups.

#/etc/cups/ppd → Directorio de definición de impresoras.


#/etc/init.d/syscups → Servicio cups

#lpq -P Nombre_impresora → Nos mostrará los trabajos en cola.


#lpc disable nombre_impresora -->Permite activar o desactivar impresoras.
#lprm -P nombre_impresora num_trabajo→ Borra los trabajos en cola.
#lprm -P printer1 3 → Nos borrará el trabajo nº 3.

Programa evince → #aptitude install evince


Más rápido que el Acrobat Reader, lector pdf

#gs → comando que permite la conversión de formato entre impresoras.


Ej: sh -x /usr/bin/ps2pdfwr -dCompatibilitylevel=1.4 /tmp/tiger.eps
/tmp/tiger.pdf

gs -dSAFER -dCompatibiltyLevel=1.4 -q -dNOPAUSE -dBATCH


-sDEVICE=pdfwrite -sOutputFile=/tmp/tiger.pdf -dSAFER -dCompatibility
...............

LOGS

/etc/syslog.conf → linux system logging utilities

Fichero de configuración de localización de logs.

#aptitude install syslog-ng -->Next generation loggin daemon

# logger -p warn -t impressora “això es una prova de log”


# grep “això” /var/log*

#egrep “(error|critt)” /var/log* → Permite buscar varios argumentos en un


conjunto de ficheros.

Ficheros /var/log

Acpid → ficheros de configuración de extracción inserción de hardware.


Xorg.0.log → ficheros de X windows. El 0 significa windows 0, se podría
tener varios.
Auth → login que han funcionados y cuales no.
wtm → Genera los últimos logins. Comando last.
Daemon.log → Encontramos los mensajes de error de bin.
Boot → no contiene nada.

LPI 1. ver. 1 Autor: Ruben Rubio Página 29 de 32


Curso Linux. LPI 1 2009
Dmesg → Se genera con los comandos del kernel.
Kenn.log.0 → Mensajes de kernel.
Lastlog →
syslog.0 → Va a parar practicamente todo de una debian.

Comandos de LPI de sendmail

#sendmail -bp → Muestra el estado de la cola.


#sendmail -q → Intenta purgar la cola.

Http://cr.yp.to → Bernstein's home → Creador de qmail.

# aptitude install postfix → sistemas de envíos de mails.

grep -i fail auth.log | awk '/pam_unix/ {print $1" "S2" "$3" "$15" " $12}' |
sed "s/\ [^\ ]\+=/\ /g" | sed "s/:\ /\ \" | sed "s/^/LOGIN ERROR: /"sed "s/\ [^\ ]\
+=/\ /g" | sed "s/:\ /\ \" | sed "s/^/LOGIN ERROR: /"

Programa Vimtutor → Permite ver en la documentación toda la


documentación sobre expresiones regurales del tipo: \ /^ .... etc

Expresión para el filtrado de una IP--> \([0-9]\{1,3}\.\)\{3}\([0-9]\{1,3}\)

Comando tac → Igual que el cat pero lee los ficheros al revés.

23/3/08

VPN

# aptitude install openvpn

Pasos:
# cd /etc/openvpn
mkdir keys
#cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 easy-rsa
# cd /etc/openvpn/easy-rsa/
vi vars
Modificamos:
export KEY_DIR="/etc/openvpn/keys"

export KEY_COUNTRY="ES"

export KEY_PROVINCE="BA"

export KEY_CITY="BA"

export KEY_ORG="BCN"

export KEY_EMAIL="bcn@loquesea.com"

#source vars

LPI 1. ver. 1 Autor: Ruben Rubio Página 30 de 32


Curso Linux. LPI 1 2009
./clean-all → unicamente la primera vez. En caso contrario borra toda las
keys del directorio /etc/openvpn/keys
./build-ca → enter ... Generamos certicado
./build-dh → enter... Generamos certificado
./build-key-server miserver → hasta final menos en el password
./build-key nombre_username

Fichero server.conf

Modificamos /etc/server.conf
ca /etc/openvpn/keys/ca.crt

cert /etc/openvpn/keys/servidoret.crt

key /etc/openvpn/keys/servidoret.key # This file should be kept


secret

dh /etc/openvpn/keys/dh1024.pem

server 10.1.0.0 255.255.255.0

status /var/log/openvpn-status.log

log /var/log/openvpn.log
→ descomentamos el “ ; “

Ficheros muestra de openvpn: cp /usr/share/doc/openvpn/examples/sample-


config/files

Fichero client.conf

Modificamos /etc/openvpn/client.conf
remote 192.168.18.111 1194

Para arrancar la vpn:


Cliente: #openvpn /ruta_fichero/client.conf
Servicio: #/etc/init.d/openvpn start

#echo “1” > /proc/sys/net/ipv4/ip_forward → ponemos un 1 en el fichero.


# ifconfig tun0 → vemos la configuración del tunerl
#iptables -t nat -A POSTROUTING -s 10.2.0.0/24 -j MASQUERADE
Asignamos el routing para pasar a la siguiente máquina.

LPI 1. ver. 1 Autor: Ruben Rubio Página 31 de 32


Curso Linux. LPI 1 2009

LPI 1. ver. 1 Autor: Ruben Rubio Página 32 de 32

Vous aimerez peut-être aussi