136

Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,
Page 2: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

1.1

1.1.1

1.1.2

1.1.3

1.1.4

1.1.5

1.2

1.3

1.3.1

1.3.2

1.3.3

1.3.4

1.3.5

1.3.6

1.3.7

1.3.8

1.3.9

1.4

1.4.1

1.4.2

1.4.3

1.4.4

1.4.5

1.4.6

1.4.7

1.4.8

1.5

1.5.1

1.5.2

TableofContentsTutorialesGNU/Linux

Licencia

Garantía

Agradecimientos

Sobreelautor

Convencionesdeestelibro

Prefacio

Usandolalíneadecomandos

TutorialaprendiendoausarlalíneadecomandosenGNU/Linux

TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux

TutorialusarfindparabuscararchivosodirectoriosenGNU/Linux

TutorialcomprimirarchivosydirectoriosenGNU/Linux

TutorialcrearenlacesaficherosydirectoriosenGNU/Linux

TutorialusargrepparabuscartextodentrodearchivosenGNU/Linux

Tutorialpararmomentáneamenteunprocesooaplicación

TutorialcerrandooreiniciandoGNU/Linux

TutorialcomodescargarprogramasoarchivosdeinternetconWgetenGNU/Linux

InstalaraplicacionesenGNU/Linux

TutorialcomoinstalarprogramasenGNU/Linux

TutorialcomoinstalarprogramasdesdeelcódigofuenteenGNU/Linux

TutorialinstalaryconfigurarGitenGNU/Linux

TutorialinstalarLXCenGNU/Linux

TutorialinstalarVagrantparausarambientesvirtualesenGNU/Linux

TutorialinstalarservidorLAMPenGNU/Linux

TutorialinstalarAtomemGNU/Linux

TutorialinstalarBracketsenGNU/Linuxparadesarrolloweb

UsaraplicacionesenGNU/Linux

TutorialbásicoVim

Tutorialconvertirpáginaswebapdf

2

Page 3: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

1.5.3

1.5.4

1.5.5

1.5.6

1.5.7

1.5.8

1.5.10 1.5.9

1.6

1.6.1

1.6.2

1.6.3

1.6.4

1.6.5

1.6.6

1.6.7

1.6.8

1.6.9

1.6.10

1.6.11

1.6.12

1.6.13

1.6.14

1.6.15

1.6.16

1.6.17

1.6.18

1.7

1.7.1

1.7.2

1.7.3

1.7.4

1.7.5

1.5.11

Tutorialinstalaryusaryoutube-dlparabajarmusica

TutorialcrearimágenesQRdepáginaswebenGNU/Linuxconqrencode

TutorialusarPngquantenLinux

CompresordeimágenesTrimage

TutorialextraerpáginasdearchivospdfconPDFTKenLinux

TutorialuniendoarchivospdfconPDFTKenLinux

TutorialabrirmúltiplesconsolasenunasolaventanaconTmuxenGNU/Linux

TutorialcompartirsesionesSSHconTmuxenGNU/Linux

TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux

AdministrarGNU/Linux

TutorialquéesrootycomousarloenGNU/Linux

TutorialcomofuncionaelprocesodeinicioenGNU/Linux

TutorialcomofuncionanlosnivelesdeejecuciónenGNU/Linux

TutorialgestionarprocesosenunsistemaoperativoGNU/Linux

TutorialverprogramasinstaladosenGNU/Linux

TutorialconfigurandounsistemaRAIDenGNU/Linux

TutorialcrearoeliminarparticionesenGNU/Linuxconfdisk

TutorialcrearoeliminarunaparticiónswapenGNU/Linux

TutorialformatearparticionesenGNU/Linux

TutorialmontarydesmontarunpendriveusbenGNU/Linux

TutorialMontarparticionesNTFSenGNU/LinuxUbuntu

TutorialmontarparticionesNFSenunaredGNU/Linux

TutorialconfigurarlaredenGNU/Linux

TutorialConfigurarImpresoraenunaredGNU/Linux

TutorialconfigurarusuariosenGNU/Linux

TutorialconfigurargruposdeusuariosenGNU/Linux

TutorialgestionarpermisosyatributosdearchivosenGNU/Linux

TutorialgestionaratributosextendidosdearchivosenGNU/Linux

ResolverproblemasenGNU/Linux

TutorialbuscandoinformacióndelsistemaoperativoenGNU/Linux

TutorialaprendiendoausarunprogramadechatparapedirayudaenLinux

TutorialbuscarayudaconlalíneadecomandosenLinux

TutorialeliminarkernelsantiguosenUbuntuoDebian

Tutorialresolver"GPGerror"usandoapt-getupdateenGNU/Linux

3

Page 4: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

1.7.6

1.7.7

1.7.8

1.7.9

1.7.10

1.7.11

1.8

1.8.1

1.8.2

1.8.3

1.8.5

1.8.6

1.8.7

1.8.8

1.8.4

1.9

1.9.1

1.9.2

1.9.3

1.9.4

1.9.5

1.10

1.11

TutorialresolverproblemadeconfiguracióndelidiomaenGNU/Linux

TutorialcerrarprogramasbloqueadosenGNU/Linux

TutorialintroducciónaloslogsdelsistemaGNU/Linux

TutorialusarloslogsdelsistemaGNU/Linuxparadescubrirerrores

TutorialresolverproblemasconsistemasdearchivosenGNU/Linux

Tutorialrecuperararchivoseinformacióndediscosduros,CD-ROMsyDVDsdañados

SeguridadenGNU/Linux

Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/Linux

Tutorialhacercopiasderespaldo(backup)dediscosrígidosenGNU/Linux

Tutorialconfiguraruncontafuegos(firewall)enGNU/Linux

Tutorialexaminarsinuestroordenadorestásiendoinvadidoatravésdeunrootkit

Tutorialdescubrirrootkits,backdoors,sniffersymalwareconRKHunterenGNU/Linux

TutorialmonitorearreddeInternetconntopenGNU/Linux

TutorialescaneodepuertosconnmapenGNU/Linux

TutorialusartcpdumpparaanalizarpaquetesderedenGNU/Linux

ProgramarenGNU/Linux

Comocrearunscriptenlalíneadecomando(shellscript)

Tutorialbásicocrontab

ComandosdeiniciodelsistemaoperativoGNU/Linux

VariablesdelsistemaGNU/Linux

TutorialAwkcomocomandoycomolenguajedeprogramación

Bibliografía

AnexoA:Recursos

4

Page 5: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialesGNU/Linux.

Hackingparaprincipiantes

Estelibroesunacoleccióndetutorialesconinstruccionesparalaadministracióndeusuarios,sistemasdearchivos,copiasdebackup,configuracióndehardware,instalacióndesoftware,monitorizaciónderedes,resolucióndeproblemas,seguridad,herramientasyprogramacióndescripts.LaideaesqueseaunafuentedeconsultaparausarcomoreferenciaalahoradeadministrartusistemaoperativoGNU/Linux.

TutorialesGNU/Linux

5

Page 6: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialesGNU/Linux

Hackingparaprincipiantes

MarceloHoracioFortinoPrimeraediciónBarcelona,EspañaSetiembre2014ISBN:978-84-606-7548-8

TutorialesGNU/Linux.HackingparaprincipiantesporMarceloHoracioFortino.

EstaobraestásujetaalalicenciaReconocimiento-CompartirIgual4.0InternacionaldeCreativeCommons.Paraverunacopiadeestalicencia,visitehttp://creativecommons.org/licenses/by-sa/4.0/.

Puedehallarpermisosmásalládelosconcedidosconestalicenciaenhttps://fortinux.com

Todaslasmarcassonpropiedaddesusrespectivosdueños.Linux®esunamarcaregistradadeLinusTorvalds.Ubuntu®esunamarcaregistradadeCanonicalLimited.Google®esunamarcaregistradadeGoogleInc.

Imagendelaportadabasadaen"Manworkingatcomputers"dedear_theophilus:https://openclipart.org/detail/193012/Man%20working%20at%20computers

[email protected]

Licencia

6

Page 7: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

GarantíaEstelibrosedistribuyeconlaesperanzadequeseaútil,peroSINNINGUNAGARANTÍA,inclusosinlagarantíaMERCANTILimplícitaosingarantizarlaCONVENIENCIAPARAUNPROPÓSITOPARTICULAR.Elautornoasumeningunaresponsabilidadsiellectorhaceunmalusodelmismo.

Garantía

7

Page 8: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

AgradecimientosAAdriana.

Atod@slosquemeenseñaron,principalmentemisamigosymifamilia.

AtodalacomunidaddeSoftwareLibre.

Agradecimientos

8

Page 9: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

SobreelautorMarceloHoracioFortinoesunprofesionaldelastecnologíasdelainformaciónconmásde17añosdeexperienciaenlaindustriayserviciosasociados.Trabajócomodiseñadoryprogramadorweb,administradordesistemas,formadorylíderdeproyectos.ActualmenteesconsultordeTI.

HacontribuídoenvariosproyectosdeSoftwareLibrecomoPHPCalendar,UbuntuManual,OpenOffice.OrgyTheDocumentFoundation.

DictóconferenciasytutorialesenvariosCongresosyeventosdeTIenArgentina,Brasil,EspañayUruguay.

En1999,escribióellibro"Internet:Unaaproximaciónasusaplicacionesyusos"editadoenformatoelectrónico.

EscribeademásartículosperiodísticosparapublicacionesgráficasySitiosweb,yeseditordehttp://www.fortinux.com.

Esmiembroactivodelassiguientesasociacionesprofesionales:ICASA,FreeSoftwareFoundation,Hispalinux,yfuepresidenteyfundadordeLibrePlanetBarcelonaydeProfesionalesAsociadosdelaWeb(PAW).

E-mail:[email protected]:@fortinuxGoogle+https://google.com/+marcelofortinoLinkedinhttp://es.linkedin.com/in/marcelofortinoBlog:http://www.fortinux.comGithubhttps://github.com/fortinuxSlideshare.nethttp://www.slideshare.net/fortinuxPlanetaLinuxhttp://planetalinux.org/es/

Sibuscaunformador,conferencistaoconsultorTICconconocimientosdesoftwarelibreydefuenteabiertalopuedecontactarporemail,twitterolinkedin.

Sobreelautor

9

Page 10: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

ConvencionesdeestelibroCuandoleasestelibro,verásquealgunaspalabrasestánrepresentadasconfuentesytiposdeletradiferentes.Porejemplo:

comando

LoscomandosenGNU/Linuxserepresentandeestamanera.Esteestiloindicaquepuedesescribirlapalabraofraseenlalíneadecomandosypulsarlateclaintroparainvocarelcomando.

Ctrl+Shift+F3

Estaesunacombinacióndeteclasquetienesqueapretarsimultáneamente.Lasteclassiempreserepresentanencursiva.

-.-

Parapoderrealizarlostutorialessimpredeberástenerunterminalamano.Paraabrirloen:

Debian/Ubuntu:ApretarlasteclasCONTROL+ALT+T.UbuntuUnity:ApretarlateclaSUPER(sueletenereliconodeWindows®diseñado)yelnúmero2.Gnome:IralMenúAplicaciones/Accesorios/Terminal.Xfce:IralMenúAplicaciones/Accesorios/Terminal.Kde:ClicenKickOff/Aplicaciones/Sistema/Terminal.

Convencionesdeestelibro

10

Page 11: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

PrefacioBienvenid@saTutorialesGNU/Linux,hackingparaprincipiantes;unacoleccióndetutorialesqueresuelvendudasyproblemastécnicosbásicosrelacionadosconelsoftwareyelhardwareenunsistemaoperativoGNU/Linux.UnlibroidealparausarcomoreferenciaalahoradeadministrartusistemaoperativoGNU/Linux.

Lamayoríadelasdefinicionesde'hacking'enel'jargonfile'delhackerEricS.Raaymond¹estánbasadasprincipalmente"enlaaficiónalotécnicoyenelplacerderesolverproblemassobrepasandoloslímites".

Laideadeestelibroescapturaresaesenciamediantesimplesyprácticostutorialesparaquepuedascomenzarahackeartuordenadorutilizandolalíneadecomandos.

Aquíencontrarásinstruccionesparalaadministracióndeusuarios,sistemasdearchivos,copiasdebackup,configuracióndehardware,instalacióndesoftware,monitorizaciónderedes,resolucióndeproblemas,seguridad,herramientasyunaintroducciónalaprogramacióndescripts.

LostutorialesestánbasadosenlasdistribucionesGNU/LinuxDebian7yUbuntu14.04porlocualparaotrasversionesy/osistemasoperativospuedesernecesariorealizaralgunoscambios.

¹Cómoconvertirseenhackerhttp://www.catb.org/~esr/faqs/hacker-howto.html

Prefacio

11

Page 12: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Usandolalíneadecomandos

Lainterfazdeusuario,comunmentellamadalíneadecomandos(commandlineinterfase-CLIeninglés)esunmétodoquenospermitedarinstruccionesalosprogramasutilizandoórdenesdetexto.

Conellapodemoscrearusuários,editarficheros,automatizartareasmediantearchivosbatchyadministrarnuestrosistemaoperativoGNU/Linux.

TutorialaprendiendoausarlalíneadecomandosenGNU/Linux

TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux

TutorialusarfindparabuscarficherosodirectoriosenGNU/Linux

TutorialcomprimirficherosydirectoriosenGNU/Linux

TutorialcrearenlacesaficherosydirectoriosenGNU/Linux

TutorialusargrepparabuscartextodentrodeficherosenGNU/Linux

Tutorialpararmomentáneamenteunprocesooaplicación

TutorialcerrandooreiniciandoGNU/Linux

TutorialcomodescargarprogramasoficherosdeinternetconWgetenGNU/Linux

Palabrasclaves:interfazdeusuario,líneadecomandos,CLI,commandline,shell,terminal,editarficheros,comandofind,comprimirficheros,gzip,tar,enlaces,links,Wget,descargarprogramas,GNU,Linux.

Usandolalíneadecomandos

12

Page 13: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Enelprincipio...fuelalíneadecomandos.NealStephenson

Usandolalíneadecomandos

13

Page 14: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialaprendiendoausarlalíneadecomandosenGNU/LinuxEnestetutorialaprenderemosdesde0autilizarlalíneadecomandoenGNU/Linux

Palabrasclaves:líneadecomandos,commandline,shell,bash,date,pwd,cd,ls,less,cat.

Abrimosunterminalyescribimosnuestroprimercomando:

date

Parasaberenquedirectorioestamos:

pwd

Paracambiardedirectorioutilizamoselcomandocd.Porejemploescribiendoelnombredeldirectorio:

cd/usr

Paracambiaraldirectoriosuperiorleagregamosunespacioydospuntosseguidos:

cd..

Paracambiaraldirectorioprincipal(home):

cd

Paraverunlistadodelcontenidodeldirectorioactivo:

ls

LoscomandosenLinuxsuelenteneropciones(quepodemosagrupar,porej.-ld)yargumentos.Enestecaso,paraverlosdetallesdeldirectorio/usrutilizamoslasopciones-l(descripciónlarga)yd(directorio):

ls-ld/usr

TutorialaprendiendoausarlalíneadecomandosenGNU/Linux

14

Page 15: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Encambiosiqueremosverelcontenido:

ls-l/usr

Paraverloquehaydentrodeunarchivopodemosusarelcomandoless:

lessarchivo.txt

Salimosapretandolaletraqdelteclado.

Otambiénelcomandocat:

catarchivo.txt

Uncompletolistadodecomandolopodeisencontraren:http://cb.vu/unixtoolbox.xhtml(idiomainglés)

TutorialaprendiendoausarlalíneadecomandosenGNU/Linux

15

Page 16: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/LinuxEnestetutorialvamosautilizarlalíneadecomandoenGNU/Linuxparatrabajarconficherosydirectorios,aprendiendoacopiar,mover,borraryeditarlosmismos.

