TutorialesGNU/Linux:hackingparaprincipiantes Tabladecontenido 1. TutorialesGNU/Linux i. Licencia ii. Garantía iii. Agradecimientos iv. Sobreelautor v. Convencionesdeestelibro 2. Prefacio 3. Usandolalíneadecomandos i. TutorialaprendiendoausarlalíneadecomandosenGNU/Linux ii. TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux iii. TutorialusarfindparabuscararchivosodirectoriosenGNU/Linux iv. TutorialcomprimirarchivosydirectoriosenGNU/Linux v. TutorialcrearenlacesaficherosydirectoriosenGNU/Linux vi. TutorialusargrepparabuscartextodentrodearchivosenGNU/Linux vii. Tutorialpararmomentáneamenteunprocesooaplicación viii. TutorialcerrandooreiniciandoGNU/Linux ix. TutorialcomodescargarprogramasoarchivosdeinternetconWgetenGNU/Linux 4. InstalaraplicacionesenGNU/Linux i. TutorialcomoinstalarprogramasenGNU/Linux ii. TutorialcomoinstalarprogramasdesdeelcódigofuenteenGNU/Linux iii. TutorialinstalaryconfigurarGitenGNU/Linux iv. TutorialinstalarLXCenGNU/Linux v. TutorialinstalarVagrantparausarambientesvirtualesenGNU/Linux vi. TutorialinstalarservidorLAMPenGNU/Linux vii. TutorialinstalarAtomemGNU/Linux viii. TutorialinstalarBracketsenGNU/Linuxparadesarrolloweb 5. UsaraplicacionesenGNU/Linux i. TutorialbásicoVim ii. Tutorialconvertirpáginaswebapdf iii. Tutorialinstalaryusaryoutube-dlparabajarmusica iv. TutorialcrearimágenesQRdepáginaswebenGNU/Linuxconqrencode v. TutorialusarPngquantenLinux vi. CompresordeimágenesTrimage vii. TutorialextraerpáginasdearchivospdfconPDFTKenLinux viii. TutorialuniendoarchivospdfconPDFTKenLinux ix. TutorialabrirmúltiplesconsolasenunasolaventanaconTmuxenGNU/Linux x. TutorialcompartirsesionesSSHconTmuxenGNU/Linux xi. TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux 6. AdministrarGNU/Linux i. TutorialquéesrootycomousarloenGNU/Linux ii. TutorialcomofuncionaelprocesodeinicioenGNU/Linux iii. TutorialcomofuncionanlosnivelesdeejecuciónenGNU/Linux iv. TutorialgestionarprocesosenunsistemaoperativoGNU/Linux v. TutorialverprogramasinstaladosenGNU/Linux vi. TutorialconfigurandounsistemaRAIDenGNU/Linux vii. TutorialcrearoeliminarparticionesenGNU/Linuxconfdisk viii. TutorialcrearoeliminarunaparticiónswapenGNU/Linux ix. TutorialformatearparticionesenGNU/Linux x. TutorialmontarydesmontarunpendriveusbenGNU/Linux 2 TutorialesGNU/Linux:hackingparaprincipiantes xi. TutorialMontarparticionesNTFSenGNU/LinuxUbuntu xii. TutorialmontarparticionesNFSenunaredGNU/Linux xiii. TutorialconfigurarlaredenGNU/Linux xiv. TutorialConfigurarImpresoraenunaredGNU/Linux xv. TutorialconfigurarusuariosenGNU/Linux xvi. TutorialconfigurargruposdeusuariosenGNU/Linux xvii. TutorialgestionarpermisosyatributosdearchivosenGNU/Linux xviii. TutorialgestionaratributosextendidosdearchivosenGNU/Linux 7. ResolverproblemasenGNU/Linux i. TutorialbuscandoinformacióndelsistemaoperativoenGNU/Linux ii. TutorialaprendiendoausarunprogramadechatparapedirayudaenLinux iii. TutorialbuscarayudaconlalíneadecomandosenLinux iv. TutorialeliminarkernelsantiguosenUbuntuoDebian v. Tutorialresolver"GPGerror"usandoapt-getupdateenGNU/Linux vi. TutorialresolverproblemadeconfiguracióndelidiomaenGNU/Linux vii. TutorialcerrarprogramasbloqueadosenGNU/Linux viii. TutorialintroducciónaloslogsdelsistemaGNU/Linux ix. TutorialusarloslogsdelsistemaGNU/Linuxparadescubrirerrores x. TutorialresolverproblemasconsistemasdearchivosenGNU/Linux xi. Tutorialrecuperararchivoseinformacióndediscosduros,CD-ROMsyDVDsdañados 8. SeguridadenGNU/Linux i. Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/Linux ii. Tutorialhacercopiasderespaldo(backup)dediscosrígidosenGNU/Linux iii. Tutorialconfiguraruncontafuegos(firewall)enGNU/Linux iv. Tutorialexaminarsinuestroordenadorestásiendoinvadidoatravésdeunrootkit v. Tutorialdescubrirrootkits,backdoors,sniffersymalwareconRKHunterenGNU/Linux vi. TutorialmonitorearreddeInternetconntopenGNU/Linux vii. TutorialescaneodepuertosconnmapenGNU/Linux viii. TutorialusartcpdumpparaanalizarpaquetesderedenGNU/Linux 9. ProgramarenGNU/Linux i. Comocrearunscriptenlalíneadecomando(shellscript) ii. Tutorialbásicocrontab iii. ComandosdeiniciodelsistemaoperativoGNU/Linux iv. VariablesdelsistemaGNU/Linux v. TutorialAwkcomocomandoycomolenguajedeprogramación 10. Bibliografía 11. AnexoA:Recursos 3 TutorialesGNU/Linux:hackingparaprincipiantes TutorialesGNU/Linux. Hackingparaprincipiantes TutorialesGNU/Linux 4 TutorialesGNU/Linux:hackingparaprincipiantes TutorialesGNU/Linux Hackingparaprincipiantes MarceloHoracioFortino Primeraedición Barcelona,España Setiembre2014 ISBN:978-84-606-7548-8 TutorialesGNU/Linux.HackingparaprincipiantesporMarceloHoracioFortino. EstaobraestásujetaalalicenciaReconocimiento-CompartirIgual4.0InternacionaldeCreativeCommons.Paraveruna copiadeestalicencia,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 5 TutorialesGNU/Linux:hackingparaprincipiantes Garantía Estelibrosedistribuyeconlaesperanzadequeseaútil,peroSINNINGUNAGARANTÍA,inclusosinlagarantía MERCANTILimplícitaosingarantizarlaCONVENIENCIAPARAUNPROPÓSITOPARTICULAR.Elautornoasume ningunaresponsabilidadsiellectorhaceunmalusodelmismo. Garantía 6 TutorialesGNU/Linux:hackingparaprincipiantes Agradecimientos AAdriana. Atod@slosquemeenseñaron,principalmentemisamigosymifamilia. AtodalacomunidaddeSoftwareLibre. Agradecimientos 7 TutorialesGNU/Linux:hackingparaprincipiantes Sobreelautor MarceloHoracioFortinoesunprofesionaldelastecnologíasdelainformaciónconmásde17añosdeexperienciaenla industriayserviciosasociados.Trabajócomodiseñadoryprogramadorweb,administradordesistemas,formadorylíder deproyectos.ActualmenteesconsultordeTI. HacontribuídoenvariosproyectosdeSoftwareLibrecomoPHPCalendar,UbuntuManual,OpenOffice.OrgyThe DocumentFoundation. 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,yfue presidenteyfundadordeLibrePlanetBarcelonaydeProfesionalesAsociadosdelaWeb(PAW). E-mail:[email protected] Twitter:@fortinux Google+https://google.com/+marcelofortino Linkedinhttp://es.linkedin.com/in/marcelofortino Blog:http://www.fortinux.com Githubhttps://github.com/fortinux Slideshare.nethttp://www.slideshare.net/fortinux PlanetaLinuxhttp://planetalinux.org/es/ Sibuscaunformador,conferencistaoconsultorTICconconocimientosdesoftwarelibreydefuenteabiertalopuede contactarporemail,twitterolinkedin. Sobreelautor 8 TutorialesGNU/Linux:hackingparaprincipiantes Convencionesdeestelibro Cuandoleasestelibro,verásquealgunaspalabrasestánrepresentadasconfuentesytiposdeletradiferentes.Por ejemplo: comando LoscomandosenGNU/Linuxserepresentandeestamanera.Esteestiloindicaquepuedesescribirlapalabraofraseen lalí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 9 TutorialesGNU/Linux:hackingparaprincipiantes Prefacio Bienvenid@saTutorialesGNU/Linux,hackingparaprincipiantes;unacoleccióndetutorialesqueresuelvendudasy problemastécnicosbásicosrelacionadosconelsoftwareyelhardwareenunsistemaoperativoGNU/Linux.Unlibroideal parausarcomoreferenciaalahoradeadministrartusistemaoperativoGNU/Linux. Lamayoríadelasdefinicionesde'hacking'enel'jargonfile'delhackerEricS.Raaymond¹estánbasadasprincipalmente "enlaaficiónalotécnicoyenelplacerderesolverproblemassobrepasandoloslímites". Laideadeestelibroescapturaresaesenciamediantesimplesyprácticostutorialesparaquepuedascomenzarahackear tuordenadorutilizandolalíneadecomandos. Aquíencontrarásinstruccionesparalaadministracióndeusuarios,sistemasdearchivos,copiasdebackup,configuración dehardware,instalacióndesoftware,monitorizaciónderedes,resolucióndeproblemas,seguridad,herramientasyuna introducciónalaprogramacióndescripts. LostutorialesestánbasadosenlasdistribucionesGNU/LinuxDebian7yUbuntu14.04porlocualparaotrasversionesy/o sistemasoperativospuedesernecesariorealizaralgunoscambios. ¹Cómoconvertirseenhackerhttp://www.catb.org/~esr/faqs/hacker-howto.html Prefacio 10 TutorialesGNU/Linux:hackingparaprincipiantes Usandolalíneadecomandos Lainterfazdeusuario,comunmentellamadalíneadecomandos(commandlineinterfase-CLIeninglés)esunmétodo quenospermitedarinstruccionesalosprogramasutilizandoórdenesdetexto. Conellapodemoscrearusuários,editarficheros,automatizartareasmediantearchivosbatchyadministrarnuestro sistemaoperativoGNU/Linux. TutorialaprendiendoausarlalíneadecomandosenGNU/Linux TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux TutorialusarfindparabuscarficherosodirectoriosenGNU/Linux TutorialcomprimirficherosydirectoriosenGNU/Linux TutorialcrearenlacesaficherosydirectoriosenGNU/Linux TutorialusargrepparabuscartextodentrodeficherosenGNU/Linux Tutorialpararmomentáneamenteunprocesooaplicación TutorialcerrandooreiniciandoGNU/Linux TutorialcomodescargarprogramasoficherosdeinternetconWgeten GNU/Linux Palabrasclaves:interfazdeusuario,líneadecomandos,CLI,commandline,shell,terminal,editarficheros,comandofind, comprimirficheros,gzip,tar,enlaces,links,Wget,descargarprogramas,GNU,Linux. Enelprincipio...fuelalíneadecomandos.NealStephenson Usandolalíneadecomandos 11 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialaprendiendoausarlalíneadecomandosen GNU/Linux Enestetutorialaprenderemosdesde0autilizarlalí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,paraver losdetallesdeldirectorio/usrutilizamoslasopciones-l(descripciónlarga)yd(directorio): ls-ld/usr Encambiosiqueremosverelcontenido: ls-l/usr Paraverloquehaydentrodeunarchivopodemosusarelcomandoless: TutorialaprendiendoausarlalíneadecomandosenGNU/Linux 12 TutorialesGNU/Linux:hackingparaprincipiantes lessarchivo.txt Salimosapretandolaletraqdelteclado. Otambiénelcomandocat: catarchivo.txt Uncompletolistadodecomandolopodeisencontraren:http://cb.vu/unixtoolbox.xhtml(idiomainglés) TutorialaprendiendoausarlalíneadecomandosenGNU/Linux 13 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialeditarficherosydirectoriosconlalíneade comandosenGNU/Linux EnestetutorialvamosautilizarlalíneadecomandoenGNU/Linuxparatrabajarconficherosydirectorios,aprendiendoa copiar,mover,borraryeditarlosmismos. Palabrasclaves:líneadecomandos,commandline,mkdir,cp,mv,rm,cat. Comandos: mkdir–Creadirectorios cp–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: cdpruebas2 ls Volvemosaldirectorio“pruebas”yallícopiamoseldirectorio“pruebas2″como“pruebas3″(-rsirveparacopiarloquehay dentrodeesedirectorio): TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux 14 TutorialesGNU/Linux:hackingparaprincipiantes 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ón antesdehacerlo,conyaceptamos): cdpruebas2 rm-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,paraver losdetallesdeldirectorio/pruebasutilizamoslasopciones-l(descripciónlarga)yt(time:ordenadoporúltimos modificados): ls-lt/pruebas TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux 15 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialusarfindparabuscararchivosodirectoriosen GNU/Linux Enestetutorialveremoscó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 16 TutorialesGNU/Linux:hackingparaprincipiantes TutorialcomprimirarchivosydirectoriosenGNU/Linux EnestetutorialveremoscomopodemoscomprimirarchivosydirectoriosenGNU/Linuxdesdelalíneadecomandos. Palabrasclaves:líneadecomandos,commandline,comprimir,gzip,bzip2,xz,tar. Paracomprimirunarchivoodirectoriousaremoselcomandotarjuntoconunaherramientadecompresióntipogzip(la másantigua),bzip2(probablementelamásusada)yxz(lamásnuevaygeneralmentecommejorratiodecompresión). Comenzamoscomprimiendocongzip:Paraellovamosaldirectoriodondeestánlosarchivosquequeremoscomprimircon gzipyescribimos: 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: tar-xvfarchivo-comprimido.tar.gz-C/nombre-del-directorio/ Paracomprimirunarchivogzcongzip: gzip-9nombre-del-archivo1 Paradescomprimirunarchivogzcongzip: TutorialcomprimirarchivosydirectoriosenGNU/Linux 17 TutorialesGNU/Linux:hackingparaprincipiantes gzip-darchivo-comprimido.gz Unapáginadeayuda:http://linuxzone.es/metodos-de-compresion-y-descompresion-en-linux/ TutorialcomprimirarchivosydirectoriosenGNU/Linux 18 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialcrearenlacesaficherosydirectoriosen GNU/Linux EnestetutorialaprenderemosautilizarlalíneadecomandoenGNU/Linuxparacrearenlacessimbólicosaficherosy directorios. 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 -rw-rw-r--1usuariousuario0Nov612:08archivo-de-pruebas.txt drwxrwxr-x2usuariousuario4096Nov611:09pruebas2 lrwxrwxrwx1usuariousuario8Nov612:17pruebas2enlace->pruebas2 TutorialcrearenlacesaficherosydirectoriosenGNU/Linux 19 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialusargrepparabuscartextodentrodearchivos enGNU/Linux Grepesuncomandomuyú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 20 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialpararmomentáneamenteunprocesoo aplicación EnestetutorialveremoscomopararenGNU/Linuxlaejecucióndeumprocesoycomoretornaralmismo Palabrasclaves:líneadecomandos,commandline,jobs,fg,PID,bg,gnu,linux. Parapararunprocesobastapresionarlasteclasctrl+z.Mientraseseprogramaestáparadoenlamemorianosotros podemosusarotroscomandosoprogramas.Parapoderejecutarlonuevamenteusaremoselcomandojobsparasaberel númeroPIDdelmismo: jobs Elcomandojobsmuestralosprocesosqueestánparadosorodandoensegundoplano.fgencambioseráelcomando utilizadoparatraerloalprimerplanonuevamente,juntoconelnúmerodePID: fg[número] SifgesusadosinelnúmeroPIDtraeráelúltimoprogramainterrumpido. bgporotraparte,lepermiteaunprogramaqueestárodandoenprimerplanooparadopasararodarensegundoplano. Primerointerrumpimossuejecuciónconctrl+z,yluegousamoselcomandobgparainiciarlaejecuciónensegundo plano. bg[número] Tutorialpararmomentáneamenteunprocesooaplicación 21 TutorialesGNU/Linux:hackingparaprincipiantes TutorialcerrandooreiniciandoGNU/Linux Enestetutorialveremoscó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,y apretandolassiguentesteclasenestasecuencia:PrintScreen+r+e+i+s+u+b Másinformaciónen:http://es.wikipedia.org/wiki/REInicia_SUBnormal TutorialcerrandooreiniciandoGNU/Linux 22 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialcomodescargarprogramasoarchivosde internetconWgetenGNU/Linux WgetesunaherramientadelíneadecomandosmuyútilalahoradedescargarprogramasoarchivosdeInternet.Vamos avercó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 23 TutorialesGNU/Linux:hackingparaprincipiantes InstalandoaplicacionesenGNU/Linux InstalaraplicacionesenGNU/Linuxsueleserbiensimple.Enestecapítuloveremosunaintroducciónalainstalaciónde programas;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 24 TutorialesGNU/Linux:hackingparaprincipiantes TutorialcomoinstalarprogramasenGNU/Linux EnestetutorialveremoscomopodemosinstalarprogramasenGNU/Linux Palabrasclaves:instalar,desinstalar,install,uninstall,apt-get,ppa,.deb,repositorio,sources.list. Lamayoríadelasveces,losprogramasquequeremosinstalarseencuentranenlosrepositoriosdeladistribución GNU/Linuxqueestamosusando.Esimportante,siempreantesdeinstalarlos,actualizarlalistadeprogramasdelos repositoriosabriendounterminalyescribiendo: sudoapt-getupdate Paraactualizarlosprogramasinstalados: sudoapt-getupgrade Parainstalarunprogramaescribimos: sudoapt-getinstallnombre_del_programa Paraejecutarlounavezinstalado,escribimosenlalíneadecomando: nombre_del_programa SielprogramanoestáenlosrepositoriosyesunPPA(personalpackagearchive),primerotenemosqueagregarlafuente delarchivoanuestralistadeprogramas: sudo-add-apt-repositoryppa:programador/nombre_del_programa_ppa Luegoactualizamoslalistayloinstalamos: sudoapt-getupdate sudoapt-getinstallnombre_del_programa_ppa Paraeditarlalistadeprogramasdirectamente: sudovim/etc/apt/sources.list Paradesinstalarunprograma: sudoapt-getremovenombre_del_programa TutorialcomoinstalarprogramasenGNU/Linux 25 TutorialesGNU/Linux:hackingparaprincipiantes 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 26 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialcomoinstalarprogramasdesdeelcódigofuente enGNU/Linux Sibienlamayoríadelasvecesquequeremosinstalarunprogramaloencontramosenlosrepositoriosdeladistribución GNU/Linuxqueestamosusando,sepuededarelcasodetenerqueinstalarloconelcódigofuentedelmismo.Eneste tutorialveremoscó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: sudochmod+xconfigure Másinformaciónen:http://ubuntuguide.org/wiki/Ubuntu_Trusty_Packages_and_Repositories(idiomainglés) TutorialcomoinstalarprogramasdesdeelcódigofuenteenGNU/Linux 27 TutorialesGNU/Linux:hackingparaprincipiantes TutorialinstalaryconfigurarGitenGNU/Linux EnestetutorialveremoscómoinstalaryconfigurarGit,unsistemadecontroldeversionesdistribuido(CVS),creadopor LinusTorvaldsparaeldesarrollodelkernelLinux. Palabrasclaves:Git,CVS. Primeroabrimosunterminalyactualizamoslalistadepaquetes: sudoapt-getupdate sudoapt-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] RecibiremosunmensajediciendoqueautenticamosnuestracuentaperoqueGitnoproveeaccesoshell. UnsencillotutorialparasabercomousarGitloencontrareisen:https://github.com/fortinux/ejemplos-git Másinformaciónen:https://help.ubuntu.com/lts/serverguide/git.html(idiomainglés) TutorialinstalaryconfigurarGitenGNU/Linux 28 TutorialesGNU/Linux:hackingparaprincipiantes TutorialinstalarLXCenGNU/Linux ElobjetivodeLXC(LinuxContainers)escrearunambientelomáspróximoposibleaunainstalaciónestándarde GNU/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 Parapararelcontainerdesdefueradelmismo: lxc-stop-ntest-container TutorialinstalarLXCenGNU/Linux 29 TutorialesGNU/Linux:hackingparaprincipiantes 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 30 TutorialesGNU/Linux:hackingparaprincipiantes TutorialinstalarVagrantparausarambientesvirtualesen GNU/Linux EnestetutorialveremoscomoinstalaryusarVagrant,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),vamosacrearnuestraprimera máquinavirtualUbuntu14.04.Primerocreamosundirectorioparaellaynosmovemosallí: mkdirvagrant-ubuntu cdvagrant-ubuntu Creamoselarchivodeconfiguracióndevagrant: vagrantinit Editamoslalíneaconfig.vm.box="base"porconfig.vm.box="ubuntu/trusty64"deesearchivo,denominadoVagrantfile paraqueVagrantbusqueelboxdeUbuntu14.04quedescargamosanteriormente: sudovimVagrantfile Ahorainiciamoslamáquinavirtual: vagrantup TutorialinstalarVagrantparausarambientesvirtualesenGNU/Linux 31 TutorialesGNU/Linux:hackingparaprincipiantes 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 32 TutorialesGNU/Linux:hackingparaprincipiantes TutorialinstalarservidorLAMPenGNU/Linux EnestetutorialveremoscomopodemosusarTaskselparainstalarApacheserver,MySQLePHPenGNU/LinuxUbuntuo Debian Palabrasclaves:tasksel,meta-paquetes,LAMP,servidor,server. Taskselesunaherramientaqueinstalavariasaplicacionesjuntas,similaralosmeta-paquetes. Abrimosunterminalyescribimos: sudoapt-getinstalltasksel Ejecutamostasksel: sudotasksel EnlaventanaseleccionamosLAMPserverutilizandolabarraespaciadorayaceptamos.Cuandocomienzeainstalar MySQLpediráunaclave,inventamosunaylaintroducimos. Unavezfinalizadalainstalación,abrimoselnavegadoryescribimoshttp://127.0.0.1óhttp://localhost.Apareceráel mensaje"itworks"delservidorApache. TutorialinstalarservidorLAMPenGNU/Linux 33 TutorialesGNU/Linux:hackingparaprincipiantes TutorialinstalarAtomemGNU/Linux EnestetutorialveremoscómoinstalarAtomenGNU/Linux. Palabrasclaves:atom,editordetexto,build-essential,git,curl,node,nodejs. Atomeseleditordetexto"hackeable"deGitHub,totalmentebasadoentecnologíasweb. Parapoderinstalarlocomenzamosconlasdependenciasbásicas: sudoapt-getupdate sudoapt-getupgrade sudoapt-getinstallbuild-essentialgitlibgnome-keyring-devfakeroot Tambiéninstalaremosnode.jsyaqueAtomdependedeesteentornodeprogramaciónenjavascript: curl-sLhttps://deb.nodesource.com/setup|sudobashsudoapt-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: cdatom gitfetch-p gitcheckout$(gitdescribe--tags`gitrev-list--tags--max-count=1`) ConstruimosAtom: script/build AhorayapodemosejecutarAtom.Otraopciónescrearunarchivoejecutable.deb,lohacemosconelsiguientecomando: script/gruntmkdeb TutorialinstalarAtomemGNU/Linux 34 TutorialesGNU/Linux:hackingparaprincipiantes Másinformaciónen: http://nodejs.org/(idiomainglés) https://atom.io/(idiomainglés) TutorialinstalarAtomemGNU/Linux 35 TutorialesGNU/Linux:hackingparaprincipiantes TutorialinstalarBracketsenGNU/Linuxparadesarrollo web EnestetutorialveremoscómoinstalaryconfigurarBrackets,uneditordetextosdefuenteabierta(opensource) desarrolladoporAdobeorientadoalaprogramaciónweb.ConélsepuedeeditarHTML,CSSyjavascript,entreotros lenguajesutilizadosenlaweb. 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 36 TutorialesGNU/Linux:hackingparaprincipiantes 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,convertirvideo aaudio,videoamp3,imagenQR,qrencode,pngquant,trimage,comprimirimágenes,pdftk,editarpdf,tmux,múltiples consolas,terminalmultiplexer,compartirsesiones,sshcontmux,byobu. UsaraplicacionesenGNU/Linux 37 TutorialesGNU/Linux:hackingparaprincipiantes TutorialbásicoVim EnestetutorialveremoscomopodemosusarelfamosoeditorVimenGNU/Linuxparaeditarunarchivo Nota:Esteesuntutorialmuybásico.Enlasreferenciasencontrareisinteresantesenlacesparaprofundizarvuestros conocimientos 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)quesirveparanavegarpor eltexto. Entoncesparasalirapretamoslateclaescapeyparamovernosdentrodeldocumentousamoslasteclas: k hl j Estonospermitesubir,iralaizquierda,iraladerechaybajarrespectivamentedentrodeldocumento. Finalmenteparasalirguardandoloscambiosescribimos: :wq! wesdeescribir(writeeninglés)qessalir(quiteninglés)yconesaordenledijimosaVimdeguardarloscambiosysalir. Parasalirsinguardarloscambios: :q! Ahorasisabeisinglésossugieroquehagaisunexcelentetutorialinteractivoqueencontrareisen: http://www.openvim.com/tutorial.html/(idiomainglés) TutorialbásicoVim 38 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialconvertirpáginaswebapdf CutyCaptesunautilidaddelíneadecomandoquecapturaunapáginawebylaconvierteaunaimagenodocumentocon formatodearchivoSVG,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 39 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialinstalaryusaryoutube-dlparabajarmusica youtube-dlesunapequeñaaplicacióndelíneadecomandoquesirveparabajarvideosdeYouTube.comydealgunos otrossitios. Palabrasclaves:youtube-dl,convertirvideoaaudio,videoamp3. Primeroinstalamosdependenciasparaconvertirvideoamp3: sudoapt-getinstall-ylibav-tools sudoapt-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 40 TutorialesGNU/Linux:hackingparaprincipiantes TutorialcrearimágenesQRdepáginasweben GNU/Linuxconqrencode QrencodeesunautilidadquepermitegenerarimagenesQRdeunapáginaweb Palabrasclaves:qrencode,crearimagenQR. Primeramentevamosainstalarlautilidadylosejemplosdeayuda: aptitudeinstallqrencode apt-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,luegoabrimoslaconsolay escribimoslasiguientelineadecodigo: libdecodeqr-simpletestfortinux-qr.png Másinformaciónen:http://manpages.ubuntu.com/manpages/trusty/man1/qrencode.1.html(idiomainglés) TutorialcrearimágenesQRdepáginaswebenGNU/Linuxconqrencode 41 TutorialesGNU/Linux:hackingparaprincipiantes TutorialusarPngquantenLinux Enestetutorialaprenderemosausarpngquantparareducireltamañodeimágenes.pngenLinux.Especialmenteútilpara diseñadores/programadoresqueprecisanoptimizarimágenesparaunsitiowebojuegodePlayStation. Palabrasclaves:pngquant,reducirtamañoimagen,diseñoweb,webdesign,sitioweb. Loprimeroserádescargarelutilitariodesdehttp://www.pngquant.org/releases.html.Abrimosunterminal,vamosal directoriodondeestáelarchivoyescribimosnuestroprimercomando: sudodpkg-ipngquant_version_del_archivo.deb Estecomandocrearáundirectorio“pornel-pngquant-version_del_archivo”.Vamosdentrodelmismoyescribimospara instalarelutilitario: sudomakeinstall Unavezinstalado,parausarlohayqueiraldirectoriodondeestálaimagenyescribir: pngquantnombre_de_la_imagen.png Sidentrodeldirectoriohayvariasimágenespodemosutilizar: pngquant*.png Pngquantcrearálosarchivosoptimizadosconlaterminacióndelnombredeellos“-fs8.png”,dejandolosoriginales intactos. Paravermásopciones,podeisvisitar:http://www.pngquant.org(idiomainglés)ólapáginaweb: http://www.github.com/pornel/pngquant(idiomainglés) TutorialusarPngquantenLinux 42 TutorialesGNU/Linux:hackingparaprincipiantes CompresordeimágenesTrimage UnaherramientamultiplataformaparaoptimizararchivosPNGyJPG. Inspiradaen“imageoptim”:http://imageoptim.pornel.net/,Trimageesunaherramientamultiplataformaqueoptimiza archivosPNGyJPGutilizandoparaellolosutilitarios“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 43 TutorialesGNU/Linux:hackingparaprincipiantes TutorialextraerpáginasdearchivospdfconPDFTKen Linux PDFTK(PDFToolkit)esunaaplicaciónmuysimplequepermitemanipulararchivosconextensiónpdf.Paravertodaslas posibilidadesdelprogramaospasoelsitioweboficial: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,parasercolocadasenun nuevoarchivollamadosalida.pdf. Siporejemploqueremosextraerpáginasde2archivos: pdftkA=archivo1.pdfB=archivo2.pdfcatA52-57B1outputsalida.pdf Con‘catA52-57B1′indicamosquequeremosextraerdesdelapágina52alapágina57inclusivedelarchivo1.pdf,yla página1delarchivo2.pdf,queseráncolocadasenelnuevoarchivosalida.pdf. TutorialextraerpáginasdearchivospdfconPDFTKenLinux 44 TutorialesGNU/Linux:hackingparaprincipiantes TutorialuniendoarchivospdfconPDFTKenLinux EnestetutorialveremoscomounirvariosarchivospdfenunosolousandoPDFTK(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*.pdfoutput salida.pdf). TutorialuniendoarchivospdfconPDFTKenLinux 45 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialabrirmúltiplesconsolasenunasolaventanacon TmuxenGNU/Linux Enestetutorialveremoscomousarunmultiplexadordeconsolasparatrabajarconvariasaplicacionessimultáneamente enunasolaconsolaGNU/Linux Palabrasclaves:tmux,multiplexadordeconsolas,terminalmultiplexer. TmuxTerminalMultiplexeresunprogramaquepermitetrabajarconvariosprogramasenunasolaventana,ocambiarlosa otraventanasinpararlos. ParainstalarTmux: sudoapt-getinstalltmux CuandoTmuxiniciacreaunanuevasesiónconunasolaventanaylamuestraenlapantalla.Laparteinferiordelamisma sirveparainformaciónyparaingresarórdenes. Abrimosunterminalyescribimos: tmux Enlaventanaquesenosabreyapodemoscomenzarausarelprogramausandolateclactrl+byluegolateclade combinación.Paraabrirunaventana: ctrl+bc Parairalaventanaanterior: ctrl+bp Parairalasiguienteventana: ctrl+bn Listarlasventanasparapoderseleccionarunadeellas: ctrl+bw Renombraventana: ctrl+b, Paradividirlaventanaendospaneles: TutorialabrirmúltiplesconsolasenunasolaventanaconTmuxenGNU/Linux 46 TutorialesGNU/Linux:hackingparaprincipiantes 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 47 TutorialesGNU/Linux:hackingparaprincipiantes TutorialcompartirsesionesSSHconTmuxenGNU/Linux Enestetutorialveremoscomo,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ón paracompartirllamada'compartiendo': tmuxnew-session-scompartiendo Enelordenador'dos'seguimoslospasosanterioresparaconectarnosalservidor,ycuandoyaestamoslogueadosenla terminaldelservidorverificamoslassesionesdeTmuxabiertascon: tmuxlist-sessions nosaparecerálasesión'compartiendo'creadaporelusuario'uno'.paraconectarnosaellaescribimos: tmuxattach-tcompartiendo Ahoratendremosalosdosusuarioscompartiendolamismasesión. Finalmenteparasalirdelasesiónusamoslacombinacióndeteclas: ctrl+bd TutorialcompartirsesionesSSHconTmuxenGNU/Linux 48 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialabrirmúltiplesconsolasenunasolaventanacon ByobuenGNU/Linux Enestetutorialveremoscomousarunmultiplexadordeconsolasparatrabajarconvariasaplicacionessimultáneamente enunasolaconsolaGNU/Linux Palabrasclaves:byobu,multiplexadordeconsolas,terminalmultiplexer. ByobuTerminalMultiplexeresunprogramaquepermitetrabajarconvariosprogramasenunasolaventana,ocambiarlos aotraventanasindetenerlos. ParainstalarByobu: sudoapt-getinstallbyobu CuandoByobuiniciacreaunanuevasesiónconunasolaventanaylamuestraenlapantalla.Laparteinferiordelamisma sirveparainformaciónyparaingresarórdenes. Abrimosunterminalyescribimos: byobu Enlaventanaquesenosabreyapodemoscomenzarausarelprogramaabriendoporejemplolaayudausandolatecla *shift+F1: shift+F1 ParaabrirunanuevaventanaapretamoslateclaF2: F2 Paracambiarentrelasventanasabiertastenemoscuatroopciones: F3F4alt+FlechaIzquierdaalt+FlechaDerecha Paradividirlaventanaendospaneleshorizontales: shift+F2 Paradividirenpanelesverticales: ctrl+F2 Paracambiarentresesiones: TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux 49 TutorialesGNU/Linux:hackingparaprincipiantes alt+FlechaArribaalt+FlechaAbajo Paracambiarentrepaneles: shift+F3shift+F4 shift+FlechaIzquierdashift+FlechaDerecha shift+FlechaArribashift+FlechaAbajo Paramoverelpanel: Ctrl+F3Ctrl+F4 Paramoverlaventana: Ctrl+Shift+F3Ctrl+Shift+F4 Paraaumentarodisminuireltamañodelospaneles: shift+alt+FlechaIzquierda shift+alt+FlechaDerecha shift+alt+FlechaArriba shift+alt+FlechaAbajo Paraconfigurarlabarradeestadoenlaparteinferiordelaventana: F9 Paracerrarelpanel: ctrl+F6 Másinformaciónen:http://byobu.co/(idiomainglés) TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux 50 TutorialesGNU/Linux:hackingparaprincipiantes 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 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,editar particiones,swap,montarparticiones,mount,NTFS,NFS,compartirdirectorioenred,servidor,cliente,ifconfig,configurar usuario,usermod,userdel,groupadd,groupdel,cambiarpermisos,atributosdearchivo,chmod,chown,chattr,lsattr,attr, extendedfileattributes. AdministrarGNU/Linux 51 TutorialesGNU/Linux:hackingparaprincipiantes TutorialquéesrootycomousarloenGNU/Linux EnestetutorialveremosparaquésirvelacuentaderootenGNU/Linuxycómousarla Palabrasclaves:root,sudo,su,administrador,sudoers,gksudo. ElusuariorootdeunsistemaoperacionalGNU/Linuxeseladministradordelmismo.Éltienelospermisosnecesariospara realizarcualquiertipodetarea. Losusuarioscomunesencambio,notienenpermisosparainstalarprogramasoescribirenlosdirectoriosdesistema.Por lotanto,pararealizarcualquieracciónquenecesitepermisosderoot,debenusarsudoósu. Siqueremosconvertirnosenadministradoresdelsistema(root)escribimos: su Nospidelaclavederoot,laescribimosyyasomosroot. Siqueremoscambiardeusuario: sunombre_de_usuario Yescribimoslaclavedelusuario. Paradejardeserroot: exit sudoencambio,sirveparaejecutaruncomandocomorootsindejardeserunusuariocomún.Lousamosporejemplo parainstalarelprogramaGimp: sudoapt-getinstallgimp Nospidelaclavederoot,laescribimosyyatenemospermisoparainstalarelprograma. Importante:Sielusuariodeunprogramanoestádentrodelgruposudoersnovaapoderusarsudo.Paraagregarloal grupo: sudoaddusernombre_de_usuariosudo Paracambiarlaclavederootescribimos: sudopasswdroot EnUbuntu,tenemostambiénunambientegráficoespecialcompermisosderoot: TutorialquéesrootycomousarloenGNU/Linux 52 TutorialesGNU/Linux:hackingparaprincipiantes gksudonautilus Nospedirálaclavederootynosabriráunaventanaeneldirectoriodeladministradorroot.Desdeallípodremosnavegar porlosdirectoriosdelsistemacomoadministradores. Másinformaciónen:http://www.howtogeek.com/111479/htg-explains-whats-the-difference-between-sudo-su/(idioma inglés) TutorialquéesrootycomousarloenGNU/Linux 53 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialcomofuncionaelprocesodeinicioen GNU/Linux EnestetutorialveremoscomofuncionaelprocessodeiniciodeunsistemaoperativoGNU/Linux Palabrasclaves:BIOS,MBR,EFI,UEFI,sistemadeinicio,bootloader,kernel,grub,isolinux,RAM,initrd,initramfs, sbin/init,xwindow. ElprocesodearranquedeunordenadorempiezaenlaBIOSqueiniciaelhardwareatravésdeunfirmwareinstaladoen unchipEEPROM. EstechiphaceuntestllamadoPOSTaloscomponentesdelordenadorycargaenlamemoriaprincipalelsistemadeinicio (bootloader).Éste,queestáalojadoenelMBRoenlaparticiónEFI,escontroladoporelsistemaoperativo. GrubeisolinuxsonlossistemasdeiniciodeGNU/Linuxmásconocidosysedividenendospartes:laprimeraexaminala MBRparabuscarlaparticióndeinicioycargaelsistemadearranque(porejemploGrub)enlamemoriaRAM. Enlasegundaparte,grubcargaelkernelyunsistemadearchivosinicial(initrdoinitramfs)enlaRAM.Unavezqueel kernelhaconfiguradoelhardwareymontadoelsistemadearchivos,iniciaelprocesoinitlocalizadoen/sbin/initqueesel encargadodeiniciarlosdemásprocesosnecesarios(cambiaamodomultiusuario,iniciagetty)parafinalmentedejarel sistemaoperativolistoparausar. EnsistemasEFI/UEFIencambio,elfirmwareUEFIleesusistemadeiniciopropioparadeterminarqueprogramaUEFIva ainiciar. http://www.ibm.com/developerworks/library/l-linuxboot/index.html(idiomainglés) TutorialcomofuncionaelprocesodeinicioenGNU/Linux 54 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialcomofuncionanlosnivelesdeejecuciónen GNU/Linux EnestetutorialveremoscomofuncionanlosnivelesdeejecuciónenunsistemaoperativoGNU/Linux Palabrasclaves:LSB,nivelesdeejecución,runlevels,init. Aclaración:elLSB(LinuxStandardBase)establecequelossistemasoperativosGNU/Linuxfuncionancon7nivelesde ejecuciónperoéstosvaríanentrelasdistintasdistribuciones.Enestecaso,nosbasaremosenDebianGNU/Linux. Elprocesoiniteselencargadodeiniciarlosnivelesdeejecución(runlevels)delsistemaoperativo. Porejemplo,elnível0eseldeapagadodelordenador,elnível1esenmodomonousuario(root),delnivel2al5son multiusuarioconredysistemagrá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 55 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialgestionarprocesosenunsistemaoperativo GNU/Linux EnestetutorialveremoscomogestionarprocesosenunsistemaoperativoGNU/Linux Palabrasclaves:proceso,tarea,thread,ps,fg,bg. Unprocesoessimplementeunainstanciadeunaomástareas(threads)relacionadasqueseejecutanenelordenador. Tenemosprocesosinteractivostipobashofirefoxquedebenseriniciadosporelusuario,procesosenlote(batch)tipo updatedbquesonautomáticos,demonios(daemons)quefuncionansininterrupcióntipohttpdoxinetd,oprocesosdel kernel. Losprocesostienenprioridadquevade-20comolamásaltahasta19,lamásbaja,yunidentificadorllamadoPID. Parasaberqueprocesosseestánejecutandoahoraenformadetallada: ps-ef Conocerlosprocesosdeunusuario: ps-unombre_usuario Paraverdetodoslosusuarios: ps-aux Paraverlosprocesosentiemporeal: htop Paraponerunprocesoensegundoplano(bg),porejemplohtop: htop& Parapasareseprocesoaprimerplano: fghtop TutorialgestionarprocesosenunsistemaoperativoGNU/Linux 56 TutorialesGNU/Linux:hackingparaprincipiantes TutorialverprogramasinstaladosenGNU/Linux EnestetutorialaprenderemosaverquéprogramasysusversionestenemosinstaladosennuestroGNU/Linux Palabrasclaves:programas,dpkg,grep. Parasaberqueprogramasestáninstaladosescribimosenunterminal: dpkg--get-selections Silalistaesmuylarga,podemosbuscarsoloelprogramaquenecesitamos: dpkg--get-selections|greppython Yparasaberdondeestásituado: dpkg-Lphyton-apt TutorialverprogramasinstaladosenGNU/Linux 57 TutorialesGNU/Linux:hackingparaprincipiantes TutorialconfigurandounsistemaRAIDenGNU/Linux EnestetutorialveremoscomopodemosconfigurarunsistemaRAIDenGNU/Linux Palabrasclaves:RAID,discoduro,mdadm. UnsistemaRAIDesun"conjuntoredundantedediscosindependientes"(elsignificadodelatraduccióndelinglésRAID) quepermitealmacenardatosdeformadistribuidaenvariosdiscoscomosifueranunosolo. ParapodercrearunsistemaRAIDtenemosqueteneralmenosdosdiscosduros,siendoconvenientequeéstostenganla mismacapacidad. Paraconfigurardosdiscosduros(sdb1,sdc1)comoRAID0enGNU/Linuxvamosausarlaherramientamdadm.Para instalarla: 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: mdadm/dev/md0--fail/dev/sdb1--remove/dev/sdb1 SialgunavezqueremossabercomoestáconfiguradoelRAID: mdadm-E/dev/md0 Sialgunavezqueremoseditarlo,podemosusarelarchivodeconfiguración: TutorialconfigurandounsistemaRAIDenGNU/Linux 58 TutorialesGNU/Linux:hackingparaprincipiantes /etc/mdadm/mdadm.conf Másinformaciónenhttp://es.wikipedia.org/wiki/RAIDyenhttp://elpuig.xeill.net/Members/vcarceler/articulos/mdadm-unanueva-herramienta-para-la-gestion-de-raid-mediante-software-en-linux TutorialconfigurandounsistemaRAIDenGNU/Linux 59 TutorialesGNU/Linux:hackingparaprincipiantes TutorialcrearoeliminarparticionesenGNU/Linuxcon fdisk *Unaparticiónesunaseccióndeundiscorígidoqueestratadacomosifueraotrodiscoindependiente. Estopuedeserútilporejemploparadedicarunespacioúnicoparanuestrosarchivosimportantesoparacolocarlos archivosmultimedia. 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)yfinalmentewparaescribirlos cambios. Nota:OtraherramientamásnuevaeslasuiteGPTfdiskquepermitecrearhasta128particionesyeliminalarestricciónde discosmayoresde2TiBdelMBT. 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 60 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialcrearoeliminarunaparticiónswapen GNU/Linux Unaparticiónswapesunaparticiónqueactúacomomemoriadeintercambio,yseusacomosifueramemoriaRAM cuandoéstanoessuficiente.EnestetutorialveremoscomocrearlaenGNU/Linux. Palabrasclaves:particióndeintercambio,swap,discorígido,harddrive,GNU/Linux,sistemaoperativo. Elarchivoquetienelaconfiguracióndenuestrosdiscosrígidosyparticioneses/etc/fstab.Parasabersitenemosuna partició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 Alfinaldelarchivoagregamosestalíneaysalvamosloscambios: /mnt/512MiB.swapnoneswapsw00 Reiniciandoelsistemaoperativoveremosqueyacontamosconlanuevamemoriaswap. Paraeliminaresaparticiónswapabrimoselarchivofstab: TutorialcrearoeliminarunaparticiónswapenGNU/Linux 61 TutorialesGNU/Linux:hackingparaprincipiantes sudovim/etc/fstab Borramoslalínea/mnt/512MiB.swapnoneswapsw00ysalvamosloscambios.Porúltimoremovemoslaparticiónswap delsistemaoperativoyeliminamoselarchivo: sudoswapoff/mnt/512MiB.swap&&sudorm/mnt/512MiB.swap Másinformaciónen:https://help.ubuntu.com/community/SwapFaq(idiomainglés) TutorialcrearoeliminarunaparticiónswapenGNU/Linux 62 TutorialesGNU/Linux:hackingparaprincipiantes TutorialformatearparticionesenGNU/Linux Enestetutorialveremoscó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 63 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialmontarydesmontarunpendriveusben GNU/Linux Enestetutorialveremoscomomontarydesmontarcualquierdispositivoexterno(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éramosotro discoduro,éstesaldríacomosdbyenesecaso,nuestrousbseríasdc. Paramontareldispositivo: sudomount-tvfat/dev/sdb1/mnt/ Enestecasomontamoseldispositivosdb1eneldirectorio/mnt.Paraversiestácorrecto: df-l Finalmenteparadesmontarlo: sudoumount/dev/sdb1 TutorialmontarydesmontarunpendriveusbenGNU/Linux 64 TutorialesGNU/Linux:hackingparaprincipiantes TutorialMontarparticionesNTFSenGNU/LinuxUbuntu NTFSesunsistemadearchivosampliamenteutilizadoporlossistemasoperativosdeMicrosoft(TM)tipoXP,Vista,etc.En estetutorialveremoscomomontarparticionesNTFSenGNU/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 65 TutorialesGNU/Linux:hackingparaprincipiantes TutorialmontarparticionesNFSenunaredGNU/Linux NFS(networkfilesystem)esunsistemadearchivosdistribuidosquepermiteaccederennuestroordenadoraarchivos queestá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: rpcbind:ip-del-servidor Creamosundirectoriollamadodirectorio-redparamontarenéleldirectoriohomedelservidor: mkdirdirectorio-red Montamoseldirectoriocon: TutorialmontarparticionesNFSenunaredGNU/Linux 66 TutorialesGNU/Linux:hackingparaprincipiantes sudomountip-del-servidor:/home/home/usuario/directorio-red Vemossiestámontado: mount-tnfs Paraqueeldirectorio-redsemonteautomáticamentealiniciarelsistemaoperativo,abrimoselarchivo/etc/fstaby escribimosalfinallasiguientelí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 67 TutorialesGNU/Linux:hackingparaprincipiantes TutorialconfigurarlaredenGNU/Linux SitenemosproblemasconlaconexiónaInternet,podemosconfigurarlareddesdelalíneadecomandos,algoqueesmuy sencillodehacersiguiendoestospasos: NOTA:EnesteejemplopondrécomodirecciónIPdelRouter192.168.1.1,direccióndelordenador192.168.1.2ylos servidoresDNS8.8.8.8y8.8.4.4quesonlosdeGoogle®.AdaptarlosavuestraconexónaInternet. Abrimosunterminalyescribimos: sudogedit/etc/NetworkManager/nm-system-settings.conf Ospedirálacontraseñaderoot,laponeisyseosabreelarchivonm-system-settings.conf.Enéltenemosquemodificarla opciónmanageddetrueafalse.Guardamosloscambiosycerrramoselarchivo. Enlamismaterminalescribimos: sudogedit/etc/network/interfaces seosabreelarchivointerfaces,dondetendremosqueescribirlosiguiente: autoeth0 ifaceeth0inetstatic address192.168.1.2 netmask255.255.255.0 network192.168.1.0 broadcast192.168.1.255 gateway192.168.1.1 Guardamosloscambiosycerramoselarchivo.Ahoraenlaterminalescribimos: sudogedit/etc/resolv.conf Seosabreelarchivoresolv.confdondepondreislasdireccionesDNSdeGoogle: nameserver8.8.8.8 nameserver8.8.4.4 Finalmenteparaaplicartodosloscambiosreseteamoslaredescribiendoelsiguientecomandoenlaterminal: sudo/etc/init.d/networkingrestart TutorialconfigurarlaredenGNU/Linux 68 TutorialesGNU/Linux:hackingparaprincipiantes TutorialConfigurarImpresoraenunaredGNU/Linux EnestetutorialveremoscomoconfigurarunaimpresoraparaserusadaenunareddeordenadoresGNU/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: http://localhost:631/ En"Tareasdeadministración"nospedirálaclavederoot,luegovamosalaopciónañadirimpresoraycompletamoslos datosteniendoencuentaqueelnombredebersersolounapalabra,novarias. EnconexiónseleccionamosWindowsPrinterviaSamba.Siaúnnoapareceestaopciónseleccionamosippyhacemosclic ensiguiente,enlaurldeconexióncolocamos: TutorialConfigurarImpresoraenunaredGNU/Linux 69 TutorialesGNU/Linux:hackingparaprincipiantes 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 70 TutorialesGNU/Linux:hackingparaprincipiantes TutorialconfigurarusuariosenGNU/Linux Enestetutorialveremoscomocrear,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/,3archivos ocultosqueconfiguransusvariablesdeambiente:.bash_logout-.bash_profile-.bashrc,ycomodijimosanteriormenteun grupoconelnombredelusuario. 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: idnombre_usuario Paraagregarelusuarioalgrupodeusuariosusers: sudousermod--append--groupsusersnombre_usuario TutorialconfigurarusuariosenGNU/Linux 71 TutorialesGNU/Linux:hackingparaprincipiantes Paracambiarlaubicacióndeldirectoriohomealdirectoriotmpdenombre_usuario: usermod--home/tmpnombre_usuario Parabloquear(-L)/desbloquear(-U)lacuentadelusuario: usermod-Lnombre_usuario usermod-Unombre_usuario Paraeliminarelusuario: sudouserdel-rnombre_usuario TutorialconfigurarusuariosenGNU/Linux 72 TutorialesGNU/Linux:hackingparaprincipiantes TutorialconfigurargruposdeusuariosenGNU/Linux Enestetutorialveremoscomocreary/oeliminargruposdeusuariosenGNU/Linux Palabrasclaves:grupodeusuarios,groupadd,groupdel. Crearungrupodeusuariossirveparaqueesosusuariospuedantenerparámetrosdeseguridadydeaccesoespecíficos. Unejemplotípico:enunaempresatendríamoslosgrupos"marketing","administración","ventas"ect.cadaunoconacceso ypermisospersonalizados. 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 73 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialgestionarpermisosyatributosdearchivosen GNU/Linux Enestetutorialveremoscomopodemoscambiarpermisosdelectura,escritura,ejecuciónydepropietarioalosarchivos enGNU/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)escribir porelpropietariodelarchivo. Elsegundoterceto(rw-)sonlospermisosdelgrupodeusuariosyeltercero(r--)paraelrestodeusuarios.Elnúmeroque lesigueeslacantidaddeenlaces Laterceracolumnasonelnombredelusuarioydelgrupodeusuarios,lacuartacolumnaeseltamañodelarchivo,luego vienelafechadelaú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: chmod755Documentos Paraentendermejorelporquédelosnúmeros: 755 usuariogrupootros r+w+xr+xr+x 4+2+14+0+14+0+1 Encuantoalosusuarios,paracambiaralpropietariodeunarchivo: TutorialgestionarpermisosyatributosdearchivosenGNU/Linux 74 TutorialesGNU/Linux:hackingparaprincipiantes 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 75 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialgestionaratributosextendidosdearchivosen GNU/Linux EnestetutorialveremoscomopodemoseditarlosatributosextendidosdeunarchivoenGNU/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 76 TutorialesGNU/Linux:hackingparaprincipiantes 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-ROMsyDVDs dañados Palabrasclaves:df,free,lshw,lsmod,ifconfig,iwconfig,ps,top,chat,irc,xchat,help,type,man,whatis,info,eliminar kernelantiguo,purge,GPGerror,locale,configuracióndeidioma,kill,log,dmesg,tail,rsyslog,udev,resolverproblema, sistemadearchivos,filesystem,e2fsck,dosfsck,ntfs-3g,testdisk,GNUddrescue,foremost. ResolverproblemasenGNU/Linux 77 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialbuscandoinformacióndelsistemaoperativoen GNU/Linux Enestetutorialaprenderemosabuscarinformació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: iwconfig Paraverlosprocesosactivos: TutorialbuscandoinformacióndelsistemaoperativoenGNU/Linux 78 TutorialesGNU/Linux:hackingparaprincipiantes ps Paraverlosprocesosentiemporeal: top Parasalirapretamoslateclaq TutorialbuscandoinformacióndelsistemaoperativoenGNU/Linux 79 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialaprendiendoausarunprogramadechatpara pedirayudaenLinux MuchosmiembrosdelacomunidadLinuxgeneralmentesuelenestarenunsaladechatparaestarencontactoconsus colegasycuandopueden,ayudaralosnovatosaresolveralgúnproblema.Enestetutorialaprenderemosloscomandos básicosdechat.ComousamosLinux,sugierolaaplicaciónXChataunquepodeistambiénchateardesdeelnavegador utilizandolosservidoresdeFreenode,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áun nickname(nombredeusuario).Podemoselegircualquiernombreperosiyaestásiendousadodeberemoselegirotro.Si teconectashabitualmentealared,deberíasregistrartunombredeusuarioenunservidor,paraquelosdemásusuarios puedanidentificarteynadiepuedausurpartupersonalidad(lasinstruccioneseninglés: http://freenode.net/faq.shtml#nicksetup). Lasórdenesmáscomunesson: /nicknuevo_nombreCambiamosnuestronick. /join#ubuntu-esEntramosenuncanal. /serverirc.freenode.netNosconectamosaunared. /queryusuarioEntablamosunaconversaciónprivadaconunusuario. /part#canalSalimosdelcanal. /quit“mensajedesalida”Nosdesconectamosdeunaredenviandomensajedesalida. Basadoenhttp://www.wikipedia.org(idiomainglés) TutorialaprendiendoausarunprogramadechatparapedirayudaenLinux 80 TutorialesGNU/Linux:hackingparaprincipiantes TutorialbuscarayudaconlalíneadecomandosenLinux EsestetutorialaprenderemoscómobuscarayudayobtenerinformaciónutilizandolalíneadecomandoenLinux Comandos: type–Nosdicequecomandosevaaejecutar help–Exibeinformaciónsobreuncomandobuiltin(quepertenecealbash) man–Muestralapáginadelmanualdelcomando whatis–Exibeunabrevedescripcióndelcomando info–MuestralainformacióndelcomandoconlaayudadelproyectoGNU Comenzamos: Abrimosunterminalyescribimostype,nuestroprimercomando,quenosdicedóndeestaubicadodate: typedate datees/bin/date Ahoraprobamoslaayudadeuncomandodelbash: helphelp Algunosejecutablespermitenlaopción--helpparamostrarargumentosyopcionesdelosmismos,porejemplo: date--help Todocomandotienesu/spágina/sdelmanualdeayudaconargumentos,opcionesy,aveces,ejemplos.La/sinvocamos conmanyelnombredelcomando(parasalirtecleamosq): mandf Encuantoawhatis,nosdaunabrevedescripcióndeparaquésirveuncomando: whatiswhoami ParaverlainformacióndelproyectoGNUutilizamoselcomandoinfo: infouname Tip:Ladocumentacióndelosprogramassueleestaren/usr/share/docylapodemosverusandoelcomandolessparalos archivosdetexto,zlessparalosarchivoscomprimidosgzipyunnavegadorwebparalosarchivos.htlm TutorialbuscarayudaconlalíneadecomandosenLinux 81 TutorialesGNU/Linux:hackingparaprincipiantes TutorialeliminarkernelsantiguosenUbuntuoDebian Amedidaquevamosactualizandonuestrosistemaoperativovanquedandoinstaladaslasversionesantiguasdelkernel Linux.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 82 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialresolver"GPGerror"usandoapt-getupdateen GNU/Linux Enestetutorialveremoscomopodemossolucionarelerrordeclavepública(publickey)indisponibleenGNU/Linux cuandoqueremosactualizarelsistemaoperativoconsudoapt-getupdate Palabrasclaves:GPGerror,publickeynotavailable,actualizarsistemaoperativo,apt-getupdate,dpkg. Puedesucederquealintentaractualizarelsistemaoperativoconsudoapt-getupdatenosaparezcaesteerror: Readingpackagelists...DoneW:GPGerror:http://extras.ubuntu.compreciseRelease:Thefollowingsignaturescouldn't beverifiedbecausethepublickeyisnotavailable: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 83 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialresolverproblemadeconfiguracióndelidioma enGNU/Linux Enestetutorialveremoscomoresolverelproblemadeconfiguració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 84 TutorialesGNU/Linux:hackingparaprincipiantes TutorialcerrarprogramasbloqueadosenGNU/Linux EnestetutorialveremoscomopodemoscerrarprogramasqueestánbloqueadosenLinuxusandolautilidadkill Palabrasclaves:kill,cerrarprogramasbloqueados,GNU/Linux. Elmétodomásfácilparacerrarunprogramaesabrirunterminalyescribir: xkill ElpunterodelratónsetransformaráenunaXysimplementeclicandoenlaventanadelprogramabloqueadolocerrará. Otraformaesutilizandolautilidadkilldesdelalíneadecomandos.Paraelloprimerotenemosqueaveriguarel identificadordelprograma(PID)abriendounterminalyescribiendo: ps-e Enlalistaqueaparece,porejemplo,elprogramaFirefoxtieneelPID3192.Paracerrarloescribimos: kill-93192 Siqueremosencambiobuscarunprogramaespecífico,porejemploescribimos: ps-Cfirefox ComoconcualquierutilidadLinux,usandomankillvereislaayudadelamisma(teclaqparasalir) mankill TutorialcerrarprogramasbloqueadosenGNU/Linux 85 TutorialesGNU/Linux:hackingparaprincipiantes TutorialintroducciónaloslogsdelsistemaGNU/Linux Enestetutorialveremosquesonlosarchivoslogycómopodemosusarlos Palabrasclaves:log,rsyslog,dmesg,tail. LosarchivoslogregistranlasactividadesdelosprogramasyserviciosensistemasGNU/Linux.Ellossonherramientas fundamentalesalahoradeadministrary/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 86 TutorialesGNU/Linux:hackingparaprincipiantes TutorialusarloslogsdelsistemaGNU/Linuxpara descubrirerrores Enestetutorialveremoscuálessonlosarchivoslogquenospermitendescubrir,diagnosticaryresolverproblemasen GNU/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/paraguardassus archivoslog. TutorialusarloslogsdelsistemaGNU/Linuxparadescubrirerrores 87 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialresolverproblemasconsistemasdearchivosen GNU/Linux EnestetutorialveremoscomopodemosresolverproblemasconlossistemasdearchivosdañadosenGNU/Linux Palabrasclaves:sistemadearchivos,filesystem,resolverproblemas,e2fsck,dosfsck,ntfs-3g. Pararesolverproblemasenlossistemasdearchivoext2,ext3yext4tenemoslaherramientae2fsck.Parausarlaprimero desmontamoslapartició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 88 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialrecuperararchivoseinformacióndediscos duros,CD-ROMsyDVDsdañados Enestetutorialveremoscomopodemosrecuperarinformació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 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 89 TutorialesGNU/Linux:hackingparaprincipiantes SeguridadenGNU/Linux Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/Linux Tutorialhacercopiasderespaldo(backup)dediscosrígidosenGNU/Linux Tutorialconfiguraruncontafuegos(firewall)enGNU/Linux Tutorialexaminarsinuestroordenadorestásiendoinvadidoatravésdeun rootkit Tutorialdescubrirrootkits,backdoors,sniffersymalwareconRKHunteren GNU/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,capturarpaquetes red. SeguridadenGNU/Linux 90 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialrealizarcopiasderespaldo(backup)dearchivos enGNU/Linux Enestetutorialveremoscómopodemoshacercopiasderespaldo(backup)dearchivosusandorsyncenGNU/Linux Palabrasclaves:copiasderespaldo,copiasdeseguridad,backup,rsync,GRsync. RsyncesunaherramientaquesirveparasincronizararchivosydirectoriosenGNU/Linux,porloqueesmuyútilalahora dehacercopiasderespaldo.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áeneldirectoriodebackupamenosqueusemosla opció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: sudoapt-getinstallgrsync Másinformaciónenhttp://www.vicente-navarro.com/blog/2008/01/13/backups-con-rsync/ Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/Linux 91 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialhacercopiasderespaldo(backup)dediscos rígidosenGNU/Linux Enestetutorialveremoscomopodemoshacercopiasderespaldo(backupeninglés)deunapartición,undiscorígidoy/o denuestrosistemaoperativoGNU/Linuxcompleto Palabrasclaves:backup,copiasderespaldo,copiasdeseguridad,mount,sync,dd. Abrimosunterminalyverificamoscomoestáorganizadonuestrodiscorígido: mount Montamoseldiscorígidoquevamosausarparagrabarlacopiasdb: mount/media/sdb Sivamosahacerunacopiaderespaldodeundiscorígidooparticiónqueestánmontados,ejecutamossyncpara descargarlosdatosdelamemoriaRAMaldiscorí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 92 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialconfiguraruncontafuegos(firewall)en GNU/Linux EsestetutorialaprenderemoscómoconfigurarIPTABLES,elcomandoutilizadoporNETFILTER,cortafuegos predeterminadodeGNU/Linux Parasabersilotenemosinstalado,abrimosunterminalyescribimos: whereisiptables EstecomandonosdirásiIPTABLESestáinstaladoyeldirectoriodondereside.Paravercómoestáconfigurado escribimos: sudoiptables-L Sitenemosalgunareglayqueremosborrarlaparacomenzardesde0: sudoiptables-F AhoraconfiguramosIPTABLESescribiendoreglasquepermitentráficohaciaafueradenuestrared(usarInternet,correo electrónico,etc.)ybloqueaneltráficodesdeafuera(invasióndehackers,programasespías,etc.). Reglaparaaceptarlasconexionesentrantes: sudoiptables-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT Reglaparapermitirloopback(lo0)ybloqueartráficoa127/8: sudoiptables-AINPUT-ilo-jACCEPT sudoiptables-AINPUT!-ilo-d127.0.0.0/8-jREJECT Reglaparapermitirhacerping: sudoiptables-AINPUT-picmp-micmp--icmp-type8-jACCEPT Reglaparapermitirtráfico(Internetporejemplo)salirdenuestrared: sudoiptables-AOUTPUT-jACCEPT Reglapararechazarotrotipodeconexionesentrantes: sudoiptables-AINPUT-jREJECT sudoiptables-AFORWARD-jREJECT Tutorialconfiguraruncontafuegos(firewall)enGNU/Linux 93 TutorialesGNU/Linux:hackingparaprincipiantes Ahoratenemosquesalvarestasnuevasreglas,casocontrariocuandoapagamoselordenadoréstasseborran.Para salvarlasinstalamoselprogramaiptables-persistent: sudoapt-getupdate sudoapt-getinstalliptables-persistent Elprogramanospreguntarásiqueremossalvarlasreglasconfiguradasanteriormente.Aceptamosyfinalizamosla instalación. Másinformaciónen:AyudaUbuntu(idiomainglés)yen:Netfilter.org(idiomainglés) Tutorialconfiguraruncontafuegos(firewall)enGNU/Linux 94 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialexaminarsinuestroordenadorestásiendo invadidoatravésdeunrootkit Unrootkitesunprogramaoconjuntodeprogramasusadosporunintrusoparaaccederaunordenadorsinservisto.En estetutorialveremoscó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 95 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialdescubrirrootkits,backdoors,sniffersymalware conRKHunterenGNU/Linux RootkitHunterescaneanuestrosistemaoperativoenbuscaderootkits,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 96 TutorialesGNU/Linux:hackingparaprincipiantes TutorialmonitorearreddeInternetconntopen GNU/Linux NTOPesunaherramientademonitoreoygeneracióndereportesdeusoderedentiemporealparaGNU/Linux.Eneste tutorialveremoscomoinstalarlayusarla. Palabrasclaves:Ntop,monitoreored,ntopng. Parainstalarla: sudoapt-getinstallntop Seabriráunaventanapidiéndonoslaolasinterfacesderedamonitorar(sinolassabemospodemosusarifconfigperoen generalsoneth0siesporcableowlan0siesredinalámbrica)yunusuario/contraseña.Unavezcompletadalainstalación lainiciamos: ntop Ahorapodemosiralainterfazwebdelaherramientaabriendounnavegadorenelpuerto3000: http://IP_servidor:3000 Porotrolado,tenemostambiénNTOPNG,queeslasiguientegeneracióndeNTOPconunainterfazwebmásamigable. Másinformaciónenhttp://www.ntop.org/(idiomainglés) TutorialmonitorearreddeInternetconntopenGNU/Linux 97 TutorialesGNU/Linux:hackingparaprincipiantes TutorialescaneodepuertosconnmapenGNU/Linux NMAPesunaherramientadeescaneodepuertosygeneració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 98 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialusartcpdumpparaanalizarpaquetesdereden GNU/Linux Tcpdumpesunapoderosaherramientadelíneadecomandosutilizadaparacapturar,mediantelabibliotecalibpcap,el trá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 Másinformaciónen:http://www.tcpdump.org/(idiomainglés)yuntutorial:http://www.alexonlinux.com/tcpdump-fordummies(idiomainglés) TutorialusartcpdumpparaanalizarpaquetesderedenGNU/Linux 99 TutorialesGNU/Linux:hackingparaprincipiantes 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 100 TutorialesGNU/Linux:hackingparaprincipiantes Comocrearunscriptenlalíneadecomando(shell script) Unshellscriptesunarchivoquecontieneunaseriedecomandos.Unaopciónsumamenteútilalahoradeautomatizar tareasenGNU/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: ./contar_hasta_5.sh Resultado: 1 2 3 4 Comocrearunscriptenlalíneadecomando(shellscript) 101 TutorialesGNU/Linux:hackingparaprincipiantes 5 Contarhasta5. Comocrearunscriptenlalíneadecomando(shellscript) 102 TutorialesGNU/Linux:hackingparaprincipiantes Tutorialbásicocrontab EnestetutorialveremoscomopodemoscrearyagendarunatareaenGNU/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áqueelcomandoseejecute cadasemana. Ejemplo:Paraejecutarelcomando/usr/bin/ejemplo1alas10:30a.m.cadadiaescribimos: 2910***/usr/bin/ejemplo Siquereisespecificarmultipleshorários,tendreisquesepararporcomaslosvalores.Enesteejemploelcomandose ejecutarácada15minutos: 0,14,29,44****/usr/bin/ejemplo1 Unúltimoejemploseparandounrangodevaloresconunguión,vamosaejecutaramediodiatodoslosdíaspero solamenteenlosprimerosseismesesdelaño: 012*1-6*/usr/bin/ejemplo1 ejemplo1esunscriptpreviamentecreadoconlastareasquequeremosautomatizar,porejemplounacopiadeseguridad, unaactualizacióndelsistemaoperativo,etc. Paralosarchivoscrontabquenecesitandepermisosdeadministradordebemosusar: sudocrontab-e Másinformaciónen:http://crontab.org/(idiomainglés) Tutorialbásicocrontab 103 TutorialesGNU/Linux:hackingparaprincipiantes ComandosdeiniciodelsistemaoperativoGNU/Linux EnestetutorialveremosunaintroducciónaloscomandosejecutadoseneliniciodelsistemaoperativoGNU/Linux. Palabrasclaves:modificarconfiguraciónusuario,rc.local,profile. Cuandoelsistemaoperativoseinicia,tenemosarchivosqueejecutanlasórdenesbásicasdelsistema.Nosotrospodemos veromodificaresosarchivosparaadaptarlosanuestrosgustos.rc.localeselarchivoqueseejecutajustoluegodelinicio delsistema: cat/etc/init.d/rc.local profileseejecutaluegodeliniciodesesióndeusuário: cat/etc/profile Lasconfiguracionesparticularesdecadausuárioestánenelarchivo.profileeneldirectoriodelusuário,porej.: 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 #ifrunningbash if[-n"$BASH_VERSION"];then #include.bashrcifitexists if[-f"$HOME/.bashrc"];then ."$HOME/.bashrc" fi fi #setPATHsoitincludesuser'sprivatebinifitexists if[-d"$HOME/bin"];then PATH="$HOME/bin:$PATH" fi ComandosdeiniciodelsistemaoperativoGNU/Linux 104 TutorialesGNU/Linux:hackingparaprincipiantes VariablesdelsistemaGNU/Linux Enestetutorialveremosunaintroducciónalasvariablesdeambiente. Lasvariablesdeambientesoninformacionesquedefinenparámetrosnecesariosparaelfuncionamentodelsistema operativoydesusprogramas,porejemplo,eltipodeshellqueusaelusuário,sudirectorioprincipaloidioma. Palabrasclaves:variablesdelsistemaoperativo,variablesusuario,set,PATH,profile. Paraverlasvariablesescribimos: set UnavariableimportanteesPATH,éstainformaquedirectoriostienenarchivosejecutables.Paraverlosdirectoriosque estáncomoPATH: echo$PATH Unejemplo,siyoestoyeneldirectoriopruebasyquieroejecutarunarchivo,tendríaquecolocarlotemporalmenteenla variablePATH: PATH=$PATH:/pruebas Oeditaresavariablepermanentementedentrodelarchivo/etc/profile. VariablesdelsistemaGNU/Linux 105 TutorialesGNU/Linux:hackingparaprincipiantes TutorialAwkcomocomandoycomolenguajede programación EstetutorialesunabreveintroducciónalusodeawkcomocomandoycomolenguajedeprogramaciónenGNU/Linux Palabrasclaves:awk,script. Awknoessolounprogramautilitariosinotambiénunlenguajedeprogramación,loquelohaceútilalahoradecrear scriptstambién.Fuediseñadoparaextraerdatosporloqueaquíveremosalgunosejemplos. Veamoselprimero.Abrimosunterminalyescribimos: dpkg-l|awk'{print$2}'>instalados.txt Enestecasoawkcrearáunarchivollamadoinstalados.txtconunlistadodelasegundacolumnadelcomandodpkg-lque muestraelnombredelosprogramasinstaladosennuestroordenador. 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 Elmanualcompleto:http://www.gnu.org/software/gawk/manual/gawk.html(idiomainglés) TutorialAwkcomocomandoycomolenguajedeprogramación 106 TutorialesGNU/Linux:hackingparaprincipiantes Bibliografía Loslibroselectró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:PrenticeHallBrucePerens’OpenSourceSeries. KIRCH,O.(1999).GuíadeAdministracióndeRedesconLinux,(TraducciónProyectoLuCAShttp://es.tldp.org/). Bibliografía 107 TutorialesGNU/Linux:hackingparaprincipiantes AnexoA:Recursos Linuxformscrach(LFS):Unproyectoqueproveeinstruccionespasoapasoparacrearnuestrapropiaversión personalizadadeGNU/Linux.http://www.linuxfromscratch.org/index.html Explainshell.com:Nosmuestralaayudadecadacomandoquenosotrosescribimos.Sumamenteútilparaentenderlo queestamoshaciendo.http://explainshell.com/ Openvim.comUntutorialinteractivodeVim.Recomendable.http://www.openvim.com/ AnexoA:Recursos 108
© Copyright 2024