Palabrasclaves:líneadecomandos,commandline,mkdir,cp,mv,rm,cat.

Comandos:

mkdir–Creadirectorioscp–Copiaarchivosydirectorios.mv–Mueve/renombraarchivosydirectorios.rm–Borraarchivosydirectorios.

Comenzamos:

Creamosundirectorioquellamaremos“pruebas”:

mkdirpruebas

Ahoranosmovemosaldirectoriocreado:

cdpruebas

Creamosunarchivollamadoarchivo-de-pruebas.txt(salimosconctrl+D):

cat>archivo-de-pruebas.txt

Creamosotrodirectoriollamadopruebas2:

mkdirpruebas2

Copiamoselcparchivo-de-pruebas.txtaldirectoriopruebas2:

cparchivo-de-pruebas.txtpruebas2

Cambiamosaldirectoriopruebas2ycomprobamossielarchivohasidocopiadocorrectamente:

TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux

16

Page 17: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

cdpruebas2ls

Volvemosaldirectorio“pruebas”yallícopiamoseldirectorio“pruebas2″como“pruebas3″(-rsirveparacopiarloquehaydentrodeesedirectorio):

cd..cp-rpruebas2pruebas3

Usamosmvparacambiarelnombrealarchivo-de-pruebas.txt:

mvarchivo-de-pruebas.txtarchivo-de-pruebas2.txt

Usamosmvparamoverelarchivo-de-pruebas2.txtaldirectoriopruebas2:

mvarchivo-de-pruebas2.txtpruebas2

Vamosaldirectorio“pruebas2″yusamoselcomandormparaborrar“archivo-de-pruebas2″(-isolicitaunaconfirmaciónantesdehacerlo,conyaceptamos):

cdpruebas2rm-iarchivo-de-pruebas2.txt

rm:borrararchivocomumvacio“archivo-de-pruebas2.txt”?

Siqueremosborrarundirectorioencambio,tenemosqueusarlaopción-r(confirmarsiemprecony):

rm-irpruebas3

rm-ir../pruebas3rm:entraraldirectorio“../pruebas3”?

rm:borrararchivocomumvacio“../pruebas3/archivo-de-pruebas.txt”?

rm:borrardirectorio“../pruebas3”?

Nota:laopción-inoesobligatoriaperoavecesesconvenienteutilizarla,especialmenteconelcomandorm

Nota2:LoscomandosenLinuxsuelenteneropciones(quepodemosagrupar:-lt)yargumentos.Comoejemplo,paraverlosdetallesdeldirectorio/pruebasutilizamoslasopciones-l(descripciónlarga)yt(time:ordenadoporúltimosmodificados):

TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux

17

Page 18: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

ls-lt/pruebas

TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux

18

Page 19: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialusarfindparabuscararchivosodirectoriosenGNU/LinuxEnestetutorialveremoscómopodemosbuscararchivosodirectoriosconelcomandofindenGNU/Linux

Palabrasclaves:líneadecomandos,commandline,find,buscararchivos,gnu,linux.

Parabuscareneldirectorioroot(/)archivos(-type)conmásde9megas(-size):

find/-typef-size+9M

Parabuscartodoslosarchivosconextensión.txt(-iname)abiertos(-atime)enlosúltimosdosdías:

find/-iname'*.txt'-atime-2

Parabuscartodoslosarchivosmodificadosocreados(-mtime)enlosúltimosdosdías:

find/-typef-mtime-2

Parabuscararchivosconpermisos(-perm)deescritura,lecturayejecución:

find/-typef-perm0777

Parabuscarunarchivodenombretexto.txteneldirectorioactivoyunnivelmásabajo(subdirectorio):

find-maxdepth2-nametexto.txt

Másejemplosen:http://blog.desdelinux.net/con-el-terminal-ejemplos-con-el-comando-find/

TutorialusarfindparabuscararchivosodirectoriosenGNU/Linux

19

Page 20: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcomprimirarchivosydirectoriosenGNU/LinuxEnestetutorialveremoscomopodemoscomprimirarchivosydirectoriosenGNU/Linuxdesdelalíneadecomandos.

Palabrasclaves:líneadecomandos,commandline,comprimir,gzip,bzip2,xz,tar.

Paracomprimirunarchivoodirectoriousaremoselcomandotarjuntoconunaherramientadecompresióntipogzip(lamásantigua),bzip2(probablementelamásusada)yxz(lamásnuevaygeneralmentecommejorratiodecompresión).

Comenzamoscomprimiendocongzip:Paraellovamosaldirectoriodondeestánlosarchivosquequeremoscomprimircongzipyescribimos:

tarczfarchivo-comprimido.tar.gznombre-del-archivo1nombre-del-archivo2

Siqueremoscomprimirconbzip2:

tarcjfarchivo-comprimido.tar.bz2nombre-del-archivo1nombre-del-archivo2

Ysiqueremoscomprimirconxz:

tarcJfarchivo-comprimido.tar.xznombre-del-archivo1nombre-del-archivo2

Siqueremoscomprimirtodoundirectorio:

tarczfarchivo-comprimido.tar.gznombre-del-directorio

Paralistarelcontenidodeunarchivotar:

tartvfarchivo-comprimido.tar.gz

Paradescomprimirunarchivotar:

tar-xvfarchivo-comprimido.tar.gz

Siqueremosdescomprimirelarchivotarenotrodirectorio:

TutorialcomprimirarchivosydirectoriosenGNU/Linux

20

Page 21: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

tar-xvfarchivo-comprimido.tar.gz-C/nombre-del-directorio/

Paracomprimirunarchivogzcongzip:

gzip-9nombre-del-archivo1

Paradescomprimirunarchivogzcongzip:

gzip-darchivo-comprimido.gz

Unapáginadeayuda:http://linuxzone.es/metodos-de-compresion-y-descompresion-en-linux/

TutorialcomprimirarchivosydirectoriosenGNU/Linux

21

Page 22: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcrearenlacesaficherosydirectoriosenGNU/LinuxEnestetutorialaprenderemosautilizarlalíneadecomandoenGNU/Linuxparacrearenlacessimbólicosaficherosydirectorios.

Palabrasclaves:líneadecomandos,commandline,ln,enlaces,links.

Elcomandoln-screaenlacessimbólicosaficherosydirectorios.

Comenzamoscreandoundirectorioquellamaremos“pruebas”:

mkdirpruebas

Ahoranosmovemosaldirectoriocreado:

cdpruebas

Creamosunarchivollamadoarchivo-de-pruebas.txt(salimosconctrl+D):

cat>archivo-de-pruebas.txt

Creamosotrodirectoriollamadopruebas2:

mkdirpruebas2

Creamosunenlacealdirectoriopruebas2:

ln-spruebas2pruebas2enlace

Locomprobamosviendoenlaúltimalíneaelenlaceanuestrodirectorio:

ls-l

total4

TutorialcrearenlacesaficherosydirectoriosenGNU/Linux

22

Page 23: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

-rw-rw-r--1usuariousuario0Nov612:08archivo-de-pruebas.txtdrwxrwxr-x2usuariousuario4096Nov611:09pruebas2lrwxrwxrwx1usuariousuario8Nov612:17pruebas2enlace->pruebas2

TutorialcrearenlacesaficherosydirectoriosenGNU/Linux

23

Page 24: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialusargrepparabuscartextodentrodearchivosenGNU/LinuxGrepesuncomandomuyútilquepermitebuscartexto(unaovariaspalabras)dentrodeunoomásarchivos.

Palabrasclaves:líneadecomandos,commandline,grep,buscartexto,gnu,linux.

Porejemplo,buscamoslapalabra"texto"dentrodetodoslosarchivosdetexto(.txt)quetengamoseneldirectorio"home":

grep"texto"/home/*.txt

Siqueremosbuscarenesedirectorioyenlosqueestándentrodeél:

grep-r"texto"/home/*.txt

Buscarenesedirectorio,enlosqueestándentrodeélyencualquiertipodearchivo:

grep-r"texto"/home/

Buscarlapalabra"texto"dentrodeunarchivoignorandodistinciónentremayúsculasyminúsculas:

grep-i"texto"nombre-del-archivo

Buscarcomentariosdentrodeunarchivo:

grep^#nombre-del-archivo

MásejemplosenlaWikipedia:https://es.wikipedia.org/wiki/Grep

DocumentaciónoficialGNU:http://www.gnu.org/software/grep/manual/grep.html(idiomainglés).

TutorialusargrepparabuscartextodentrodearchivosenGNU/Linux

24

Page 25: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialusargrepparabuscartextodentrodearchivosenGNU/Linux

25

Page 26: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialpararmomentáneamenteunprocesooaplicaciónEnestetutorialveremoscomopararenGNU/Linuxlaejecucióndeumprocesoycomoretornaralmismo

Palabrasclaves:líneadecomandos,commandline,jobs,fg,PID,bg,gnu,linux.

Parapararunprocesobastapresionarlasteclasctrl+z.Mientraseseprogramaestáparadoenlamemorianosotrospodemosusarotroscomandosoprogramas.ParapoderejecutarlonuevamenteusaremoselcomandojobsparasaberelnúmeroPIDdelmismo:

jobs

Elcomandojobsmuestralosprocesosqueestánparadosorodandoensegundoplano.fgencambioseráelcomandoutilizadoparatraerloalprimerplanonuevamente,juntoconelnúmerodePID:

fg[número]

SifgesusadosinelnúmeroPIDtraeráelúltimoprogramainterrumpido.

bgporotraparte,lepermiteaunprogramaqueestárodandoenprimerplanooparadopasararodarensegundoplano.Primerointerrumpimossuejecuciónconctrl+z,yluegousamoselcomandobgparainiciarlaejecuciónensegundoplano.

bg[número]

Tutorialpararmomentáneamenteunprocesooaplicación

26

Page 27: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcerrandooreiniciandoGNU/LinuxEnestetutorialveremoscómopodemoscerraroreiniciarelsistemaoperativoGNU/Linuxdesdelalíneadecomandos

Palabrasclaves:líneadecomandos,commandline,cerrar,reiniciar,gnu,linux,shutdown.

ParareiniciarGNU/Linuxabrimosunterminalyescribimos:

sudoshutdown-rnow

Nospedirálacontraseñayluegoiniciaráelprocesoparareiniciar.

Paracarrarelsistemaoperativoencambioes-h(halteninglés):

sudoshutdown-hnow

Siqueremoscerrarloaunahoraespecífica,porejemploalas10am:

sudoshutdown-h10:00

Siporalgúnmotivoelsistemasehabloqueado,podemoscerrarlodesdeeltecladomanteniendoapretadalateclaalt,yapretandolassiguentesteclasenestasecuencia:PrintScreen+r+e+i+s+u+b

Másinformaciónen:http://es.wikipedia.org/wiki/REInicia_SUBnormal

TutorialcerrandooreiniciandoGNU/Linux

27

Page 28: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcomodescargarprogramasoarchivosdeinternetconWgetenGNU/LinuxWgetesunaherramientadelíneadecomandosmuyútilalahoradedescargarprogramasoarchivosdeInternet.Vamosavercómofuncionaconejemplos.

Palabrasclaves:Wget,descargarprogramas,líneadecomandos.

Paradescargarlaimagen.isodeUbuntu14.04abrimosunterminalyescribimos:

wgethttp://releases.ubuntu.com/14.04/ubuntu-14.04-desktop-amd64.iso

Encambiosiqueremosguardarlaimagen.isoconotronombre:

wget-Oubuntu_amd64.isohttp://releases.ubuntu.com/14.04/ubuntu-14.04-desktop-amd64.iso

Parareiniciarunadescargainterrumpida:

wget-cubuntu_amd64.isohttp://releases.ubuntu.com/14.04/ubuntu-14.04-desktop-amd64.iso

Parapasarasegundoplanoladescargayseguirtrabajandoenesaterminal:

wget-bubuntu_amd64.isohttp://releases.ubuntu.com/14.04/ubuntu-14.04-desktop-amd64.iso

Másinformaciónen:http://manpages.ubuntu.com/manpages/trusty/man1/wget.1.html(idiomainglés).

TutorialcomodescargarprogramasoarchivosdeinternetconWgetenGNU/Linux

28

Page 29: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

InstalandoaplicacionesenGNU/Linux

InstalaraplicacionesenGNU/Linuxsueleserbiensimple.Enestecapítuloveremosunaintroducciónalainstalacióndeprogramas;yluegocomoinstalarherramientasdeprogramaciónyadministracióndesistemas.

TutorialcomoinstalarprogramasenGNU/Linux

TutorialcomoinstalarprogramasdesdeelcódigofuenteenGNU/Linux

TutorialinstalaryconfigurarGitenGNU/Linux

TutorialinstalarLXCenGNU/Linux

TutorialinstalarVagrantparausarambientesvirtualesenGNU/Linux

TutorialinstalarservidorLAMPenGNU/Linux

TutorialinstalarAtomemGNU/Linux

TutorialinstalarBracketsenGNU/Linuxparadesarrolloweb

Palabrasclaves:apt-get,ppa,.deb,repositorio,códigofuente,instalar.tar.gz,desinstalar,uninstall,make,install,git,cvs,lxc,lxc-containers,vagrant,ambientesvirtuales,tasksel,meta-paquetes,LAMP,servidor,atom,build-essential,git,curl,node,nodejs,Brackets,editordetextos,HTML,CSS,javascript,desarrolloweb.

InstalaraplicacionesenGNU/Linux

29

Page 30: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcomoinstalarprogramasenGNU/LinuxEnestetutorialveremoscomopodemosinstalarprogramasenGNU/Linux

Palabrasclaves:instalar,desinstalar,install,uninstall,apt-get,ppa,.deb,repositorio,sources.list.

Lamayoríadelasveces,losprogramasquequeremosinstalarseencuentranenlosrepositoriosdeladistribuciónGNU/Linuxqueestamosusando.Esimportante,siempreantesdeinstalarlos,actualizarlalistadeprogramasdelosrepositoriosabriendounterminalyescribiendo:

sudoapt-getupdate

Paraactualizarlosprogramasinstalados:

sudoapt-getupgrade

Parainstalarunprogramaescribimos:

sudoapt-getinstallnombre_del_programa

Paraejecutarlounavezinstalado,escribimosenlalíneadecomando:

nombre_del_programa

SielprogramanoestáenlosrepositoriosyesunPPA(personalpackagearchive),primerotenemosqueagregarlafuentedelarchivoanuestralistadeprogramas:

sudo-add-apt-repositoryppa:programador/nombre_del_programa_ppa

Luegoactualizamoslalistayloinstalamos:

sudoapt-getupdate

sudoapt-getinstallnombre_del_programa_ppa

TutorialcomoinstalarprogramasenGNU/Linux

30

Page 31: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Paraeditarlalistadeprogramasdirectamente:

sudovim/etc/apt/sources.list

Paradesinstalarunprograma:

sudoapt-getremovenombre_del_programa

Pararepararunprograma:

sudodpkg-reconfigurenombre_del_programa

Parabuscarsiunprogramaestáenlalistadeprogramas:

apt-cachesearchnombre_del_programa

ParainstalarunprogramadeDebian(laextensióndelarchivoes.deb):

sudodpkg-inombre_del_programa.deb

Paraeliminarlo:

sudodpkg-rnombre_del_programa.deb

Másinformaciónen:http://www.ubuntu-guia.com/2014/04/software-y-actualizaciones-en-ubuntu.html#

TutorialcomoinstalarprogramasenGNU/Linux

31

Page 32: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcomoinstalarprogramasdesdeelcódigofuenteenGNU/LinuxSibienlamayoríadelasvecesquequeremosinstalarunprogramaloencontramosenlosrepositoriosdeladistribuciónGNU/Linuxqueestamosusando,sepuededarelcasodetenerqueinstalarloconelcódigofuentedelmismo.EnestetutorialveremoscómoinstalarycompilarprogramasenGNU/Linux

Palabrasclaves:códigofuente,instalar.tar.gz,make,install.

PrimerovamosainstalarlasherramientasdedesarrollodeGNU/Linuxabriendounterminalyescribiendo:

sudoapt-getinstallbuild-essentiallinux-headers-$(uname-r)

LuegodescargamosdeInternetelarchivoquequeremosinstalaryloextraemosescribiendo:

tarxvfarchivo_fuente.tar.gz

Ahoravamosaldirectorioquesehacreadoconlosarchivosdelprograma:

cd/directorio_archivo_fuente

Configuramoselprograma:

./configure

Loconstruimos:

make

Finalmenteloinstalamos:

sudomakeinstall

Importante:Sitenemosunerrorconlospermisosdearchivo,lopodemossolucionarcon:

TutorialcomoinstalarprogramasdesdeelcódigofuenteenGNU/Linux

32

Page 33: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

sudochmod+xconfigure

Másinformaciónen:http://ubuntuguide.org/wiki/Ubuntu_Trusty_Packages_and_Repositories(idiomainglés)

TutorialcomoinstalarprogramasdesdeelcódigofuenteenGNU/Linux

33

Page 34: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialinstalaryconfigurarGitenGNU/LinuxEnestetutorialveremoscómoinstalaryconfigurarGit,unsistemadecontroldeversionesdistribuido(CVS),creadoporLinusTorvaldsparaeldesarrollodelkernelLinux.

Palabrasclaves:Git,CVS.

Primeroabrimosunterminalyactualizamoslalistadepaquetes:

sudoapt-getupdatesudoapt-getupgrade

AhorainstalamosGit:

sudoapt-getinstallgit

Configuramosnuestronombredeusuario:

gitconfig--globaluser.name"usuario"

Configuramosnuestradireccióndee-mail:

gitconfig--globaluser.email"[email protected]"

CreamosunallaveSSH:

ssh-keygen-trsa-C"[email protected]"

CopiamoslaclaveSSHennuestracuentaenGithttps://github.com/settings/ssh:

cat~/.ssh/id_rsa.pub

Controlamossiestacorrecta:

[email protected]

TutorialinstalaryconfigurarGitenGNU/Linux

34

Page 35: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

RecibiremosunmensajediciendoqueautenticamosnuestracuentaperoqueGitnoproveeaccesoshell.

UnsencillotutorialparasabercomousarGitloencontrareisen:https://github.com/fortinux/ejemplos-git

Másinformaciónen:https://help.ubuntu.com/lts/serverguide/git.html(idiomainglés)

TutorialinstalaryconfigurarGitenGNU/Linux

35

Page 36: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialinstalarLXCenGNU/LinuxElobjetivodeLXC(LinuxContainers)escrearunambientelomáspróximoposibleaunainstalaciónestándardeGNU/Linuxperosinprecisarunkernelseparado.

Palabrasclaves:lxc,lxc-containers.

Primeroinstalamoslxc:

sudoapt-getinstalllxc

Confirmamossielkernelsoportalxc-containers:

lxc-checkconfig

Creamoselprimercontainer:

sudolxc-create-ncontainer-test-tubuntu

Elusuáriopredeterminadoes"ubuntu"conlaclave"ubuntu"yparaserrootdentrodelcontainerusamossudo.

Elcontainerestáalojadoen/var/lib/lxc/ysusistemaraizestáen/var/lib/lxc//rootfs.

ParaverunalistadeLXCcontainersennuestrosistema:

sudolxc-ls--fancy

Parainiciaruncontainer:

lxc-start-ntest-container-d

Paraloguearseenelcontainer:

lxc-console-ntest-container

Unavezdentro,siqueremossalirdelcontainerescribimos:

sudopoweroff

TutorialinstalarLXCenGNU/Linux

36

Page 37: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Parapararelcontainerdesdefueradelmismo:

lxc-stop-ntest-container

SiqueremosentrarporSSHalcontainerprimeroaveriguamossuIP:

sudolcx-info-ntest-container

yluegoentramoscon:

sshubuntu@<númerodelaIP>

Paraeliminarelcontainer:

lxc-destroy-ntest-container

Paraqueelcontainerseinicieautomáticamentepodemoshacerunenlacesimbólico:

ln-s/var/lib/lxc/test-container/config/etc/lxc/auto/test-container.conf

Másinformaciónen:https://linuxcontainers.org/(idiomainglés)

TutorialinstalarLXCenGNU/Linux

37

Page 38: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialinstalarVagrantparausarambientesvirtualesenGNU/LinuxEnestetutorialveremoscomoinstalaryusarVagrant,unprogramaquenospermiteconfiguraryusarambientesvirtuales.

Palabrasclaves:ambientevirtual,Vagrant,Virtualbox,máquinavirtual,virtualmachine.

ParapoderusarVagrantprimeramentetendremosqueinstalarVirtualboxoVMware.Enestecasoinstalaremoselprimero:

sudoapt-getupdate

sudoapt-getinstallvirtualboxdkms

AhorainstalamosVagrant:

sudoapt-get-yinstallvagrant

DescargamoslossistemasoperativosUbuntu12.04:

vagrantboxaddprecise32http://files.vagrantup.com/precise32.box

YUbuntu14.04:

vagrantboxaddubuntu/trusty64https://vagrantcloud.com/ubuntu/boxes/trusty64

LuegoqueVagrantestáinstaladoyyatenemosennuestroordenadorlascajas(boxes),vamosacrearnuestraprimeramáquinavirtualUbuntu14.04.Primerocreamosundirectorioparaellaynosmovemosallí:

mkdirvagrant-ubuntu

cdvagrant-ubuntu

Creamoselarchivodeconfiguracióndevagrant:

vagrantinit

TutorialinstalarVagrantparausarambientesvirtualesenGNU/Linux

38

Page 39: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Editamoslalíneaconfig.vm.box="base"porconfig.vm.box="ubuntu/trusty64"deesearchivo,denominadoVagrantfileparaqueVagrantbusqueelboxdeUbuntu14.04quedescargamosanteriormente:

sudovimVagrantfile

Ahorainiciamoslamáquinavirtual:

vagrantup

Ynosconectamosaellaporssh:

vagrantssh

Parasalir:

exit

Paraapagarla:

vagranthalt

Paraeliminarlamáquinavirtual:

vagrantdestroy

Másinformaciónen:https://www.vagrantup.com/(idiomainglés).UnlistadodeVagrantbooxes:https://vagrantcloud.com/boxes/search

TutorialinstalarVagrantparausarambientesvirtualesenGNU/Linux

39

Page 40: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialinstalarservidorLAMPenGNU/LinuxEnestetutorialveremoscomopodemosusarTaskselparainstalarApacheserver,MySQLePHPenGNU/LinuxUbuntuoDebian

Palabrasclaves:tasksel,meta-paquetes,LAMP,servidor,server.

Taskselesunaherramientaqueinstalavariasaplicacionesjuntas,similaralosmeta-paquetes.

Abrimosunterminalyescribimos:

sudoapt-getinstalltasksel

Ejecutamostasksel:

sudotasksel

EnlaventanaseleccionamosLAMPserverutilizandolabarraespaciadorayaceptamos.CuandocomienzeainstalarMySQLpediráunaclave,inventamosunaylaintroducimos.

Unavezfinalizadalainstalación,abrimoselnavegadoryescribimoshttp://127.0.0.1óhttp://localhost.Apareceráelmensaje"itworks"delservidorApache.

TutorialinstalarservidorLAMPenGNU/Linux

40

Page 41: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialinstalarAtomemGNU/LinuxEnestetutorialveremoscómoinstalarAtomenGNU/Linux.

Palabrasclaves:atom,editordetexto,build-essential,git,curl,node,nodejs.

Atomeseleditordetexto"hackeable"deGitHub,totalmentebasadoentecnologíasweb.

Parapoderinstalarlocomenzamosconlasdependenciasbásicas:

sudoapt-getupdatesudoapt-getupgradesudoapt-getinstallbuild-essentialgitlibgnome-keyring-devfakeroot

Tambiéninstalaremosnode.jsyaqueAtomdependedeesteentornodeprogramaciónenjavascript:

curl-sLhttps://deb.nodesource.com/setup|sudobash-sudoapt-getinstall-ynodejs

ParasaberlaversióndeNode.js:

node-v

Node.jsinstalaránpmautomáticamente,paraconfigurarlo:

npmconfigsetpython/usr/bin/python2-g

ParainstalarAtomabrimosunterminalyclonamoselcódigodeGit:

gitclonehttps://github.com/atom/atom

CambiamosaldirectoriodeAtom:

cdatomgitfetch-pgitcheckout$(gitdescribe--tags`gitrev-list--tags--max-count=1`)

ConstruimosAtom:

TutorialinstalarAtomemGNU/Linux

41

Page 42: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

script/build

AhorayapodemosejecutarAtom.Otraopciónescrearunarchivoejecutable.deb,lohacemosconelsiguientecomando:

script/gruntmkdeb

Másinformaciónen:

http://nodejs.org/(idiomainglés)

https://atom.io/(idiomainglés)

TutorialinstalarAtomemGNU/Linux

42

Page 43: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialinstalarBracketsenGNU/LinuxparadesarrollowebEnestetutorialveremoscómoinstalaryconfigurarBrackets,uneditordetextosdefuenteabierta(opensource)desarrolladoporAdobeorientadoalaprogramaciónweb.ConélsepuedeeditarHTML,CSSyjavascript,entreotroslenguajesutilizadosenlaweb.

Palabrasclaves:Brackets,editordetextos,HTML,CSS,javascript,desarrolloweb.

ParainstalarloprimerolodescargamosdelrepositoriodeAdobeenGit:

wgethttps://github.com/adobe/brackets/releases/download/release-0.44/Brackets.Release.0.44.64-bit.deb

Loinstalamoscon:

sudodpkg-iBrackets.Release.0.44.64-bit.deb

Parapoderabrirlo,enlaterminalescribimos:

brackets

Másinformaciónenhttps://github.com/adobe/brackets(idiomainglés)yenhttp://brackets.io/(idiomainglés)

TutorialinstalarBracketsenGNU/Linuxparadesarrolloweb

43

Page 44: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

UsandoaplicacionesenGNU/Linux

TutorialbásicoVim

Tutorialconvertirpáginaswebapdf

Tutorialinstalaryusaryoutube-dlparabajarmusica

TutorialcrearimágenesQRdepáginaswebenGNU/Linuxconqrencode

TutorialusarPngquantenGNU/Linux

CompresordeimágenesTrimage

TutorialextraerpáginasdearchivospdfconPDFTKenGNU/Linux

TutorialuniendoarchivospdfconPDFTKenGNU/Linux

TutorialabrirmúltiplesconsolasenunasolaventanaconTmuxenGNU/Linux

TutorialcompartirsesionesSSHconTmuxenGNU/Linux

TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux

Palabrasclaves:editarachivos,vim,cutycapt,convertirhtmlaimagen,htmlapdf,youtube-dl,bajarmúsica,convertirvideoaaudio,videoamp3,imagenQR,qrencode,pngquant,trimage,comprimirimágenes,pdftk,editarpdf,tmux,múltiplesconsolas,terminalmultiplexer,compartirsesiones,sshcontmux,byobu.

UsaraplicacionesenGNU/Linux

44

Page 45: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

UsaraplicacionesenGNU/Linux

45

Page 46: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialbásicoVimEnestetutorialveremoscomopodemosusarelfamosoeditorVimenGNU/Linuxparaeditarunarchivo

Nota:Esteesuntutorialmuybásico.Enlasreferenciasencontrareisinteresantesenlacesparaprofundizarvuestrosconocimientos

Palabrasclaves:Vim,editararchivo,líneadecomandos,commandline.

Abrimosunterminalyescribimos:

vimmi_primer_archivo.txt

Seospresentaráunapantallatotalmenteenblanco.Parapoderescribirapretamoslateclai(inserteninglés)yescribimos

"EsteesmiprimerarchivoenVim"

Conlateclaintropasamosalasegundalíneayescribimos

"Estaeslasegundalínea"

Vimtiene2modosdetrabajo:Inserción(teclai)quesirveparaediciónyNormal(teclaescape)quesirveparanavegarporeltexto.

Entoncesparasalirapretamoslateclaescapeyparamovernosdentrodeldocumentousamoslasteclas:

khlj

Estonospermitesubir,iralaizquierda,iraladerechaybajarrespectivamentedentrodeldocumento.

Finalmenteparasalirguardandoloscambiosescribimos:

:wq!

TutorialbásicoVim

46

Page 47: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

wesdeescribir(writeeninglés)qessalir(quiteninglés)yconesaordenledijimosaVimdeguardarloscambiosysalir.Parasalirsinguardarloscambios:

:q!

Ahorasisabeisinglésossugieroquehagaisunexcelentetutorialinteractivoqueencontrareisen:

http://www.openvim.com/tutorial.html/(idiomainglés)

TutorialbásicoVim

47

Page 48: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialconvertirpáginaswebapdfCutyCaptesunautilidaddelíneadecomandoquecapturaunapáginawebylaconvierteaunaimagenodocumentoconformatodearchivoSVG,PDF,PS,PNG,JPEG,TIFF,GIF,óBMP.

Palabrasclaves:cutycapt,convertirhtmlaimagen,htmlapdf.

EnGNU/LinuxUbuntulainstalamoscon:

sudoapt-getinstallcutycapt

Parausarla,desdeelterminalescribimos:

cutycapt--url=http://wwww.fortinux.com--out=nombre-archivo.png

Estonoscrearáelarchivonombre-archivo.pngconlaimagendetodalapáginaweb.

CutyCapt:http://cutycapt.sourceforge.net/(idiomainglés)

OtrasopcionesqueencontrareisenInternet:http://snapito.com(idiomainglés)http://convertwebpage.com/(idiomainglés)

Tutorialconvertirpáginaswebapdf

48

Page 49: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Tutorialinstalaryusaryoutube-dlparabajarmusicayoutube-dlesunapequeñaaplicacióndelíneadecomandoquesirveparabajarvideosdeYouTube.comydealgunosotrossitios.

Palabrasclaves:youtube-dl,convertirvideoaaudio,videoamp3.

Primeroinstalamosdependenciasparaconvertirvideoamp3:

sudoapt-getinstall-ylibav-toolssudoapt-getinstallffmpeg

Instalamosyoutube-dl:

sudocurlhttps://yt-dl.org/downloads/2014.10.15/youtube-dl-o/usr/local/bin/youtube-dl

Damospermisosalnuevodirectorio:

sudochmoda+x/usr/local/bin/youtube-dl

Descargamosnuestraprimerarchivomp3:

youtube-dl-t--extract-audio--audio-formatmp3http://www.youtube.com/watch?v=8ptfyhBjXj8

Másinformaciónen:http://rg3.github.io/youtube-dl/(idiomainglés)

Tutorialinstalaryusaryoutube-dlparabajarmusica

49

Page 50: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcrearimágenesQRdepáginaswebenGNU/LinuxconqrencodeQrencodeesunautilidadquepermitegenerarimagenesQRdeunapáginaweb

Palabrasclaves:qrencode,crearimagenQR.

Primeramentevamosainstalarlautilidadylosejemplosdeayuda:

aptitudeinstallqrencodeapt-getinstalllibdecodeqr-examples

ParacrearunaimagenQRescribimoslosiguiente:

qrencode-s6"http://www.fortinux.com/"-ofortinux-qr.png

endonde:-o=nombreimagen.png-s=tamañodelaimagen""=enlaceotextoconmensajequedeseemosescribir

Paraconocerotrosparámetrosausarpodemosconsultarlaayuda:

manqrencode

ParaleercódigoQRprimeronosubicamoseneldirectoriodondeseencuentraelarchivo,luegoabrimoslaconsolayescribimoslasiguientelineadecodigo:

libdecodeqr-simpletestfortinux-qr.png

Másinformaciónen:http://manpages.ubuntu.com/manpages/trusty/man1/qrencode.1.html(idiomainglés)

TutorialcrearimágenesQRdepáginaswebenGNU/Linuxconqrencode

50

Page 51: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialusarPngquantenLinuxEnestetutorialaprenderemosausarpngquantparareducireltamañodeimágenes.pngenLinux.Especialmenteútilparadiseñadores/programadoresqueprecisanoptimizarimágenesparaunsitiowebojuegodePlayStation.

Palabrasclaves:pngquant,reducirtamañoimagen,diseñoweb,webdesign,sitioweb.

Loprimeroserádescargarelutilitariodesdehttp://www.pngquant.org/releases.html.Abrimosunterminal,vamosaldirectoriodondeestáelarchivoyescribimosnuestroprimercomando:

sudodpkg-ipngquant_version_del_archivo.deb

Estecomandocrearáundirectorio“pornel-pngquant-version_del_archivo”.Vamosdentrodelmismoyescribimosparainstalarelutilitario:

sudomakeinstall

Unavezinstalado,parausarlohayqueiraldirectoriodondeestálaimagenyescribir:

pngquantnombre_de_la_imagen.png

Sidentrodeldirectoriohayvariasimágenespodemosutilizar:

pngquant*.png

Pngquantcrearálosarchivosoptimizadosconlaterminacióndelnombredeellos“-fs8.png”,dejandolosoriginalesintactos.

Paravermásopciones,podeisvisitar:http://www.pngquant.org(idiomainglés)ólapáginaweb:http://www.github.com/pornel/pngquant(idiomainglés)

TutorialusarPngquantenLinux

51

Page 52: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

CompresordeimágenesTrimageUnaherramientamultiplataformaparaoptimizararchivosPNGyJPG.

Inspiradaen“imageoptim”:http://imageoptim.pornel.net/,TrimageesunaherramientamultiplataformaqueoptimizaarchivosPNGyJPGutilizandoparaellolosutilitarios“Optipng”:http://optipng.sourceforge.net,“Advpng”:http://advancemame.sourceforge.net/comp-readme.htmly“Jpegoptim”:http://www.kokkonen.net/tjko/projects.html#jpegoptim,dependiendodeltipodearchivo(PNGoJPG).

Sepuedeutilizardesdelalíneadecomandosoconunasimpleinterfazgráficacreadaporelautor.

Palabrasclaves:trimage,compresordeimagen,diseñoweb.

ParainstalarlaenUbuntubastaabrirunterminalyejecutar:

sudoapt-getinstalltrimage

Lapáginadelautor:http://trimage.org/(idiomainglés)

CompresordeimágenesTrimage

52

Page 53: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialextraerpáginasdearchivospdfconPDFTKenLinuxPDFTK(PDFToolkit)esunaaplicaciónmuysimplequepermitemanipulararchivosconextensiónpdf.Paravertodaslasposibilidadesdelprogramaospasoelsitioweboficial:http://www.pdflabs.com

Palabrasclaves:pdftk,editarpdf.

AbrimosunterminalyparainstalarPDFTKescribimosnuestroprimercomando:

sudoapt-getinstallpdftk

Unavezinstalado,vamosaldirectoriodondetenemoslosarchivospdfyescribimos:

pdftkA=nombre-de-archivo.pdfcatA52-57outputsalida.pdf

Con‘catA52-57′indicamosquequeremosextraerdesdelapágina52alapágina57inclusive,parasercolocadasenunnuevoarchivollamadosalida.pdf.

Siporejemploqueremosextraerpáginasde2archivos:

pdftkA=archivo1.pdfB=archivo2.pdfcatA52-57B1outputsalida.pdf

Con‘catA52-57B1′indicamosquequeremosextraerdesdelapágina52alapágina57inclusivedelarchivo1.pdf,ylapágina1delarchivo2.pdf,queseráncolocadasenelnuevoarchivosalida.pdf.

TutorialextraerpáginasdearchivospdfconPDFTKenLinux

53

Page 54: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialuniendoarchivospdfconPDFTKenLinuxEnestetutorialveremoscomounirvariosarchivospdfenunosolousandoPDFTK(PDFToolkit).

Paravertodaslasposibilidadesdelprogramaospasoelsitioweboficial:http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

Palabrasclaves:pdftk,editarpdf.

AbrimosunterminalyparainstalarPDFTK,escribimosnuestroprimercomando:

sudoapt-getinstallpdftk

Unavezinstalado,vamosaldirectoriodondetenemoslosarchivospdfyescribimos:

pdftk1.pdf2.pdf3.pdfoutputsalida.pdf

Aquíindicamoscuálesarchivosseránunidosenunosolo(tambiénpodemosusarelcomandopdftk*.pdfoutputsalida.pdf).

TutorialuniendoarchivospdfconPDFTKenLinux

54

Page 55: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialabrirmúltiplesconsolasenunasolaventanaconTmuxenGNU/LinuxEnestetutorialveremoscomousarunmultiplexadordeconsolasparatrabajarconvariasaplicacionessimultáneamenteenunasolaconsolaGNU/Linux

Palabrasclaves:tmux,multiplexadordeconsolas,terminalmultiplexer.

TmuxTerminalMultiplexeresunprogramaquepermitetrabajarconvariosprogramasenunasolaventana,ocambiarlosaotraventanasinpararlos.

ParainstalarTmux:

sudoapt-getinstalltmux

CuandoTmuxiniciacreaunanuevasesiónconunasolaventanaylamuestraenlapantalla.Laparteinferiordelamismasirveparainformaciónyparaingresarórdenes.

Abrimosunterminalyescribimos:

tmux

Enlaventanaquesenosabreyapodemoscomenzarausarelprogramausandolateclactrl+byluegolatecladecombinación.Paraabrirunaventana:

ctrl+bc

Parairalaventanaanterior:

ctrl+bp

Parairalasiguienteventana:

ctrl+bn

Listarlasventanasparapoderseleccionarunadeellas:

ctrl+bw

TutorialabrirmúltiplesconsolasenunasolaventanaconTmuxenGNU/Linux

55

Page 56: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Renombraventana:

ctrl+b,

Paradividirlaventanaendospaneles:

ctrl+b%

Parairalsiguientepanel:

ctrl+b{

Parairalpanelanterior:

ctrl+b}

Paracerrarelpanel:

ctrl+bx

Paracerrarlaventana:

ctrl+b&

Paracrearunanuevasesiónllamadanueva-sesion:

tmuxnew-snueva-sesion

Másinformaciónen:http://manpages.ubuntu.com/manpages/trusty/man1/tmux.1.html(idiomainglés)

TutorialabrirmúltiplesconsolasenunasolaventanaconTmuxenGNU/Linux

56

Page 57: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcompartirsesionesSSHconTmuxenGNU/LinuxEnestetutorialveremoscomo,porejemplo,sepuedencompartirsesionesSSHenunservidorGNU/Linux

Palabrasclaves:tmux,multiplexadordeconsolas,ssh,compartirsesión,GNU/Linux.

Supongamosparaelejemploquetenemosunordenadorllamado'uno'conusuario'uno',otrollamado'dos'conusuario'dos',yelservidoralquenosqueremosconectarporSSHconIP10.0.0.11.

Desdeelordenador'uno',abrimosunterminalyiniciamosTmux:

tmux

AhoranosconectamosalservidorporSSH:

[email protected]

Nospediralaseña,laescribimosyyaestamosconectadosalservidor.Enlaterminaldelservidorcreamosunasesiónparacompartirllamada'compartiendo':

tmuxnew-session-scompartiendo

Enelordenador'dos'seguimoslospasosanterioresparaconectarnosalservidor,ycuandoyaestamoslogueadosenlaterminaldelservidorverificamoslassesionesdeTmuxabiertascon:

tmuxlist-sessions

nosaparecerálasesión'compartiendo'creadaporelusuario'uno'.paraconectarnosaellaescribimos:

tmuxattach-tcompartiendo

Ahoratendremosalosdosusuarioscompartiendolamismasesión.

Finalmenteparasalirdelasesiónusamoslacombinacióndeteclas:

TutorialcompartirsesionesSSHconTmuxenGNU/Linux

57

Page 58: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

ctrl+bd

TutorialcompartirsesionesSSHconTmuxenGNU/Linux

58

Page 59: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/LinuxEnestetutorialveremoscomousarunmultiplexadordeconsolasparatrabajarconvariasaplicacionessimultáneamenteenunasolaconsolaGNU/Linux

Palabrasclaves:byobu,multiplexadordeconsolas,terminalmultiplexer.

ByobuTerminalMultiplexeresunprogramaquepermitetrabajarconvariosprogramasenunasolaventana,ocambiarlosaotraventanasindetenerlos.

ParainstalarByobu:

sudoapt-getinstallbyobu

CuandoByobuiniciacreaunanuevasesiónconunasolaventanaylamuestraenlapantalla.Laparteinferiordelamismasirveparainformaciónyparaingresarórdenes.

Abrimosunterminalyescribimos:

byobu

Enlaventanaquesenosabreyapodemoscomenzarausarelprogramaabriendoporejemplolaayudausandolatecla*shift+F1:

shift+F1

ParaabrirunanuevaventanaapretamoslateclaF2:

F2

Paracambiarentrelasventanasabiertastenemoscuatroopciones:

F3F4alt+FlechaIzquierdaalt+FlechaDerecha

Paradividirlaventanaendospaneleshorizontales:

shift+F2

TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux

59

Page 60: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Paradividirenpanelesverticales:

ctrl+F2

Paracambiarentresesiones:

alt+FlechaArribaalt+FlechaAbajo

Paracambiarentrepaneles:

shift+F3shift+F4shift+FlechaIzquierdashift+FlechaDerechashift+FlechaArribashift+FlechaAbajo

Paramoverelpanel:

Ctrl+F3Ctrl+F4

Paramoverlaventana:

Ctrl+Shift+F3Ctrl+Shift+F4

Paraaumentarodisminuireltamañodelospaneles:

shift+alt+FlechaIzquierdashift+alt+FlechaDerechashift+alt+FlechaArribashift+alt+FlechaAbajo

Paraconfigurarlabarradeestadoenlaparteinferiordelaventana:

F9

Paracerrarelpanel:

ctrl+F6

Másinformaciónen:http://byobu.co/(idiomainglés)

TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux

60

Page 61: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux

61

Page 62: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

AdministrarGNU/Linux

TutorialquéesrootycomousarloenGNU/Linux

TutorialcomofuncionaelprocesodeinicioenGNU/Linux

TutorialcomofuncionanlosnivelesdeejecuciónenGNU/Linux

TutorialgestionarprocesosenunsistemaoperativoGNU/Linux

TutorialverprogramasinstaladosenGNU/Linux

TutorialconfigurandounsistemaRAIDenGNU/Linux

TutorialcrearoeliminarparticionesenGNU/Linuxconfdisk

TutorialcrearoeliminarunaparticiónswapenGNU/Linux

TutorialformatearparticionesenGNU/Linux

TutorialmontarydesmontarunpendriveusbenGNU/Linux

TutorialMontarparticionesNTFSenGNU/LinuxUbuntu

TutorialmontarparticionesNFSenunaredGNU/Linux

TutorialconfigurarlaredenGNU/Linux

TutorialConfigurarImpresoraenunaredGNU/Linux

TutorialconfigurarusuariosenGNU/Linux

TutorialconfigurargruposdeusuariosenGNU/Linux

AdministrarGNU/Linux

62

Page 63: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialgestionarpermisosyatributosdearchivosenGNU/Linux

TutorialgestionaratributosextendidosdearchivosenGNU/Linux

Palabrasclaves:root,sudo,su,administrador,sudoers,gksudo,BIOS,MBR,EFI,UEFI,sistemadeinicio,bootloader,nivelesdeejecución,runlevels,init,proceso,tarea,thread,ps,fg,bg,RAID,discoduro,mdadm,programas,editarparticiones,swap,montarparticiones,mount,NTFS,NFS,compartirdirectorioenred,servidor,cliente,ifconfig,configurarusuario,usermod,userdel,groupadd,groupdel,cambiarpermisos,atributosdearchivo,chmod,chown,chattr,lsattr,attr,extendedfileattributes.

AdministrarGNU/Linux

63

Page 64: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialquéesrootycomousarloenGNU/LinuxEnestetutorialveremosparaquésirvelacuentaderootenGNU/Linuxycómousarla

Palabrasclaves:root,sudo,su,administrador,sudoers,gksudo.

ElusuariorootdeunsistemaoperacionalGNU/Linuxeseladministradordelmismo.Éltienelospermisosnecesariospararealizarcualquiertipodetarea.

Losusuarioscomunesencambio,notienenpermisosparainstalarprogramasoescribirenlosdirectoriosdesistema.Porlotanto,pararealizarcualquieracciónquenecesitepermisosderoot,debenusarsudoósu.

Siqueremosconvertirnosenadministradoresdelsistema(root)escribimos:

su

Nospidelaclavederoot,laescribimosyyasomosroot.

Siqueremoscambiardeusuario:

sunombre_de_usuario

Yescribimoslaclavedelusuario.

Paradejardeserroot:

exit

sudoencambio,sirveparaejecutaruncomandocomorootsindejardeserunusuariocomún.LousamosporejemploparainstalarelprogramaGimp:

sudoapt-getinstallgimp

Nospidelaclavederoot,laescribimosyyatenemospermisoparainstalarelprograma.

Importante:Sielusuariodeunprogramanoestádentrodelgruposudoersnovaapoderusarsudo.Paraagregarloalgrupo:

TutorialquéesrootycomousarloenGNU/Linux

64

Page 65: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

sudoaddusernombre_de_usuariosudo

Paracambiarlaclavederootescribimos:

sudopasswdroot

EnUbuntu,tenemostambiénunambientegráficoespecialcompermisosderoot:

gksudonautilus

Nospedirálaclavederootynosabriráunaventanaeneldirectoriodeladministradorroot.Desdeallípodremosnavegarporlosdirectoriosdelsistemacomoadministradores.

Másinformaciónen:http://www.howtogeek.com/111479/htg-explains-whats-the-difference-between-sudo-su/(idiomainglés)

TutorialquéesrootycomousarloenGNU/Linux

65

Page 66: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcomofuncionaelprocesodeinicioenGNU/LinuxEnestetutorialveremoscomofuncionaelprocessodeiniciodeunsistemaoperativoGNU/Linux

Palabrasclaves:BIOS,MBR,EFI,UEFI,sistemadeinicio,bootloader,kernel,grub,isolinux,RAM,initrd,initramfs,sbin/init,xwindow.

ElprocesodearranquedeunordenadorempiezaenlaBIOSqueiniciaelhardwareatravésdeunfirmwareinstaladoenunchipEEPROM.

EstechiphaceuntestllamadoPOSTaloscomponentesdelordenadorycargaenlamemoriaprincipalelsistemadeinicio(bootloader).Éste,queestáalojadoenelMBRoenlaparticiónEFI,escontroladoporelsistemaoperativo.

GrubeisolinuxsonlossistemasdeiniciodeGNU/Linuxmásconocidosysedividenendospartes:laprimeraexaminalaMBRparabuscarlaparticióndeinicioycargaelsistemadearranque(porejemploGrub)enlamemoriaRAM.

Enlasegundaparte,grubcargaelkernelyunsistemadearchivosinicial(initrdoinitramfs)enlaRAM.Unavezqueelkernelhaconfiguradoelhardwareymontadoelsistemadearchivos,iniciaelprocesoinitlocalizadoen/sbin/initqueeselencargadodeiniciarlosdemásprocesosnecesarios(cambiaamodomultiusuario,iniciagetty)parafinalmentedejarelsistemaoperativolistoparausar.

EnsistemasEFI/UEFIencambio,elfirmwareUEFIleesusistemadeiniciopropioparadeterminarqueprogramaUEFIvaainiciar.

http://www.ibm.com/developerworks/library/l-linuxboot/index.html(idiomainglés)

TutorialcomofuncionaelprocesodeinicioenGNU/Linux

66

Page 67: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcomofuncionanlosnivelesdeejecuciónenGNU/LinuxEnestetutorialveremoscomofuncionanlosnivelesdeejecuciónenunsistemaoperativoGNU/Linux

Palabrasclaves:LSB,nivelesdeejecución,runlevels,init.

Aclaración:elLSB(LinuxStandardBase)establecequelossistemasoperativosGNU/Linuxfuncionancon7nivelesdeejecuciónperoéstosvaríanentrelasdistintasdistribuciones.Enestecaso,nosbasaremosenDebianGNU/Linux.

Elprocesoiniteselencargadodeiniciarlosnivelesdeejecución(runlevels)delsistemaoperativo.

Porejemplo,elnível0eseldeapagadodelordenador,elnível1esenmodomonousuario(root),delnivel2al5sonmultiusuarioconredysistemagráfico,yporúltimoelnivel6esparareiniciarelsistemaoperativo.

Parasaberenquenivelestamostenemosdosopcionescomorootyusuariorespectivamente:

runlevel

who-r

Paracambiardenivel,porejemplo,ponerelsistemaenmodomanutenciónsinred:

init1

Siqueremosreiniciarelsistema:

init6

Másinformaciónen:http://wiki.linuxquestions.org/wiki/Run_Levels(idiomainglés)

TutorialcomofuncionanlosnivelesdeejecuciónenGNU/Linux

67

Page 68: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialgestionarprocesosenunsistemaoperativoGNU/LinuxEnestetutorialveremoscomogestionarprocesosenunsistemaoperativoGNU/Linux

Palabrasclaves:proceso,tarea,thread,ps,fg,bg.

Unprocesoessimplementeunainstanciadeunaomástareas(threads)relacionadasqueseejecutanenelordenador.

Tenemosprocesosinteractivostipobashofirefoxquedebenseriniciadosporelusuario,procesosenlote(batch)tipoupdatedbquesonautomáticos,demonios(daemons)quefuncionansininterrupcióntipohttpdoxinetd,oprocesosdelkernel.

Losprocesostienenprioridadquevade-20comolamásaltahasta19,lamásbaja,yunidentificadorllamadoPID.

Parasaberqueprocesosseestánejecutandoahoraenformadetallada:

ps-ef

Conocerlosprocesosdeunusuario:

ps-unombre_usuario

Paraverdetodoslosusuarios:

ps-aux

Paraverlosprocesosentiemporeal:

htop

Paraponerunprocesoensegundoplano(bg),porejemplohtop:

htop&

Parapasareseprocesoaprimerplano:

TutorialgestionarprocesosenunsistemaoperativoGNU/Linux

68

Page 69: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

fghtop

TutorialgestionarprocesosenunsistemaoperativoGNU/Linux

69

Page 70: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialverprogramasinstaladosenGNU/LinuxEnestetutorialaprenderemosaverquéprogramasysusversionestenemosinstaladosennuestroGNU/Linux

Palabrasclaves:programas,dpkg,grep.

Parasaberqueprogramasestáninstaladosescribimosenunterminal:

dpkg--get-selections

Silalistaesmuylarga,podemosbuscarsoloelprogramaquenecesitamos:

dpkg--get-selections|greppython

Yparasaberdondeestásituado:

dpkg-Lphyton-apt

TutorialverprogramasinstaladosenGNU/Linux

70

Page 71: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialconfigurandounsistemaRAIDenGNU/LinuxEnestetutorialveremoscomopodemosconfigurarunsistemaRAIDenGNU/Linux

Palabrasclaves:RAID,discoduro,mdadm.

UnsistemaRAIDesun"conjuntoredundantedediscosindependientes"(elsignificadodelatraduccióndelinglésRAID)quepermitealmacenardatosdeformadistribuidaenvariosdiscoscomosifueranunosolo.

ParapodercrearunsistemaRAIDtenemosqueteneralmenosdosdiscosduros,siendoconvenientequeéstostenganlamismacapacidad.

Paraconfigurardosdiscosduros(sdb1,sdc1)comoRAID0enGNU/Linuxvamosausarlaherramientamdadm.Parainstalarla:

sudoapt-getupdate

sudoapt-getinstallmdadm

AhoraparaconfigurarelRAID:

mdadm--create--verbose/dev/md0--level=0--raid-devices=2/dev/sdb1/dev/sdc1

Ahoralovamosainiciar:

mdadm--assemble/dev/md0/dev/sdb1/dev/sdc1

OtraopciónparainiciarelRAID:

mdadm--assemble--scan

ParaañadirundiscoaunRAIDactivo:

mdadm/dev/md0--add/dev/sdd1

Paraeliminareldisco/dev/sdb1delRAID/dev/md0:

TutorialconfigurandounsistemaRAIDenGNU/Linux

71

Page 72: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

mdadm/dev/md0--fail/dev/sdb1--remove/dev/sdb1

SialgunavezqueremossabercomoestáconfiguradoelRAID:

mdadm-E/dev/md0

Sialgunavezqueremoseditarlo,podemosusarelarchivodeconfiguración:

/etc/mdadm/mdadm.conf

Másinformaciónenhttp://es.wikipedia.org/wiki/RAIDyenhttp://elpuig.xeill.net/Members/vcarceler/articulos/mdadm-una-nueva-herramienta-para-la-gestion-de-raid-mediante-software-en-linux

TutorialconfigurandounsistemaRAIDenGNU/Linux

72

Page 73: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcrearoeliminarparticionesenGNU/Linuxconfdisk*Unaparticiónesunaseccióndeundiscorígidoqueestratadacomosifueraotrodiscoindependiente.

Estopuedeserútilporejemploparadedicarunespacioúnicoparanuestrosarchivosimportantesoparacolocarlosarchivosmultimedia.

EnestetutorialveremoscomocrearoeliminarparticionesenGNU/Linux.*

Palabrasclaves:partición,discorígido,harddrive,GNU/Linux,sistemaoprativo,fdisk.

Parasabercómoestáconfiguradonuestrodiscorígido:

df-Th

Paraporejemploparticionarelsegundodiscorígido:

sudofdisk/dev/sdb

Nosapareceráelcursoryalistopardarunaordem.escribimosmparalaayuda:

m

Lasotrasopcionesimportantesson:

*n*creaunapartición*d*borraunapartición*l*muestralostiposdeparticiones*t*modificaeltipodepartición*p*muestralatabladeparticiones*w*escribeloscambiosysale*q*salesinguardarloscambios

Porejemporparacrearunaparticiónescribimosn,luegop(primaria)oe(extendida)yfinalmentewparaescribirloscambios.

Nota:OtraherramientamásnuevaeslasuiteGPTfdiskquepermitecrearhasta128particionesyeliminalarestriccióndediscosmayoresde2TiBdelMBT.

TutorialcrearoeliminarparticionesenGNU/Linuxconfdisk

73

Page 74: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Másinformaciónen:http://manpages.ubuntu.com/manpages/trusty/es/man8/fdisk.8.html(idiomainglés)http://www.ibm.com/developerworks/linux/library/l-gpt/index.html(idiomainglés)

TutorialcrearoeliminarparticionesenGNU/Linuxconfdisk

74

Page 75: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcrearoeliminarunaparticiónswapenGNU/LinuxUnaparticiónswapesunaparticiónqueactúacomomemoriadeintercambio,yseusacomosifueramemoriaRAMcuandoéstanoessuficiente.EnestetutorialveremoscomocrearlaenGNU/Linux.

Palabrasclaves:particióndeintercambio,swap,discorígido,harddrive,GNU/Linux,sistemaoperativo.

Elarchivoquetienelaconfiguracióndenuestrosdiscosrígidosyparticioneses/etc/fstab.Parasabersitenemosunaparticiónswapennuestrosistemaoperativo:

cat/proc/swaps

Porejemploparacrearunaparticiónswapde512megasprimerocreamosunarchivoconesetamaño:

sudoddif=/dev/zeroof=/mnt/512MiB.swapbs=1024count=524288

Damospermisosdeleeryescribirsolamentearoot:

sudochmod600/mnt/512MiB.swap

Formatamoselarchivocomoswap:

sudomkswap/mnt/512MiB.swap

Agregamoslaparticiónalsistemaoperativo:

sudoswapon/mnt/512MiB.swap

Podemosverqueyaestádisponibleconcat/proc/swapsocat/proc/meminfo.

Finalmenteparahacerloscambiospermanentes:

sudovim/etc/fstab

TutorialcrearoeliminarunaparticiónswapenGNU/Linux

75

Page 76: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Alfinaldelarchivoagregamosestalíneaysalvamosloscambios:

/mnt/512MiB.swapnoneswapsw00

Reiniciandoelsistemaoperativoveremosqueyacontamosconlanuevamemoriaswap.

Paraeliminaresaparticiónswapabrimoselarchivofstab:

sudovim/etc/fstab

Borramoslalínea/mnt/512MiB.swapnoneswapsw00ysalvamosloscambios.Porúltimoremovemoslaparticiónswapdelsistemaoperativoyeliminamoselarchivo:

sudoswapoff/mnt/512MiB.swap&&sudorm/mnt/512MiB.swap

Másinformaciónen:https://help.ubuntu.com/community/SwapFaq(idiomainglés)

TutorialcrearoeliminarunaparticiónswapenGNU/Linux

76

Page 77: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialformatearparticionesenGNU/LinuxEnestetutorialveremoscómopodemosformatearparticionesydiscosrígidosenGNU/Linux

Palabrasclaves:mkfs,formatearparticiones,discorígido,GNU/Linux.

ComenzamosaveriguandoquésistemasdearchivossoportanuestoSO:

ls/sbin/mk*

Ydóndeestálaparticiónquequeremosformatar:

df-Th

Paraformatearporejemplolaparticiónsdbconsistemadearchivosext4yetiquetapruebasescribimos:

mkfs.ext4-Lpruebas/dev/sdb

Másinformaciónen:http://manpages.ubuntu.com/manpages/trusty/en/man8/mkfs.8.html(idiomainglés)

TutorialformatearparticionesenGNU/Linux

77

Page 78: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialmontarydesmontarunpendriveusbenGNU/LinuxEnestetutorialveremoscomomontarydesmontarcualquierdispositivoexterno(pendriveusb,cámarafotográfica,etc.)enGNU/Linuxdesdelalíneadecomandos

Palabrasclaves:pendriveusb,montardispositivoexterno,mount,umount.

Primeroverificamosdondeestámontadoeldispositivoexterno:

sudofdisk-l

Nosapareceráunalíneadetextosimilaraesta:

/dev/sdb1*6339167991958368+cW95FAT32(LBA)

Aclaración:saldráprimeroeldiscodurodelordenadorcomohda(siesIDE)osda(siesSCSI),luegosituviéramosotrodiscoduro,éstesaldríacomosdbyenesecaso,nuestrousbseríasdc.

Paramontareldispositivo:

sudomount-tvfat/dev/sdb1/mnt/

Enestecasomontamoseldispositivosdb1eneldirectorio/mnt.Paraversiestácorrecto:

df-l

Finalmenteparadesmontarlo:

sudoumount/dev/sdb1

TutorialmontarydesmontarunpendriveusbenGNU/Linux

78

Page 79: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialMontarparticionesNTFSenGNU/LinuxUbuntuNTFSesunsistemadearchivosampliamenteutilizadoporlossistemasoperativosdeMicrosoft(TM)tipoXP,Vista,etc.EnestetutorialveremoscomomontarparticionesNTFSenGNU/Linux.

Palabrasclaves:montarpartición,ntfs,fdisk,fstab.

Abrimoslaterminalyescribimosestaordenparasabercomoestánmontadaslaparticionesennuestrodiscoduro:

sudofdisk-l

Creamosundirectoriodenombredatoseneldirectorio/mediadondealojarlapartición:

sudomkdir/media/datos

Denombrealdirectoriolehepuestodatosperolepodeisponerloqueseosocurra.Ahoraeditamoselarchivofstab

sudogedit/etc/fstab

alfinaldelarchivoescribimoslosiguiente:

/dev/sda5/media/datosntfs-3gquiet,defaults,rw00

guardamosloscambiosyalreiniciarnosaparecerálaparticiónennuestroescritorio.

TutorialMontarparticionesNTFSenGNU/LinuxUbuntu

79

Page 80: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialmontarparticionesNFSenunaredGNU/LinuxNFS(networkfilesystem)esunsistemadearchivosdistribuidosquepermiteaccederennuestroordenadoraarchivosqueestánlocalizadosenundiscooparticiónenlaredlocal.EnestetutorialveremoscómoconfigurarloenGNU/Linux.

Palabrasclaves:NFS,montar,compartirdirectorioenred,servidor,cliente.

InstalamoselservidorNFSenunordenadordenuestrared:

sudoapt-getinstallnfs-kernel-server

Porejemplo,paramontarenlaredeldirectoriohomedelservidor,abrimoselarchivo/etc/exportsyescribimos:

/homeip-ordenador-cliente(rw,sync,no_root_squash,no_subtree_check)

Dondeip-del-servidoreselnúmerodelaIPdelservidor.Eldirectoriotendrápermisosdelecturayescritura(rw).

Exportamoseldirectoriocompartidocon:

sudoexportfs-a

AhorareinicimoselservidorNFS:

sudoservicenfs-kernel-serverstart

Enelordenadorclienteinstalamosnfs-common:

sudoapt-getinstallrpcbindnfs-common

Añadimosunalíneaalarchivo/etc/hosts.deny:

rpcbind:ALL

Yotraalarchivo/etc/hosts.allow:

TutorialmontarparticionesNFSenunaredGNU/Linux

80

Page 81: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

rpcbind:ip-del-servidor

Creamosundirectoriollamadodirectorio-redparamontarenéleldirectoriohomedelservidor:

mkdirdirectorio-red

Montamoseldirectoriocon:

sudomountip-del-servidor:/home/home/usuario/directorio-red

Vemossiestámontado:

mount-tnfs

Paraqueeldirectorio-redsemonteautomáticamentealiniciarelsistemaoperativo,abrimoselarchivo/etc/fstabyescribimosalfinallasiguientelínea:

192.168.1.8:/home/home/usuario/directorio-rednfsauto,noatime,nolock,bg,nfsvers=4,intr,tcp,actimeo=180000

Parasaberquesignificaestalíneapodemosleerlaayuda:

mannfs

Sialgunavezqueremosdesmontarestedirectoriodered:

sudoumount/home/usuario/directorio-red

yluegoeliminamoslalíneaañadidapreviamentealarchivo/etc/fstab

Másinformaciónen:https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-14-04(idiomainglés)

TutorialmontarparticionesNFSenunaredGNU/Linux

81

Page 82: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialconfigurarlaredenGNU/LinuxSitenemosproblemasconlaconexiónaInternet,podemosconfigurarlareddesdelalíneadecomandos,algoqueesmuysencillodehacersiguiendoestospasos:

NOTA:EnesteejemplopondrécomodirecciónIPdelRouter192.168.1.1,direccióndelordenador192.168.1.2ylosservidoresDNS8.8.8.8y8.8.4.4quesonlosdeGoogle®.AdaptarlosavuestraconexónaInternet.

Abrimosunterminalyescribimos:

sudogedit/etc/NetworkManager/nm-system-settings.conf

Ospedirálacontraseñaderoot,laponeisyseosabreelarchivonm-system-settings.conf.Enéltenemosquemodificarlaopciónmanageddetrueafalse.Guardamosloscambiosycerrramoselarchivo.

Enlamismaterminalescribimos:

sudogedit/etc/network/interfaces

seosabreelarchivointerfaces,dondetendremosqueescribirlosiguiente:

autoeth0ifaceeth0inetstaticaddress192.168.1.2netmask255.255.255.0network192.168.1.0broadcast192.168.1.255gateway192.168.1.1

Guardamosloscambiosycerramoselarchivo.Ahoraenlaterminalescribimos:

sudogedit/etc/resolv.conf

Seosabreelarchivoresolv.confdondepondreislasdireccionesDNSdeGoogle:

nameserver8.8.8.8nameserver8.8.4.4

TutorialconfigurarlaredenGNU/Linux

82

Page 83: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Finalmenteparaaplicartodosloscambiosreseteamoslaredescribiendoelsiguientecomandoenlaterminal:

sudo/etc/init.d/networkingrestart

TutorialconfigurarlaredenGNU/Linux

83

Page 84: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialConfigurarImpresoraenunaredGNU/LinuxEnestetutorialveremoscomoconfigurarunaimpresoraparaserusadaenunareddeordenadoresGNU/Linux

Primeroinstalamossambaycups:

sudoapt-getinstallcupsyssamba-common

Vamosalarchivosmb.confyloeditamos:

sudogedit/etc/samba/smb.conf

Enladirectiva"printing"buscamoslaopciónolaagregamossegúnseaelcaso:

printing=cups

Unavezhechoestovamosaconfigurarcups,primeromodificandoestosdosarchivos:

sudogedit/etc/cups/mime.types

dondedescomentamosoagregamossegúnseaelcasolalínea:

application/octet-stream

luegovamosalarchivo:

sudogedit/etc/cups/mime.convs

yagregamosodescomentamoslalínea:

application/octet-streamapplication/vnd.cups-raw0-

Reiniciamoslos2serviciosparaquetomenefectoloscambiosyabrimosnuestronavegadorenestadirección:

TutorialConfigurarImpresoraenunaredGNU/Linux

84

Page 85: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

http://localhost:631/

En"Tareasdeadministración"nospedirálaclavederoot,luegovamosalaopciónañadirimpresoraycompletamoslosdatosteniendoencuentaqueelnombredebersersolounapalabra,novarias.

EnconexiónseleccionamosWindowsPrinterviaSamba.Siaúnnoapareceestaopciónseleccionamosippyhacemosclicensiguiente,enlaurldeconexióncolocamos:

smb://server/nombre.de.la.impresora

(estoencasoqueseacompartidaportodosynosenecesiteidentificaciónparausarla)

casocontrariocolocamos:

smb://username:password@workgroup/server/nombre.de.la.impresora

Enserverseescribeladirecciónip,luegoclicensiguienteyporúltimoquedaráconfigurarelcontroladordelaimpresora.

TutorialConfigurarImpresoraenunaredGNU/Linux

85

Page 86: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialconfigurarusuariosenGNU/LinuxEnestetutorialveremoscomocrear,editary/oeliminarusuariosenGNU/Linux

Palabrasclaves;usuarioGNU/Linux,adduser,usermod,id,userdel.

Paracrearunnuevousuariousaremosnuestracuentadeadministradordelsistema(root)conelsiguientecomando:

sudoaddusernombre_usuario

Allínospediráprimerolacontraseñaderootyluegodecrearelusuario"nombre_usuario"yelgrupo"nombre_usuario",nospedirálacontraseñadelnuevousuario.

Finalmentepodemosingresarlosdatosdelnuevousuario(nombrecompleto,teléfono,etc.)o,apretandolateclaintro,simplementeconfirmarlacreación.

Alcrearlacuentadeunusuario,elsistemaoperativotambiéncrearáeldirectorio/home/nombre_usuario/,3archivosocultosqueconfiguransusvariablesdeambiente:.bash_logout-.bash_profile-.bashrc,ycomodijimosanteriormenteungrupoconelnombredelusuario.

Paraverlainformacióndelascuentasdeusuariodenuestrosistemaoperativo:

cat/etc/passwd

Paraverlascuentasdelosusuariosquenosondelsistema,podemosusar:

grep/home//etc/passwd

Otambiénpodemosmostrarunasimplelistadeusuariossininformacionesadicionales:

grep/home//etc/passwd|cut-d:-f1

Siqueremosquelacuentaexpireel31-12-2015:

usermod--expiredate31-12-2015nombre_usuario

Paraverificaraquegruposdeusuariosperteneceunusuario:

TutorialconfigurarusuariosenGNU/Linux

86

Page 87: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

idnombre_usuario

Paraagregarelusuarioalgrupodeusuariosusers:

sudousermod--append--groupsusersnombre_usuario

Paracambiarlaubicacióndeldirectoriohomealdirectoriotmpdenombre_usuario:

usermod--home/tmpnombre_usuario

Parabloquear(-L)/desbloquear(-U)lacuentadelusuario:

usermod-Lnombre_usuariousermod-Unombre_usuario

Paraeliminarelusuario:

sudouserdel-rnombre_usuario

TutorialconfigurarusuariosenGNU/Linux

87

Page 88: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialconfigurargruposdeusuariosenGNU/LinuxEnestetutorialveremoscomocreary/oeliminargruposdeusuariosenGNU/Linux

Palabrasclaves:grupodeusuarios,groupadd,groupdel.

Crearungrupodeusuariossirveparaqueesosusuariospuedantenerparámetrosdeseguridadydeaccesoespecíficos.

Unejemplotípico:enunaempresatendríamoslosgrupos"marketing","administración","ventas"ect.cadaunoconaccesoypermisospersonalizados.

Paraverlainformacióndelosgruposdeusuariodenuestrosistemaoperativo:

cat/etc/group|more

Paracrearungrupoescribimos:

sudogroupaddnombre_grupo

Paraverificaraquegruposperteneceunusuario:

idnombre_usuario

Paraañadirnombre_usuarioalgruponombre_grupo:

sudoaddusernombre_usuarionombre_grupo

Paraeliminarunusuariodelgrupo:

sudodelusernombre_usuarionombre_grupo

Paraeliminarungrupo:

sudogroupdelnombre_grupo

TutorialconfigurargruposdeusuariosenGNU/Linux

88

Page 89: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialconfigurargruposdeusuariosenGNU/Linux

89

Page 90: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialgestionarpermisosyatributosdearchivosenGNU/LinuxEnestetutorialveremoscomopodemoscambiarpermisosdelectura,escritura,ejecuciónydepropietarioalosarchivosenGNU/Linux.

Palabrasclaves:permisosdearchivos,propietariodearchivo,chmod,chown,atributosespecialesarchivo,chattr,lsattr.

Paraverlospermisosdeldirectorioenelcualestamosposicionados:

ls-l

Locualnosdaráporejemploestasinformaciones:

-rw-rw-r--1usuariousuario15912Fev1820:48archivo_de_texto.txt

Loprimeroqueleemossonlospermisos-significaqueesunarchivonormal,r(read)quesepuedeleer,w(write)escribirporelpropietariodelarchivo.

Elsegundoterceto(rw-)sonlospermisosdelgrupodeusuariosyeltercero(r--)paraelrestodeusuarios.Elnúmeroquelesigueeslacantidaddeenlaces

Laterceracolumnasonelnombredelusuarioydelgrupodeusuarios,lacuartacolumnaeseltamañodelarchivo,luegovienelafechadelaúltimamodificaciónyporúltimoelnombredelarchivo.

drwxr-xr-x2usuariousuario4096Fev282014Documentos

Enestalíneavemosunaletrad(directory)alinicio,significaqueesundirectorio.Otrasopcionespuedenserl(links)enlaceyp(pipe).Laletraxsignificapermisoparaejecutarunprograma.

Porejemploparacambiarlospermisosalarchivoarchivo_de_texto.txtescribimos:

chmod664archivo_de_texto.txt

ParacambiarlospermisosaldirectorioDocumentos:

TutorialgestionarpermisosyatributosdearchivosenGNU/Linux

90

Page 91: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

chmod755Documentos

Paraentendermejorelporquédelosnúmeros:

755usuariogrupootrosr+w+xr+xr+x4+2+14+0+14+0+1

Encuantoalosusuarios,paracambiaralpropietariodeunarchivo:

chownusuario2archivo_de_texto.txt

Aquielpropietariodelarchivopasaaserusuario2.Paracambiartambiénelgruposería:

chownusuario2:usuario2archivo_de_texto.txt

Porúltimo,losarchivostienenatributosespecialesqueprohibenporejemplo,queéstosseanmovidos,borrados,modificadosorenombrados.Siescribimos:

chattr+iarchivo_de_texto.txt

Elarchivoquedaráinmutable.

Siqueremosenunfuturoborrarloomodificarlos:

lsattrarchivo_de_texto.txt

Másinformaciónenhttps://wiki.archlinux.org/index.php/File_permissions_and_attributes(idiomainglés)

TutorialgestionarpermisosyatributosdearchivosenGNU/Linux

91

Page 92: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialgestionaratributosextendidosdearchivosenGNU/LinuxEnestetutorialveremoscomopodemoseditarlosatributosextendidosdeunarchivoenGNU/Linux.

Palabrasclaves:atributosdearchivo,extendedfileattributes,attr,setfattr,getfattr.

Paraverlosatributosextendidosdelosarchivostenemosquetenerinstaladoattr:

sudoapt-getinstallattr

Porejemplo,vamosaagregaruncomentarioalarchivo_de_texto.txt:

setfattr-nuser.comment-v"esteesuncomentario"archivo-de-texto.txt

Parasabersiarchivo_de_texto.txttieneatributos:

getfattrarchivo_de_texto.txt

Paraveresosatributos:

getfattr-nuser.commentarchivo_de_texto.txt

Másinformaciónenhttp://www.linux-mag.com/id/8741/(idiomainglés)

TutorialgestionaratributosextendidosdearchivosenGNU/Linux

92

Page 93: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

ResolverproblemasenGNU/Linux

TutorialbuscandoinformacióndelsistemaoperativoenGNU/Linux

TutorialaprendiendoausarunprogramadechatparapedirayudaenLinux

TutorialbuscarayudaconlalíneadecomandosenLinux

TutorialeliminarkernelsantiguosenUbuntuoDebian

Tutorialresolver"GPGerror"usandoapt-getupdateenGNU/Linux

TutorialresolverproblemadeconfiguracióndelidiomaenGNU/Linux

TutorialcerrarprogramasbloqueadosenGNU/Linux

TutorialintroducciónaloslogsdelsistemaGNU/Linux

TutorialusarloslogsdelsistemaGNU/Linuxparadescubrirerrores

TutorialresolverproblemasconsistemasdearchivosenGNU/Linux

Tutorialrecuperararchivoseinformacióndediscosduros,CD-ROMsyDVDsdañados

Palabrasclaves:df,free,lshw,lsmod,ifconfig,iwconfig,ps,top,chat,irc,xchat,help,type,man,whatis,info,eliminarkernelantiguo,purge,GPGerror,locale,configuracióndeidioma,kill,log,dmesg,tail,rsyslog,udev,resolverproblema,sistemadearchivos,filesystem,e2fsck,dosfsck,ntfs-3g,testdisk,GNUddrescue,foremost.

ResolverproblemasenGNU/Linux

93

Page 94: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

ResolverproblemasenGNU/Linux

94

Page 95: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialbuscandoinformacióndelsistemaoperativoenGNU/LinuxEnestetutorialaprenderemosabuscarinformaciónsobrenuestrosistemaoperativo(RAM,discoduro,procesador,procesos,red,etc.)usandolalíneadecomandoenGNU/Linux

Palabrasclaves:líneadecomandos,commandline,shell,bash,df,free,lshw,lsmod,ifconfig,iwconfig,ps,top.

ParasaberelnombredelordenadoryelkernelLinuxusado:

uname-a

Elsistemaoperativo:

cat/etc/os-release

Parasabercuantoespaciotenemoseneldiscoduro:

df-h

ParasabercuantamemoriaRAMlibre:

free

Paraobtenerunalistadelhardwaredelordenador:

sudolshw

Listartodoslosmódulosquehacargadoelkernel:

lsmod

Paraverlosdatosdered(IP,gateway,broadcast,etc.):

ifconfig

Paraverlosdatosdelaredinalámbrica:

TutorialbuscandoinformacióndelsistemaoperativoenGNU/Linux

95

Page 96: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

iwconfig

Paraverlosprocesosactivos:

ps

Paraverlosprocesosentiemporeal:

top

Parasalirapretamoslateclaq

TutorialbuscandoinformacióndelsistemaoperativoenGNU/Linux

96

Page 97: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialaprendiendoausarunprogramadechatparapedirayudaenLinuxMuchosmiembrosdelacomunidadLinuxgeneralmentesuelenestarenunsaladechatparaestarencontactoconsuscolegasycuandopueden,ayudaralosnovatosaresolveralgúnproblema.Enestetutorialaprenderemosloscomandosbásicosdechat.ComousamosLinux,sugierolaaplicaciónXChataunquepodeistambiénchateardesdeelnavegadorutilizandolosservidoresdeFreenode,porejemplo:http://webchat.freenode.net/?channels=ubuntu-es.

Palabrasclaves:irc,chat,xchat,nick,join,query,irc.freenode.net.

ÓrdenestípicasdeIRC

/nicknuevo_nombreCambiamosnuestronick./join#ubuntu-esEntramosenuncanal./serverirc.freenode.netNosconectamosaunared./queryusuarioEntablamosunaconversaciónprivadaconunusuario./part#canalSalimosdelcanal./quit“mensajedesalida”Nosdesconectamosdeunaredenviandomensajedesalida./msgnickservregister<password><e-mail>.Registrarunnombredeusuario./msgnickservidentify<password>.Identificamoselnickregistrado./msgNickServghost<nick><password>.Conseguimosnuestronick,aunqueesteusadoporotrapersona./msgNickServINFO<nick>.ComprobamoscuantotiempollevamosconectadosalIRC./msgNickServSETPASSWORD<mynewpassword>.CambiarlacontraseñadelNickregistrado./asauthnickpass.Identificanuestronombredeusuario.

Comenzamos:

AbrimosunterminalylanzamosXChat:xchat

Xchatnospreguntaráaquéservidornosqueremosconectar(porejemploUbuntuoDebian),yluegonospediráunnickname(nombredeusuario).Podemoselegircualquiernombreperosiyaestásiendousadodeberemoselegirotro.Siteconectashabitualmentealared,deberíasregistrartunombredeusuarioenunservidor,paraquelosdemásusuariospuedanidentificarteynadiepuedausurpartupersonalidad(lasinstruccioneseninglés:http://freenode.net/faq.shtml#nicksetup).

Lasórdenesmáscomunesson:

TutorialaprendiendoausarunprogramadechatparapedirayudaenLinux

97

Page 98: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

/nicknuevo_nombreCambiamosnuestronick./join#ubuntu-esEntramosenuncanal./serverirc.freenode.netNosconectamosaunared./queryusuarioEntablamosunaconversaciónprivadaconunusuario./part#canalSalimosdelcanal./quit“mensajedesalida”Nosdesconectamosdeunaredenviandomensajedesalida.

Basadoenhttp://www.wikipedia.org(idiomainglés)

TutorialaprendiendoausarunprogramadechatparapedirayudaenLinux

98

Page 99: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialbuscarayudaconlalíneadecomandosenLinuxEsestetutorialaprenderemoscómobuscarayudayobtenerinformaciónutilizandolalíneadecomandoenLinux

Comandos:

type–Nosdicequecomandosevaaejecutarhelp–Exibeinformaciónsobreuncomandobuiltin(quepertenecealbash)man–Muestralapáginadelmanualdelcomandowhatis–Exibeunabrevedescripcióndelcomandoinfo–MuestralainformacióndelcomandoconlaayudadelproyectoGNU

Comenzamos:

Abrimosunterminalyescribimostype,nuestroprimercomando,quenosdicedóndeestaubicadodate:

typedatedatees/bin/date

Ahoraprobamoslaayudadeuncomandodelbash:

helphelp

Algunosejecutablespermitenlaopción--helpparamostrarargumentosyopcionesdelosmismos,porejemplo:

date--help

Todocomandotienesu/spágina/sdelmanualdeayudaconargumentos,opcionesy,aveces,ejemplos.La/sinvocamosconmanyelnombredelcomando(parasalirtecleamosq):

mandf

Encuantoawhatis,nosdaunabrevedescripcióndeparaquésirveuncomando:

TutorialbuscarayudaconlalíneadecomandosenLinux

99

Page 100: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

whatiswhoami

ParaverlainformacióndelproyectoGNUutilizamoselcomandoinfo:

infouname

Tip:Ladocumentacióndelosprogramassueleestaren/usr/share/docylapodemosverusandoelcomandolessparalosarchivosdetexto,zlessparalosarchivoscomprimidosgzipyunnavegadorwebparalosarchivos.htlm

TutorialbuscarayudaconlalíneadecomandosenLinux

100

Page 101: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialeliminarkernelsantiguosenUbuntuoDebianAmedidaquevamosactualizandonuestrosistemaoperativovanquedandoinstaladaslasversionesantiguasdelkernelLinux.Aquíveremoscomoeliminarlas

Palabrasclaves:eliminarkernelantiguo,uname,purge.

Parasabercuálesnuestrokernelactualescribimos:

uname-r

Siqueremosverunalistadetodosloskernelsinstalados:

dpkg--list|greplinux-image

Paraeliminarunodeloskernelsescribimosmodificando"x"conelnúmerodeversióndelmismo:

sudoapt-getpurgelinux-image-x.x.x.x-generic

Actualizamoselgestordeiniciodelsistemagrub2:

sudoupdate-grub2

Finalmentereiniciamoselsistema:

sudoshutdown-rnow

TutorialeliminarkernelsantiguosenUbuntuoDebian

101

Page 102: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Tutorialresolver"GPGerror"usandoapt-getupdateenGNU/LinuxEnestetutorialveremoscomopodemossolucionarelerrordeclavepública(publickey)indisponibleenGNU/Linuxcuandoqueremosactualizarelsistemaoperativoconsudoapt-getupdate

Palabrasclaves:GPGerror,publickeynotavailable,actualizarsistemaoperativo,apt-getupdate,dpkg.

Puedesucederquealintentaractualizarelsistemaoperativoconsudoapt-getupdatenosaparezcaesteerror:

Readingpackagelists...DoneW:GPGerror:http://extras.ubuntu.compreciseRelease:Thefollowingsignaturescouldn'tbeverifiedbecausethepublickeyisnotavailable:NO_PUBKEY16126D3A3E5C1192

Lasoluciónesingresarestoscomandos,unoalavez:

sudodpkg--configure-a

sudorm/var/lib/apt/lists/*-vf

sudoapt-getupdate

sudoapt-getclean

sudoapt-getupdate

sudoapt-keyadv--keyserverkeyserver.ubuntu.com--recv-keys16126D3A3E5C1192

Nota:Laclavepúblicapuedevariar,porloquetendreisquealterarlaenesecaso,colocandovuestraclave.

Másinformaciónenhttp://askubuntu.com/questions/127326/how-to-fix-missing-gpg-keys(idiomainglés)

Tutorialresolver"GPGerror"usandoapt-getupdateenGNU/Linux

102

Page 103: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialresolverproblemadeconfiguracióndelidiomaenGNU/LinuxEnestetutorialveremoscomoresolverelproblemadeconfiguracióndelidiomaincorrectoenGNU/Linux

Palabrasclaves:locale,configuracióndeidioma.

Sinosapareceelsiguienteerroraliniciarelsistemaoperativoocuandoqueremosinstalaralgúnprograma:

locale:CannotsetLC_ALLtodefaultlocale:Nosuchfileordirectory

Abrimosunterminalyescribimos:

locale

Lainformaciónqueaparecenosmostrarácómoestáconfiguradoelidioma.Ahoravamosagenerarlo:

sudolocale-genes_ES.UTF-8

Yreconfigurarlo:

sudodpkg-reconfigurelocales

Porúltimoreiniciamoselsistemaoperativo:

sudoshutdown-rnow

ForosdeGNU/Linuxenespañol:http://www.linuxespanol.com/index.php

TutorialresolverproblemadeconfiguracióndelidiomaenGNU/Linux

103

Page 104: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcerrarprogramasbloqueadosenGNU/LinuxEnestetutorialveremoscomopodemoscerrarprogramasqueestánbloqueadosenLinuxusandolautilidadkill

Palabrasclaves:kill,cerrarprogramasbloqueados,GNU/Linux.

Elmétodomásfácilparacerrarunprogramaesabrirunterminalyescribir:

xkill

ElpunterodelratónsetransformaráenunaXysimplementeclicandoenlaventanadelprogramabloqueadolocerrará.

Otraformaesutilizandolautilidadkilldesdelalíneadecomandos.Paraelloprimerotenemosqueaveriguarelidentificadordelprograma(PID)abriendounterminalyescribiendo:

ps-e

Enlalistaqueaparece,porejemplo,elprogramaFirefoxtieneelPID3192.Paracerrarloescribimos:

kill-93192

Siqueremosencambiobuscarunprogramaespecífico,porejemploescribimos:

ps-Cfirefox

ComoconcualquierutilidadLinux,usandomankillvereislaayudadelamisma(teclaqparasalir)

mankill

TutorialcerrarprogramasbloqueadosenGNU/Linux

104

Page 105: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialcerrarprogramasbloqueadosenGNU/Linux

105

Page 106: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialintroducciónaloslogsdelsistemaGNU/LinuxEnestetutorialveremosquesonlosarchivoslogycómopodemosusarlos

Palabrasclaves:log,rsyslog,dmesg,tail.

LosarchivoslogregistranlasactividadesdelosprogramasyserviciosensistemasGNU/Linux.Ellossonherramientasfundamentalesalahoradeadministrary/oanalizarloqueocurreenelsistemaoperativo.

Loslogsseencuentrandentrodeldirectorio/var/logysonrecogidosporeldemoniorsyslog.Parareiniciarloescribimos:

sudoservicersyslogrestart

Paraleerunarchivologsesueleutilizartail:

taildmesg

Tailsolamentemuestralasúltimas10líneasdelarchivo,siqueremosporejemplover18:

tail-n18dmesg

Paramonitorarentiemporealunserviciooprogramausamos:

tail-fdmesg

Porúltimo,paraeditarlaconfiguraciónbásicadeloslogseditamos:

vim/etc/rsyslog.conf

TutorialintroducciónaloslogsdelsistemaGNU/Linux

106

Page 107: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialusarloslogsdelsistemaGNU/LinuxparadescubrirerroresEnestetutorialveremoscuálessonlosarchivoslogquenospermitendescubrir,diagnosticaryresolverproblemasenGNU/Linux.

Palabrasclaves:log,tail,dmesg,udev.

Elarchivo/var/log/udevcontienelainformacióndelosdispositivosdetectadosporelkernelLinux:

tail-n90/var/log/udev

Dmesgmuestralosmensajesdelsistema:

tail-n90/var/log/dmesg

Paradiagnosticaryresolverproblemasdevideo(servidorgráficoX):

tail-n90/var/log/Xorg.0.log

Otrosarchivoslogcomunesson:

/var/log/auth.log:logdeautenticación/var/log/kern.log:logdelkernel/var/log/cron.log:logdecrond/var/log/boot.log:logdeiniciodelsistema/var/log/wtmp:logdelogins

AlgunasaplicacionescomoelservidorApache(httpd)creansupropiodirectoriodentrode/var/log/paraguardassusarchivoslog.

TutorialusarloslogsdelsistemaGNU/Linuxparadescubrirerrores

107

Page 108: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialresolverproblemasconsistemasdearchivosenGNU/LinuxEnestetutorialveremoscomopodemosresolverproblemasconlossistemasdearchivosdañadosenGNU/Linux

Palabrasclaves:sistemadearchivos,filesystem,resolverproblemas,e2fsck,dosfsck,ntfs-3g.

Pararesolverproblemasenlossistemasdearchivoext2,ext3yext4tenemoslaherramientae2fsck.Parausarlaprimerodesmontamoslaparticiónoeldiscorígidoconproblemas(sdb1comoejemplo):

sudoumountsdb1

Paraverificaryresolverproblemasmostrandounabarradeprogresoenunsistemadearchivosext4:

fsck.ext4-p-f-C0/dev/sdb1

Paraencontrarsectoresdañadosyhacerlosinutilizablesporelsistemaoperativo:

fsck.ext4-f-c-C0/dev/sdb1

Paraverificaryrepararsistemasdearchivosfat12,fat16yfat32(windows),ademásdeinutilizarlossectoresdañados:

fsck.vfat-l-v-a-t/dev/sdb1

Paraverificaryrepararsistemasdearchivosntfs(windows):

ntfsfix/dev/sda1

Másinformaciónen:https://help.ubuntu.com/community/FilesystemTroubleshooting(idiomainglés)

TutorialresolverproblemasconsistemasdearchivosenGNU/Linux

108

Page 109: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialresolverproblemasconsistemasdearchivosenGNU/Linux

109

Page 110: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Tutorialrecuperararchivoseinformacióndediscosduros,CD-ROMsyDVDsdañadosEnestetutorialveremoscomopodemosrecuperarinformacióndediscosduros,CD-ROMsyDVDsconproblemas

Palabrasclaves:discoduro,CD-ROM,DVD,testdisk,GNUddrescue,foremost.

Primeroinstalamoslosprogramasnecesariosparalatarea:testdisk,GNUddrescueyforemost.

sudoapt-getinstalltestdiskgddrescueforemost

Parabuscarennuestroordenadordiscosduros,particionesoCD-ROMsdañadosusamostestdisk:

sudotestdisk

ParapararecuperarunCD-ROMconGNUddrescueescribimos:

ddrescue-b2048/media/cdromnombre_imagen.isoarchivo.log

Losiguienteserámontarlaimagenobtenida:

sudomount-oloop/media/nombre_imagen.iso/mnt/

Encambio,porejemplo,pararecuperarlaparticiónhda1deldiscoduroescribimos:

ddrescue--no-split/dev/hda1nombre_imagenarchivo.log

Porotrolado,pararecuperararchivossueltosusamosforemost:

sudoforemost-tjpg-i/dev/hda1-o/media

Enestecasorecuperamosarchivosjpgdelaparticiónhda1,guardándoloseneldirectorio/media

Tutorialrecuperararchivoseinformacióndediscosduros,CD-ROMsyDVDsdañados

110

Page 111: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Másinformaciónsobrerecuperacióndeinformación:https://help.ubuntu.com/community/DataRecovery(idiomainglés)

GNUddrescue:http://www.forensicswiki.org/wiki/Ddrescue(idiomainglés)

Tutorialrecuperararchivoseinformacióndediscosduros,CD-ROMsyDVDsdañados

111

Page 112: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

SeguridadenGNU/Linux

Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/Linux

Tutorialhacercopiasderespaldo(backup)dediscosrígidosenGNU/Linux

Tutorialconfiguraruncontafuegos(firewall)enGNU/Linux

Tutorialexaminarsinuestroordenadorestásiendoinvadidoatravésdeunrootkit

Tutorialdescubrirrootkits,backdoors,sniffersymalwareconRKHunterenGNU/Linux

TutorialmonitorearreddeInternetconntopenGNU/Linux

TutorialescaneodepuertosconNmapenGNU/Linux

TutorialusartcpdumpparaanalizarpaquetesderedenGNU/Linux

Palabrasclaves:copiasderespaldo,rsync,GRsync,seguridad,GNU,Linux,copiasdeseguridad,backup,cortafuegos,firewall,chkrootkit,rootkit,backdoor,sniffer,malware,RKHunter,ntop,monitorearred,nmap,tcpdump,capturarpaquetesred.

SeguridadenGNU/Linux

112

Page 113: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/LinuxEnestetutorialveremoscómopodemoshacercopiasderespaldo(backup)dearchivosusandorsyncenGNU/Linux

Palabrasclaves:copiasderespaldo,copiasdeseguridad,backup,rsync,GRsync.

RsyncesunaherramientaquesirveparasincronizararchivosydirectoriosenGNU/Linux,porloqueesmuyútilalahoradehacercopiasderespaldo.Paracopiarunarchivoporejemploescribimos:

rsync-vnombre_del_archivonombre_del_archivo_de_backup

Lapróximavezqueejecutemosesamismaorden,copiaráelarchivosolamentesifuemodificado.

Siqueremoshacerunacopiaderespaldodeundirectorio:

rsync-avnombre_del_directorio/nombre_del_directorio_de_backup

Siporejemploborramosunarchivodeldirectorio,rsyncnoloborraráeneldirectoriodebackupamenosqueusemoslaopción--delete:

rsync-av--deletenombre_del_directorio/nombre_del_directorio_de_backup

Siqueremoshacerunacopiaenunordenadorremotousandossh:

rsync-av--deletenombre_del_directorio/usuario@IP_del_ordenador_remoto:/nombre_del_directorio_de_backup/

Oalcontrario:

rsync-av--deleteusuario@IP_del_ordenador_remoto:/nombre_del_directorio_de_backup/nombre_del_directorio/

Porúltimo,GRsyncesunadelasinterfacesgráficasdersyncenGNU/Linux.Lainstalamoscon:

Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/Linux

113

Page 114: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

sudoapt-getinstallgrsync

Másinformaciónenhttp://www.vicente-navarro.com/blog/2008/01/13/backups-con-rsync/

Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/Linux

114

Page 115: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Tutorialhacercopiasderespaldo(backup)dediscosrígidosenGNU/LinuxEnestetutorialveremoscomopodemoshacercopiasderespaldo(backupeninglés)deunapartición,undiscorígidoy/odenuestrosistemaoperativoGNU/Linuxcompleto

Palabrasclaves:backup,copiasderespaldo,copiasdeseguridad,mount,sync,dd.

Abrimosunterminalyverificamoscomoestáorganizadonuestrodiscorígido:

mount

Montamoseldiscorígidoquevamosausarparagrabarlacopiasdb:

mount/media/sdb

Sivamosahacerunacopiaderespaldodeundiscorígidooparticiónqueestánmontados,ejecutamossyncparadescargarlosdatosdelamemoriaRAMaldiscorígido:

sync

Ahorayapodemoshacerlacopiaderespaldo,porejemplodeldiscorígidosdaaldiscorígidoexternomontadocomosdb:

ddif=/dev/sda|bzip2-c>/media/sdb/disco-rigido.bz2

Enunfuturo,pararestauraresamismacopia:

bzip2-c-d/media/sdb/disco-rigido.bz2|ddof=/dev/sda

Másinformaciónen:http://doc.ubuntu-es.org/Clonar_discos_duros

Tutorialhacercopiasderespaldo(backup)dediscosrígidosenGNU/Linux

115

Page 116: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Tutorialconfiguraruncontafuegos(firewall)enGNU/LinuxEsestetutorialaprenderemoscómoconfigurarIPTABLES,elcomandoutilizadoporNETFILTER,cortafuegospredeterminadodeGNU/Linux

Parasabersilotenemosinstalado,abrimosunterminalyescribimos:

whereisiptables

EstecomandonosdirásiIPTABLESestáinstaladoyeldirectoriodondereside.Paravercómoestáconfiguradoescribimos:

sudoiptables-L

Sitenemosalgunareglayqueremosborrarlaparacomenzardesde0:

sudoiptables-F

AhoraconfiguramosIPTABLESescribiendoreglasquepermitentráficohaciaafueradenuestrared(usarInternet,correoelectrónico,etc.)ybloqueaneltráficodesdeafuera(invasióndehackers,programasespías,etc.).

Reglaparaaceptarlasconexionesentrantes:

sudoiptables-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT

Reglaparapermitirloopback(lo0)ybloqueartráficoa127/8:

sudoiptables-AINPUT-ilo-jACCEPTsudoiptables-AINPUT!-ilo-d127.0.0.0/8-jREJECT

Reglaparapermitirhacerping:

sudoiptables-AINPUT-picmp-micmp--icmp-type8-jACCEPT

Reglaparapermitirtráfico(Internetporejemplo)salirdenuestrared:

Tutorialconfiguraruncontafuegos(firewall)enGNU/Linux

116

Page 117: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

sudoiptables-AOUTPUT-jACCEPT

Reglapararechazarotrotipodeconexionesentrantes:

sudoiptables-AINPUT-jREJECTsudoiptables-AFORWARD-jREJECT

Ahoratenemosquesalvarestasnuevasreglas,casocontrariocuandoapagamoselordenadoréstasseborran.Parasalvarlasinstalamoselprogramaiptables-persistent:

sudoapt-getupdatesudoapt-getinstalliptables-persistent

Elprogramanospreguntarásiqueremossalvarlasreglasconfiguradasanteriormente.Aceptamosyfinalizamoslainstalación.

Másinformaciónen:AyudaUbuntu(idiomainglés)yen:Netfilter.org(idiomainglés)

Tutorialconfiguraruncontafuegos(firewall)enGNU/Linux

117

Page 118: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialexaminarsinuestroordenadorestásiendoinvadidoatravésdeunrootkitUnrootkitesunprogramaoconjuntodeprogramasusadosporunintrusoparaaccederaunordenadorsinservisto.EnestetutorialveremoscómoinstalarChkrootkit,unaherramientaquebuscapistasdeunrootkit.

Palabrsclaves:CHkrootkit,rootkit.

Abrimosunterminalyescribimos:

sudoapt-getinstallchkrootkit

Parausarloescribimos:

sudochkrootkit

Estaordenrealizarátodoslostests.

Otrasconfiguraciones:paraqueseejecutediariamenteabrimoselarchivo:

/etc/chkrootkit.conf

Yreemplazamos:

RUN_DAILY="false"

por

RUN_DAILY="true"

Tutorialexaminarsinuestroordenadorestásiendoinvadidoatravésdeunrootkit

118

Page 119: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Tutorialdescubrirrootkits,backdoors,sniffersymalwareconRKHunterenGNU/LinuxRootkitHunterescaneanuestrosistemaoperativoenbuscaderootkits,backdoors,sniffersymalware.

Palabrasclaves:Rkhuntes,rootkit,backdoor,sniffer,malware,log.

Abrimosunterminalyescribimos:

sudoapt-getinstallRkhunter

Parausarloescribimos:

sudochkrootkit--check

Estaordenrealizarátodoslostestsycrearáunarchivorkhunter.logconlosresultadosen/var/log/.

Paraactualizarelprogramaescribimos:

rkhunter--update

Paraverotrasopcionesdelmismo:

sudorkhunter--help

Tutorialdescubrirrootkits,backdoors,sniffersymalwareconRKHunterenGNU/Linux

119

Page 120: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialmonitorearreddeInternetconntopenGNU/LinuxNTOPesunaherramientademonitoreoygeneracióndereportesdeusoderedentiemporealparaGNU/Linux.Enestetutorialveremoscomoinstalarlayusarla.

Palabrasclaves:Ntop,monitoreored,ntopng.

Parainstalarla:

sudoapt-getinstallntop

Seabriráunaventanapidiéndonoslaolasinterfacesderedamonitorar(sinolassabemospodemosusarifconfigperoengeneralsoneth0siesporcableowlan0siesredinalámbrica)yunusuario/contraseña.Unavezcompletadalainstalaciónlainiciamos:

ntop

Ahorapodemosiralainterfazwebdelaherramientaabriendounnavegadorenelpuerto3000:

http://IP_servidor:3000

Porotrolado,tenemostambiénNTOPNG,queeslasiguientegeneracióndeNTOPconunainterfazwebmásamigable.

Másinformaciónenhttp://www.ntop.org/(idiomainglés)

TutorialmonitorearreddeInternetconntopenGNU/Linux

120

Page 121: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialescaneodepuertosconnmapenGNU/LinuxNMAPesunaherramientadeescaneodepuertosygeneracióndereportesdeusoderedentiemporealparaGNU/Linux.Enestetutorialveremoscomoinstalarlayusarla

Palabrasclaves:Nmap,puertosabiertos.

Parainstalarlaabrimosunterminalyescribimos:

sudoapt-getinstallnmap

PorejemploparaescanearnuestroservidorconIP192.168.0.10escribimos:

nmap192.168.0.10

Nosmostraráunalistadelospuertosabiertos.ValelapenaleerlaayudadeNMAP:

nmap-h

Allíporejemploencontraremosqueparasaberelsistemaoperativodelordenadorescaneadoescribimos:

nmap-O192.168.0.10

Parasaberquetipodeservidortenemosenelpuerto80:

sudonmap192.168.0.10-p80-sV

Paraescaneartodalared:

sudonmap192.168.0.0/24

Másinformaciónen:http://www.insecure.org/nmap(idiomainglés)

TutorialescaneodepuertosconnmapenGNU/Linux

121

Page 122: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialescaneodepuertosconnmapenGNU/Linux

122

Page 123: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialusartcpdumpparaanalizarpaquetesderedenGNU/LinuxTcpdumpesunapoderosaherramientadelíneadecomandosutilizadaparacapturar,mediantelabibliotecalibpcap,eltráficodeunaredLAN,WAN,etc.enGNU/Linux.

Palabrasclaves:red,internet,LAN,WAN,paquete,network,packet,tcpdump,commandline,líneadecomandos,GNU,Linux.

Parainstalartcpdump:

sudoapt-getinstalltcpdump

Paraverqueinterfacesderedtenemosinstaladas:

sudotcpdump-D

Paracomenzaracapturarpaquetesenlaredinalámbrica:

sudotcpdump-nS-iwlan0

Parausartcpdumpenmodoverboseentodaslasinterfacesdered:

sudotcpdump-v-iany

ParaevitarquetcpdumpbusquelosnombresdedominiodelasIPcapturadas(aceleralacaptura):

sudotcpdump-n-v

Porúltimo,paraenviarlacapturadepaquetesaunarchivo:

sudotcpdump-wnombre-archivo.txt-s0

Yparaleerlo:

sudotcpdump-rarchivo.txt

TutorialusartcpdumpparaanalizarpaquetesderedenGNU/Linux

123

Page 124: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Másinformaciónen:http://www.tcpdump.org/(idiomainglés)yuntutorial:http://www.alexonlinux.com/tcpdump-for-dummies(idiomainglés)

TutorialusartcpdumpparaanalizarpaquetesderedenGNU/Linux

124

Page 125: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

ProgramarenGNU/Linux

Comocrearunscriptenlalíneadecomando(shellscript)

Tutorialbásicocrontab

TutorialComandosdeiniciodelsistemaoperativo

VariablesdelsistemaGNU/Linux

TutorialAwkcomocomandoycomolenguajedeprogramación

Palabrasclaves:shellscript,bash,programar,programartarea,crontab,modificarconfiguraciónusuario,rc.local,profile,variablesdelsistemaoperativo,variablesusuario,set,PATH,awk.

ProgramarenGNU/Linux

125

Page 126: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Comocrearunscriptenlalíneadecomando(shellscript)Unshellscriptesunarchivoquecontieneunaseriedecomandos.UnaopciónsumamenteútilalahoradeautomatizartareasenGNU/Linux.Enesteejemplocrearemosunscriptquemuestreunaseriedenúmeros.

Palabrasclaves:shellscript,bash,programar.

Abrimosunterminalycreamoselarchivocontar_hasta_5.sh:

cat>contar_hasta_5.sh

Escribimoslosiguienteenélysalimosconctrl+D:

#!/bin/bash

#contar_hasta_5.sh:muestraunaseriedenúmeros

count=1

while[$count-le5];do

echo$count

count=$((count+1))

done

echo"Contarhasta5."

Ahoraprocederemosadarlepermisosdeejecuciónalarchivo:

chmod755contar_hasta_5.sh

Controlamosquetodoestécorrecto:

ls-lcontar_hasta_5.sh`-rwxr-xr-x1usuariousuario147Out2016:53contar_hasta_5.sh`

Finalmenteloejecutamos:

Comocrearunscriptenlalíneadecomando(shellscript)

126

Page 127: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

./contar_hasta_5.sh

Resultado:

1

2

3

4

5

Contarhasta5.

Comocrearunscriptenlalíneadecomando(shellscript)

127

Page 128: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialbásicocrontabEnestetutorialveremoscomopodemoscrearyagendarunatareaenGNU/Linuxusandolautilidadcrontab

Palabrasclaves:crontab,programartarea,script.

Nota:sinosabeisutilizarvimosaconsejohacereltutorialdeesteeditorprimero.

Abrimosunterminalyescribimos:

crontab-e

Enesearchivocrontabtenemosqueescribirunaordendelasiguientemanera:

minutos(0-59)horas(0-23)dias(1-31)meses(1-12)dias_de_la_semana(0-6)orden_a_ejecutar

Podeisusarunasterisco(*)comounvalor.Porejemplo,usarunasteriscoparalasemanaharáqueelcomandoseejecutecadasemana.

Ejemplo:Paraejecutarelcomando/usr/bin/ejemplo1alas10:30a.m.cadadiaescribimos:

2910***/usr/bin/ejemplo

Siquereisespecificarmultipleshorários,tendreisquesepararporcomaslosvalores.Enesteejemploelcomandoseejecutarácada15minutos:

0,14,29,44****/usr/bin/ejemplo1

Unúltimoejemploseparandounrangodevaloresconunguión,vamosaejecutaramediodiatodoslosdíasperosolamenteenlosprimerosseismesesdelaño:

012*1-6*/usr/bin/ejemplo1

ejemplo1esunscriptpreviamentecreadoconlastareasquequeremosautomatizar,porejemplounacopiadeseguridad,unaactualizacióndelsistemaoperativo,etc.

Paralosarchivoscrontabquenecesitandepermisosdeadministradordebemosusar:

Tutorialbásicocrontab

128

Page 129: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

sudocrontab-e

Másinformaciónen:http://crontab.org/(idiomainglés)

Tutorialbásicocrontab

129

Page 130: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

ComandosdeiniciodelsistemaoperativoGNU/LinuxEnestetutorialveremosunaintroducciónaloscomandosejecutadoseneliniciodelsistemaoperativoGNU/Linux.

Palabrasclaves:modificarconfiguraciónusuario,rc.local,profile.

Cuandoelsistemaoperativoseinicia,tenemosarchivosqueejecutanlasórdenesbásicasdelsistema.Nosotrospodemosveromodificaresosarchivosparaadaptarlosanuestrosgustos.rc.localeselarchivoqueseejecutajustoluegodeliniciodelsistema:

cat/etc/init.d/rc.local

profileseejecutaluegodeliniciodesesióndeusuário:

cat/etc/profile

Lasconfiguracionesparticularesdecadausuárioestánenelarchivo.profileeneldirectoriodelusuário,porej.:

ComandosdeiniciodelsistemaoperativoGNU/Linux

130

Page 131: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

cat.profile

#~/.profile:executedbythecommandinterpreterforloginshells.#Thisfileisnotreadbybash(1),if~/.bash_profileor~/.bash_login#exists.#see/usr/share/doc/bash/examples/startup-filesforexamples.#thefilesarelocatedinthebash-docpackage.

#thedefaultumaskissetin/etc/profile;forsettingtheumask#forsshlogins,installandconfigurethelibpam-umaskpackage.#umask022

#ifrunningbashif[-n"$BASH_VERSION"];then#include.bashrcifitexistsif[-f"$HOME/.bashrc"];then."$HOME/.bashrc"fifi

#setPATHsoitincludesuser'sprivatebinifitexistsif[-d"$HOME/bin"];thenPATH="$HOME/bin:$PATH"fi

ComandosdeiniciodelsistemaoperativoGNU/Linux

131

Page 132: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

VariablesdelsistemaGNU/LinuxEnestetutorialveremosunaintroducciónalasvariablesdeambiente.

Lasvariablesdeambientesoninformacionesquedefinenparámetrosnecesariosparaelfuncionamentodelsistemaoperativoydesusprogramas,porejemplo,eltipodeshellqueusaelusuário,sudirectorioprincipaloidioma.

Palabrasclaves:variablesdelsistemaoperativo,variablesusuario,set,PATH,profile.

Paraverlasvariablesescribimos:

set

UnavariableimportanteesPATH,éstainformaquedirectoriostienenarchivosejecutables.ParaverlosdirectoriosqueestáncomoPATH:

echo$PATH

Unejemplo,siyoestoyeneldirectoriopruebasyquieroejecutarunarchivo,tendríaquecolocarlotemporalmenteenlavariablePATH:

PATH=$PATH:/pruebas

Oeditaresavariablepermanentementedentrodelarchivo/etc/profile.

VariablesdelsistemaGNU/Linux

132

Page 133: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

TutorialAwkcomocomandoycomolenguajedeprogramaciónEstetutorialesunabreveintroducciónalusodeawkcomocomandoycomolenguajedeprogramaciónenGNU/Linux

Palabrasclaves:awk,script.

Awknoessolounprogramautilitariosinotambiénunlenguajedeprogramación,loquelohaceútilalahoradecrearscriptstambién.Fuediseñadoparaextraerdatosporloqueaquíveremosalgunosejemplos.

Veamoselprimero.Abrimosunterminalyescribimos:

dpkg-l|awk'{print$2}'>instalados.txt

Enestecasoawkcrearáunarchivollamadoinstalados.txtconunlistadodelasegundacolumnadelcomandodpkg-lquemuestraelnombredelosprogramasinstaladosennuestroordenador.

Siqueremosimprimirtodaslascolumnas:

dpkg-l|awk'{print$0}'>instalados.txt

Otroejemplo,enestecasoprogramandoelclásico"HolaMundo":

awk"BEGIN{print\"HolaMundo\"}"

Paraimprimirnuevenúmerosaleatorios:

awk'BEGIN{for(i=1;i<=9;i++)printint(101*rand())}'

Contarlafrecuenciasdelaspalabrasdelarchivoinstalados.txt:

awk'BEGIN{FS="[^a-zA-Z]+"}\{for(i=1;i<=NF;i++)words[tolower($i)]++}\END{for(iinwords)printi,words[i]}'instalados.txt

Másejemplosen:http://www.linux-es.org/node/31

TutorialAwkcomocomandoycomolenguajedeprogramación

133

Page 134: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

Elmanualcompleto:http://www.gnu.org/software/gawk/manual/gawk.html(idiomainglés)

TutorialAwkcomocomandoycomolenguajedeprogramación

134

Page 135: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

BibliografíaLoslibroselectrónicoslospodeisdescargardemibloghttps://www.fortinux.com

PERPIÑAN,A.(2007).BásicamenteGNU/LINUXSegundaedición.SantoDomingo(Rep.Dominicana):ImpresosGamma.

SHOTTS,W.E.Jr.(2009).TheLinuxCommandLine.http://linuxcommand.org.Consultado:27/03/2013.

WILDING,M.,BEHMAN,D.(2005).Self-ServiceLinux®MasteringtheArtofProblemDetermination.USA:PrenticeHall-BrucePerens’OpenSourceSeries.

KIRCH,O.(1999).GuíadeAdministracióndeRedesconLinux,(TraducciónProyectoLuCAShttp://es.tldp.org/).

Bibliografía

135

Page 136: Table of Contents · Hacking para principiantes Este libro es una colección de tutoriales con instrucciones para la administración de usuarios, sistemas de archivos, copias de backup,

AnexoA:RecursosLinuxformscrach(LFS):UnproyectoqueproveeinstruccionespasoapasoparacrearnuestrapropiaversiónpersonalizadadeGNU/Linux.http://www.linuxfromscratch.org/index.html

Explainshell.com:Nosmuestralaayudadecadacomandoquenosotrosescribimos.Sumamenteútilparaentenderloqueestamoshaciendo.http://explainshell.com/

Openvim.comUntutorialinteractivodeVim.Recomendable.http://www.openvim.com/

AnexoA:Recursos

136